@flink-app/gemini-adapter
v2.0.0-alpha.73
Published
Google Gemini adapter for Flink AI framework
Downloads
183
Readme
@flink-app/gemini-adapter
Google Gemini adapter for the Flink AI framework.
Installation
npm install @flink-app/gemini-adapter @google/generative-aiUsage
import { GeminiAdapter } from "@flink-app/gemini-adapter";
import { FlinkApp } from "@flink-app/flink";
const app = new FlinkApp({
ai: {
llms: {
default: new GeminiAdapter({
apiKey: process.env.GOOGLE_AI_API_KEY!,
model: "gemini-2.0-flash",
}),
},
},
});Configuration
| Option | Type | Required | Description |
|---------|-----------|----------|--------------------------------------------------------------------|
| apiKey | string | Yes | Google AI API key |
| model | string | Yes | Gemini model name (e.g. "gemini-2.0-flash", "gemini-1.5-pro") |
| debug | boolean | No | Enable debug logging (default: false) |
Supported Models
gemini-2.0-flash— Fast, cost-effective (recommended default)gemini-1.5-pro— High capability, longer contextgemini-1.5-flash— Fast, balanced capabilitygemini-2.5-pro-preview-03-25— Latest preview model
Features
- ✅ Tool calling support
- ✅ Streaming responses (SSE / NDJSON)
- ✅ Alternating turn enforcement (consecutive same-role messages are merged)
- ✅ System instruction handling
- ✅ JSON Schema sanitization for Gemini compatibility
- ✅ Token usage tracking
- ✅ Debug logging
Using with FlinkAgent
import { FlinkAgent } from "@flink-app/flink";
import { GeminiAdapter } from "@flink-app/gemini-adapter";
export default class CarAgent extends FlinkAgent<AppContext> {
instructions = "You are a helpful car assistant.";
llm = new GeminiAdapter({
apiKey: process.env.GOOGLE_AI_API_KEY!,
model: "gemini-2.0-flash",
});
}License
MIT
