UNPKG

@agenite/openai

Version:
42 lines (38 loc) 1.35 kB
import { BaseLLMConfig, ToolDefinition, BaseLLMProvider, BaseMessage, GenerateOptions, GenerateResponse, PartialReturn } from '@agenite/llm'; /** * Available GPT model versions */ type OpenAIModel = "gpt-4-turbo-preview" | "gpt-4-0125-preview" | "gpt-4-1106-preview" | "gpt-4" | "gpt-4-32k" | "gpt-3.5-turbo" | "gpt-3.5-turbo-16k"; /** * OpenAI-specific configuration options */ interface OpenAIConfig extends BaseLLMConfig { apiKey: string; model?: OpenAIModel; /** * Response format for completions */ responseFormat?: "text" | "json_object"; /** * Tool definitions in OpenAI format */ tools?: ToolDefinition[]; /** * Forces the model to use a specific tool */ forceTool?: string; /** * System prompt to be prepended to all messages */ systemPrompt?: string; } declare class OpenAIProvider extends BaseLLMProvider { private client; private model; readonly name = "OpenAI"; readonly version = "1.0"; constructor(config: OpenAIConfig); generate(input: string | BaseMessage[], options?: Partial<GenerateOptions>): Promise<GenerateResponse>; stream(input: string | BaseMessage[], options?: Partial<GenerateOptions>): AsyncGenerator<PartialReturn, GenerateResponse, unknown>; } export { type OpenAIConfig, type OpenAIModel, OpenAIProvider };