@convo-lang/convo-lang
Version:
The language of AI
54 lines (53 loc) • 2.45 kB
TypeScript
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;
}