UNPKG

@llumiverse/drivers

Version:

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

53 lines 2.89 kB
import { AnthropicVertex } from "@anthropic-ai/vertex-sdk"; import { PredictionServiceClient, v1beta1 } from "@google-cloud/aiplatform"; import { Content, GoogleGenAI, Model } from "@google/genai"; import { AIModel, AbstractDriver, Completion, CompletionChunkObject, DriverOptions, EmbeddingsOptions, EmbeddingsResult, ExecutionOptions, ModelSearchPayload, PromptSegment } from "@llumiverse/core"; import { FetchClient } from "@vertesia/api-fetch-client"; import { GoogleAuth, GoogleAuthOptions } from "google-auth-library"; import { ImagenPrompt } from "./models/imagen.js"; export interface VertexAIDriverOptions extends DriverOptions { project: string; region: string; googleAuthOptions?: GoogleAuthOptions; } export interface GenerateContentPrompt { contents: Content[]; system?: Content; } export type VertexAIPrompt = ImagenPrompt | GenerateContentPrompt; export declare function trimModelName(model: string): string; export declare class VertexAIDriver extends AbstractDriver<VertexAIDriverOptions, VertexAIPrompt> { static PROVIDER: string; provider: string; aiplatform: v1beta1.ModelServiceClient | undefined; anthropicClient: AnthropicVertex | undefined; fetchClient: FetchClient | undefined; googleGenAI: GoogleGenAI | undefined; llamaClient: FetchClient & { region?: string; } | undefined; modelGarden: v1beta1.ModelGardenServiceClient | undefined; imagenClient: PredictionServiceClient | undefined; googleAuth: GoogleAuth<any>; private authClientPromise; constructor(options: VertexAIDriverOptions); private getAuthClient; getGoogleGenAIClient(region?: string): GoogleGenAI; getFetchClient(): FetchClient; getLLamaClient(region?: string): FetchClient; getAnthropicClient(region?: string): Promise<AnthropicVertex>; getAIPlatformClient(): Promise<v1beta1.ModelServiceClient>; getModelGardenClient(): Promise<v1beta1.ModelGardenServiceClient>; getImagenClient(): Promise<PredictionServiceClient>; validateResult(result: Completion, options: ExecutionOptions): void; protected canStream(options: ExecutionOptions): Promise<boolean>; createPrompt(segments: PromptSegment[], options: ExecutionOptions): Promise<VertexAIPrompt>; requestTextCompletion(prompt: VertexAIPrompt, options: ExecutionOptions): Promise<Completion>; requestTextCompletionStream(prompt: VertexAIPrompt, options: ExecutionOptions): Promise<AsyncIterable<CompletionChunkObject>>; requestImageGeneration(_prompt: ImagenPrompt, _options: ExecutionOptions): Promise<Completion>; getGenAIModelsArray(client: GoogleGenAI): Promise<Model[]>; listModels(_params?: ModelSearchPayload): Promise<AIModel<string>[]>; validateConnection(): Promise<boolean>; generateEmbeddings(options: EmbeddingsOptions): Promise<EmbeddingsResult>; } //# sourceMappingURL=index.d.ts.map