providers/google/google library
Modular Google Provider
This library provides a modular implementation of the Google provider
Key Benefits:
- Single Responsibility: Each module handles one capability
- Easier Testing: Modules can be tested independently
- Better Maintainability: Changes isolated to specific modules
- Cleaner Code: Smaller, focused classes
- Reusability: Modules can be reused across providers
Usage:
import 'package:llm_dart/providers/google/google.dart';
final provider = GoogleProvider(GoogleConfig(
apiKey: 'your-api-key',
model: 'gemini-1.5-flash',
));
// Use chat capability
final response = await provider.chat(messages);
Classes
- GoogleChat
- Google Chat capability implementation
- GoogleChatResponse
- Google chat response implementation
- GoogleClient
- Core Google HTTP client shared across all capability modules
- GoogleConfig
- Google (Gemini) provider configuration
- GoogleEmbeddings
- Google Embeddings capability implementation
- GoogleFile
- Google file upload response
- GoogleLLMBuilder
- Google-specific LLM builder with provider-specific configuration methods
- GoogleProvider
- Google provider implementation
- SafetySetting
- Google AI safety setting
Enums
- HarmBlockThreshold
- Google AI harm block thresholds
- HarmCategory
- Google AI harm categories
Functions
-
createGoogleChatProvider(
{required String apiKey, String model = 'gemini-1.5-flash', String? systemPrompt, double? temperature, int? maxTokens}) → GoogleProvider - Create a Google provider for chat
-
createGoogleEmbeddingProvider(
{required String apiKey, String model = 'text-embedding-004', String? embeddingTaskType, String? embeddingTitle, int? embeddingDimensions}) → GoogleProvider - Create a Google provider for embeddings
-
createGoogleImageGenerationProvider(
{required String apiKey, String model = 'gemini-1.5-pro', List< String> ? responseModalities}) → GoogleProvider - Create a Google provider for image generation
-
createGoogleProvider(
{required String apiKey, String? model, String? baseUrl, int? maxTokens, double? temperature, String? systemPrompt, Duration? timeout, bool? stream, double? topP, int? topK, ReasoningEffort? reasoningEffort, int? thinkingBudgetTokens, bool? includeThoughts, bool? enableImageGeneration, List< String> ? responseModalities, List<SafetySetting> ? safetySettings, int? maxInlineDataSize, int? candidateCount, List<String> ? stopSequences, String? embeddingTaskType, String? embeddingTitle, int? embeddingDimensions}) → GoogleProvider - Create a Google provider with default configuration
-
createGoogleReasoningProvider(
{required String apiKey, String model = 'gemini-2.0-flash-thinking-exp', String? systemPrompt, int? thinkingBudgetTokens, bool includeThoughts = true}) → GoogleProvider - Create a Google provider for reasoning tasks
-
createGoogleVisionProvider(
{required String apiKey, String model = 'gemini-1.5-pro', String? systemPrompt, double? temperature, int? maxTokens}) → GoogleProvider - Create a Google provider for vision tasks