createGoogleProvider function

GoogleProvider createGoogleProvider({
  1. required String apiKey,
  2. String? model,
  3. String? baseUrl,
  4. int? maxTokens,
  5. double? temperature,
  6. String? systemPrompt,
  7. Duration? timeout,
  8. bool? stream,
  9. double? topP,
  10. int? topK,
  11. ReasoningEffort? reasoningEffort,
  12. int? thinkingBudgetTokens,
  13. bool? includeThoughts,
  14. bool? enableImageGeneration,
  15. List<String>? responseModalities,
  16. List<SafetySetting>? safetySettings,
  17. int? maxInlineDataSize,
  18. int? candidateCount,
  19. List<String>? stopSequences,
  20. String? embeddingTaskType,
  21. String? embeddingTitle,
  22. int? embeddingDimensions,
})

Create a Google provider with default configuration

Implementation

GoogleProvider 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,
}) {
  final config = GoogleConfig(
    apiKey: apiKey,
    model: model ?? 'gemini-1.5-flash',
    baseUrl: baseUrl ?? 'https://generativelanguage.googleapis.com/v1beta/',
    maxTokens: maxTokens,
    temperature: temperature,
    systemPrompt: systemPrompt,
    timeout: timeout,
    stream: stream ?? false,
    topP: topP,
    topK: topK,
    reasoningEffort: reasoningEffort,
    thinkingBudgetTokens: thinkingBudgetTokens,
    includeThoughts: includeThoughts,
    enableImageGeneration: enableImageGeneration,
    responseModalities: responseModalities,
    safetySettings: safetySettings,
    maxInlineDataSize: maxInlineDataSize ?? 20 * 1024 * 1024,
    candidateCount: candidateCount,
    stopSequences: stopSequences,
    embeddingTaskType: embeddingTaskType,
    embeddingTitle: embeddingTitle,
    embeddingDimensions: embeddingDimensions,
  );

  return GoogleProvider(config);
}