Raseo.v0.4.0
Model Providers

Google Gemini Provider

Integration with Google Gemini models powered by @google/genai.

Google Gemini Provider

The GeminiProvider provides native support for Google Gemini models (e.g. gemini-3.5-flash, gemini-2.5-flash) powered by Google's official @google/genai SDK.


Import

import { GeminiProvider, createGeminiProvider } from "raseo-sdk/gemini";

Automatic Content Normalization

Gemini uses a unique contents schema with parts arrays and systemInstruction configurations.

raseo-sdk's GeminiMapper converts standard ChatMessage items into Gemini-compatible Content structures seamlessly, so your application code never needs vendor-specific formatting logic.


Non-Streaming Generation (generate)

import { GeminiProvider } from "raseo-sdk/gemini";

const provider = new GeminiProvider({
  apiKey: process.env.GEMINI_API_KEY!,
  model: "gemini-3.5-flash",
});

const response = await provider.generate({
  messages: [
    { role: "system", content: "You are an AI research assistant." },
    { role: "user", content: "Explain how attention mechanisms function in transformers." },
  ],
  temperature: 0.7,
  maxTokens: 400,
});

console.log(response.message.content);
console.log("Finish Reason:", response.finishReason);

Real-Time Streaming (stream)

const streamResult = await provider.stream({
  messages: [{ role: "user", content: "Write a poem about space exploration." }],
});

for await (const chunk of streamResult.textStream) {
  process.stdout.write(chunk);
}

const finalResponse = await streamResult.response;
console.log("\nToken Usage:", finalResponse.usage);

On this page