UNPKG

@llumiverse/drivers

Version:

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

51 lines 2.75 kB
import { AIModel, AbstractDriver, Completion, CompletionChunk, DriverOptions, EmbeddingsResult, ExecutionOptions, ImageGeneration, ModelSearchPayload, PromptSegment } from "@llumiverse/core"; import { FetchClient } from "@vertesia/api-fetch-client"; import { GoogleAuth, GoogleAuthOptions } from "google-auth-library"; import { JSONClient } from "google-auth-library/build/src/auth/googleauth.js"; import { EmbeddingsOptions } from "@llumiverse/core"; import { v1beta1 } from "@google-cloud/aiplatform"; import { AnthropicVertex } from "@anthropic-ai/vertex-sdk"; import { ImagenPrompt } from "./models/imagen.js"; import { GoogleGenAI, Content, Tool } from "@google/genai"; export interface VertexAIDriverOptions extends DriverOptions { project: string; region: string; googleAuthOptions?: GoogleAuthOptions; } export interface GenerateContentPrompt { contents: Content[]; system?: string; tools?: Tool[]; } 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; authClient: JSONClient | GoogleAuth<JSONClient>; constructor(options: VertexAIDriverOptions); getGoogleGenAIClient(): GoogleGenAI; getFetchClient(): FetchClient; getLLamaClient(region?: string): FetchClient; getAnthropicClient(): AnthropicVertex; getAIPlatformClient(): v1beta1.ModelServiceClient; getModelGardenClient(): v1beta1.ModelGardenServiceClient; 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<any>>; requestTextCompletionStream(prompt: VertexAIPrompt, options: ExecutionOptions): Promise<AsyncIterable<CompletionChunk>>; requestImageGeneration(_prompt: ImagenPrompt, _options: ExecutionOptions): Promise<Completion<ImageGeneration>>; listModels(_params?: ModelSearchPayload): Promise<AIModel<string>[]>; validateConnection(): Promise<boolean>; generateEmbeddings(options: EmbeddingsOptions): Promise<EmbeddingsResult>; } //# sourceMappingURL=index.d.ts.map