@anvia/gemini
v0.1.9
Published
Gemini provider adapter for Anvia.
Readme
@anvia/gemini
Gemini and Vertex AI provider adapter for Anvia.
Use this package when you want Anvia agents, extractors, pipelines, embeddings, image generation, or transcription to run on Google's Gemini APIs.
Installation
pnpm add @anvia/gemini @anvia/coreIn this monorepo, the package is available through the workspace:
pnpm --filter @anvia/gemini buildUsage
import { AgentBuilder } from "@anvia/core";
import { GeminiClient } from "@anvia/gemini";
const client = new GeminiClient({
apiKey,
});
const model = client.completionModel("gemini-2.5-flash");
const agent = new AgentBuilder("assistant", model)
.instructions("Answer clearly and concisely.")
.build();
const response = await agent.prompt("Summarize Anvia in one sentence.").send();
console.log(response.output);Vertex AI
Use Vertex AI by passing vertexai: true with a Google Cloud project and location:
import { GeminiClient } from "@anvia/gemini";
const client = new GeminiClient({
vertexai: true,
project: "my-gcp-project",
location: "us-central1",
});
const model = client.completionModel("gemini-2.5-flash");Embeddings
const embeddings = client.embeddingModel("gemini-embedding-001");
const vectors = await embeddings.embedTexts(["Anvia is a TypeScript AI runtime."]);Image Generation
imageGenerationModel() uses Gemini native image generation models such as Nano Banana.
Use imagenGenerationModel() when you specifically want Imagen.
import { GEMINI_2_5_FLASH_IMAGE, IMAGEN_4_GENERATE, GeminiClient } from "@anvia/gemini";
const client = new GeminiClient({ apiKey });
const nativeImageModel = client.imageGenerationModel(GEMINI_2_5_FLASH_IMAGE);
const imagenModel = client.imagenGenerationModel(IMAGEN_4_GENERATE);Exports
GeminiClientGeminiCompletionModelGeminiEmbeddingModelGeminiImageGenerationModelGeminiImagenGenerationModelGeminiTranscriptionModelGEMINI_2_5_FLASH_IMAGEGEMINI_3_PRO_IMAGE_PREVIEWIMAGEN_4_GENERATEgemini
Development
pnpm --filter @anvia/gemini typecheck
pnpm --filter @anvia/gemini test
pnpm --filter @anvia/gemini build