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