@llumiverse/drivers
Version:
LLM driver implementations. Currently supported are: openai, huggingface, bedrock, replicate.
25 lines • 1.97 kB
TypeScript
import { AIModel, AbstractDriver, Completion, CompletionChunkObject, DataSource, DriverOptions, EmbeddingsOptions, EmbeddingsResult, ExecutionOptions, Providers, ToolUse, TrainingJob, TrainingOptions, TrainingPromptOptions } from "@llumiverse/core";
import OpenAI, { AzureOpenAI } from "openai";
import { ChatCompletionMessageParam } from "openai/resources/chat/completions";
export interface BaseOpenAIDriverOptions extends DriverOptions {
}
export declare abstract class BaseOpenAIDriver extends AbstractDriver<BaseOpenAIDriverOptions, ChatCompletionMessageParam[]> {
abstract provider: Providers.openai | Providers.azure_openai | "xai" | Providers.azure_foundry;
abstract service: OpenAI | AzureOpenAI;
constructor(opts: BaseOpenAIDriverOptions);
extractDataFromResponse(_options: ExecutionOptions, result: OpenAI.Chat.Completions.ChatCompletion): Completion;
requestTextCompletionStream(prompt: ChatCompletionMessageParam[], options: ExecutionOptions): Promise<AsyncIterable<CompletionChunkObject>>;
requestTextCompletion(prompt: ChatCompletionMessageParam[], options: ExecutionOptions): Promise<Completion>;
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;
//# sourceMappingURL=index.d.ts.map