UNPKG

@llumiverse/drivers

Version:

LLM driver implementations. Currently supported are: openai, huggingface, bedrock, replicate.

52 lines 2.52 kB
import { TokenCredential } from "@azure/identity"; import { AbstractDriver, AIModel, Completion, CompletionChunkObject, DriverOptions, EmbeddingsOptions, EmbeddingsResult, ExecutionOptions, Providers } from "@llumiverse/core"; import { AIProjectClient, ModelDeployment } from '@azure/ai-projects'; import type OpenAI from "openai"; import type { ChatRequestMessage } from "@azure-rest/ai-inference"; type ResponseInputItem = OpenAI.Responses.ResponseInputItem; export interface AzureFoundryDriverOptions extends DriverOptions { /** * The credentials to use to access Azure AI Foundry */ azureADTokenProvider?: TokenCredential; endpoint?: string; apiVersion?: string; } export interface AzureFoundryInferencePrompt { messages: ChatRequestMessage[]; } export interface AzureFoundryOpenAIPrompt { messages: ResponseInputItem[]; } export type AzureFoundryPrompt = AzureFoundryInferencePrompt | AzureFoundryOpenAIPrompt; export declare class AzureFoundryDriver extends AbstractDriver<AzureFoundryDriverOptions, ResponseInputItem[]> { service: AIProjectClient; readonly provider = Providers.azure_foundry; OPENAI_API_VERSION: string; INFERENCE_API_VERSION: string; constructor(opts: AzureFoundryDriverOptions); /** * Get default authentication for Azure AI Foundry API */ getDefaultAIFoundryAuth(): () => Promise<string>; isOpenAIDeployment(model: string): Promise<boolean>; protected canStream(_options: ExecutionOptions): Promise<boolean>; requestTextCompletion(prompt: ResponseInputItem[], options: ExecutionOptions): Promise<Completion>; requestTextCompletionStream(prompt: ResponseInputItem[], options: ExecutionOptions): Promise<AsyncIterable<CompletionChunkObject>>; private processStreamResponse; private extractDataFromResponse; private convertFinishReason; validateConnection(): Promise<boolean>; generateEmbeddings(options: EmbeddingsOptions): Promise<EmbeddingsResult>; generateTextEmbeddings(options: EmbeddingsOptions): Promise<EmbeddingsResult>; generateImageEmbeddings(options: EmbeddingsOptions): Promise<EmbeddingsResult>; listModels(): Promise<AIModel[]>; _listModels(filter?: (m: ModelDeployment) => boolean): Promise<AIModel[]>; } export declare function parseAzureFoundryModelId(compositeId: string): { deploymentName: string; baseModel: string; }; export declare function isCompositeModelId(modelId: string): boolean; export {}; //# sourceMappingURL=azure_foundry.d.ts.map