UNPKG

@convo-lang/convo-lang

Version:
47 lines (46 loc) 2.49 kB
import { ConvoCompletionCtx, ConvoCompletionService, ConvoModelInfo, FlatConvoConversationBase } from "@convo-lang/convo-lang"; import { SecretManager } from "@iyio/common"; import { ChatCompletion, ChatCompletionCreateParamsNonStreaming } from './open-ai/resources/chat'; export interface BaseOpenAiConvoCompletionServiceOptions { apiKey?: string; apiBaseUrl?: string; completionsEndpoint?: string; secretManager?: SecretManager; secretsName?: string; models: ConvoModelInfo[]; inputType: string; outputType: string; apiKeyHeader?: string; apiKeyHeaderValuePrefix?: string | null; headers?: Record<string, string>; updateRequest?: (requestBody: Record<string, any>, headers: Record<string, string | undefined>) => void; completeAsync?: (input: ChatCompletionCreateParamsNonStreaming, flat: FlatConvoConversationBase, apiKey: string | undefined, url: string) => Promise<ChatCompletion | undefined>; isFallback?: boolean; serviceId: string; /** Whether to log HTTP requests and responses for debugging purposes */ logRequests?: boolean; } export declare class BaseOpenAiConvoCompletionService implements ConvoCompletionService<ChatCompletionCreateParamsNonStreaming, ChatCompletion> { readonly serviceId: string; readonly inputType: string; readonly outputType: string; private readonly secretManager?; private readonly apiKey?; private readonly apiBaseUrl; private readonly completionsEndpoint; private readonly secretsName?; private readonly models; private readonly apiKeyHeader; private readonly apiKeyHeaderValuePrefix?; private readonly headers; private readonly isFallback; private readonly logRequests; private readonly updateRequest?; private readonly completeAsync?; constructor({ apiKey, secretManager, secretsName, apiBaseUrl, completionsEndpoint, inputType, outputType, models, isFallback, apiKeyHeader, apiKeyHeaderValuePrefix, headers, serviceId, logRequests, completeAsync, updateRequest, }: BaseOpenAiConvoCompletionServiceOptions); canComplete(model: string | undefined, flat: FlatConvoConversationBase): boolean; private clientPromises; private getApiClientAsync; completeConvoAsync(input: ChatCompletionCreateParamsNonStreaming, flat: FlatConvoConversationBase, ctx: ConvoCompletionCtx<ChatCompletionCreateParamsNonStreaming, ChatCompletion>): Promise<ChatCompletion>; getModelsAsync(): Promise<ConvoModelInfo[]>; }