@llumiverse/drivers
Version:
LLM driver implementations. Currently supported are: openai, huggingface, bedrock, replicate.
26 lines • 1.83 kB
TypeScript
import { AIModel, AbstractDriver, Completion, DataSource, DriverOptions, EmbeddingsOptions, EmbeddingsResult, ExecutionOptions, ToolUse, TrainingJob, TrainingOptions, TrainingPromptOptions } from "@llumiverse/core";
import OpenAI, { AzureOpenAI } from "openai";
type OpenAIMessageBlock = OpenAI.Chat.Completions.ChatCompletionMessageParam;
export interface BaseOpenAIDriverOptions extends DriverOptions {
}
export declare abstract class BaseOpenAIDriver extends AbstractDriver<BaseOpenAIDriverOptions, OpenAIMessageBlock[]> {
abstract provider: "azure_openai" | "openai" | "xai";
abstract service: OpenAI | AzureOpenAI;
constructor(opts: BaseOpenAIDriverOptions);
extractDataFromResponse(_options: ExecutionOptions, result: OpenAI.Chat.Completions.ChatCompletion): Completion;
requestTextCompletionStream(prompt: OpenAIMessageBlock[], options: ExecutionOptions): Promise<any>;
requestTextCompletion(prompt: OpenAIMessageBlock[], options: ExecutionOptions): Promise<any>;
protected canStream(_options: ExecutionOptions): Promise<boolean>;
createTrainingPrompt(options: TrainingPromptOptions): Promise<string>;
startTraining(dataset: DataSource, options: TrainingOptions): Promise<TrainingJob>;
cancelTraining(jobId: string): Promise<TrainingJob>;
getTrainingJob(jobId: string): Promise<TrainingJob>;
validateConnection(): Promise<boolean>;
listTrainableModels(): Promise<AIModel<string>[]>;
listModels(): Promise<AIModel[]>;
_listModels(filter?: (m: OpenAI.Models.Model) => boolean): Promise<AIModel[]>;
generateEmbeddings({ text, image, model }: EmbeddingsOptions): Promise<EmbeddingsResult>;
}
export declare function collectTools(toolCalls?: OpenAI.Chat.Completions.ChatCompletionMessageToolCall[]): ToolUse[] | undefined;
export {};
//# sourceMappingURL=index.d.ts.map