@llumiverse/drivers
Version:
LLM driver implementations. Currently supported are: openai, huggingface, bedrock, replicate.
51 lines • 2.75 kB
TypeScript
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