@convo-lang/convo-lang
Version:
A Conversational Language
50 lines (49 loc) • 2.38 kB
TypeScript
import { ConvoCompletionMessage, ConvoConversationConverter, ConvoModelInfo, FlatConvoConversation } from "@convo-lang/convo-lang";
import { ChatCompletion, ChatCompletionCreateParamsNonStreaming } from './open-ai/resources/chat';
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[];
/**
* Roles that will map to the function role
*/
functionRoles?: string[];
models: ConvoModelInfo[];
hasVision?: (modelName: string) => boolean;
transformInput?: (input: ChatCompletionCreateParamsNonStreaming) => ChatCompletionCreateParamsNonStreaming;
transformOutput?: (output: ChatCompletion) => ChatCompletion;
}
/**
* A conversation converter for OpenAI like APIs
*/
export declare class BaseOpenAiConvoConverter implements ConvoConversationConverter<ChatCompletionCreateParamsNonStreaming, 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 hasVision?: (modelName: string) => boolean;
readonly transformInput?: (input: ChatCompletionCreateParamsNonStreaming) => ChatCompletionCreateParamsNonStreaming;
readonly transformOutput?: (output: ChatCompletion) => ChatCompletion;
constructor({ chatModel, visionModel, supportedInputTypes, supportedOutputTypes, userRoles, assistantRoles, systemRoles, functionRoles, models, hasVision, transformInput, transformOutput, }: BaseOpenAiConvoConverterOptions);
convertOutputToConvo(output: ChatCompletion, outputType: string, input: ChatCompletionCreateParamsNonStreaming, inputType: string, flat: FlatConvoConversation): ConvoCompletionMessage[];
convertConvoToInput(flat: FlatConvoConversation, inputType: string): ChatCompletionCreateParamsNonStreaming;
private isKnownRole;
}