GeminiProvider
Category: LLM Providers
Source: gemini_provider.dart
Google Gemini provider: adapter + streaming generateContent client in one class.
Talks to the Gemini Developer API (generativelanguage.googleapis.com). Authentication is API-key only (GEMINI_API_KEY). Google-account login, Code Assist, and Vertex AI are intentionally out of scope here.
Classes
GeminiProvider
Adapter that talks to the Gemini Developer API with streaming.
Constructor
dart
GeminiProvider({
this.apiKey = '',
this.model = '',
this.systemPrompt = '',
String baseUrl = _defaultBaseUrl,
this._requestClientFactory,
})Properties
| Property | Type | Description |
|---|---|---|
apiKey | String | |
model | String | |
systemPrompt | String | |
adapterId | String get | |
adapterId | String get |
Methods
ProviderHealth validate(ResolvedProvider provider)
`LlmClient createClient({
required ResolvedProvider provider,
required ResolvedModel model,
required String systemPrompt,
})`
Stream<LlmChunk> stream(List<Message> messages, {List<Tool>? tools})
`static Stream<LlmChunk> parseStreamEvents(
Stream<Map<String, dynamic>> events,
)`
Parse Gemini SSE event payloads into [LlmChunk]s.
Exposed as static for testability — callers feed already-decoded JSON objects (one per SSE data: event).