@agenite/openai
Version:
OpenAI provider for Agenite
42 lines (38 loc) • 1.35 kB
TypeScript
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 };