UNPKG

@convo-lang/convo-lang

Version:
54 lines (53 loc) 2.45 kB
import { ChatCompletionRequest } from "./convo-openai-types.js"; import { ConvoCompletionMessage, ConvoConversationConverter, ConvoModelInfo, FlatConvoConversation } from "./convo-types.js"; import { ChatCompletion } from './open-ai/resources/chat/index.js'; export interface BaseOpenAiConvoConverterOptions { chatModel?: string; visionModel?: string; supportedInputTypes?: string[]; supportedOutputTypes?: string[]; /** * Roles that will map to the user role */ userRoles?: string[]; /** * Roles that will map to the assistant role */ assistantRoles?: string[]; /** * Roles that will map to the system role */ systemRoles?: string[]; includeModalities?: boolean; /** * Roles that will map to the function role */ functionRoles?: string[]; models?: ConvoModelInfo[]; hasVision?: (modelName: string) => boolean; transformInput?: (input: ChatCompletionRequest) => ChatCompletionRequest; transformOutput?: (output: ChatCompletion) => ChatCompletion; } /** * A conversation converter for OpenAI like APIs */ export declare class BaseOpenAiConvoConverter implements ConvoConversationConverter<ChatCompletionRequest, ChatCompletion> { readonly supportedInputTypes: string[]; readonly supportedOutputTypes: string[]; readonly userRoles: string[]; readonly assistantRoles: string[]; readonly systemRoles: string[]; readonly functionRoles: string[]; readonly chatModel?: string; readonly visionModel?: string; readonly models?: ConvoModelInfo[]; readonly includeModalities?: boolean; readonly hasVision?: (modelName: string) => boolean; readonly transformInput?: (input: ChatCompletionRequest) => ChatCompletionRequest; readonly transformOutput?: (output: ChatCompletion) => ChatCompletion; readonly getModelsAsync?: () => Promise<ConvoModelInfo[]>; constructor({ chatModel, visionModel, supportedInputTypes, supportedOutputTypes, userRoles, assistantRoles, systemRoles, functionRoles, models, hasVision, transformInput, transformOutput, includeModalities, }: BaseOpenAiConvoConverterOptions); convertOutputToConvo(output: ChatCompletion, outputType: string, input: ChatCompletionRequest, inputType: string, flat: FlatConvoConversation): ConvoCompletionMessage[]; convertConvoToInput(flat: FlatConvoConversation, inputType: string): ChatCompletionRequest; private isKnownRole; }