GoogleConfig.fromLLMConfig constructor

GoogleConfig.fromLLMConfig(
  1. LLMConfig config
)

Create GoogleConfig from unified LLMConfig

Implementation

factory GoogleConfig.fromLLMConfig(LLMConfig config) {
  return GoogleConfig(
    apiKey: config.apiKey!,
    baseUrl: config.baseUrl,
    model: config.model,
    maxTokens: config.maxTokens,
    temperature: config.temperature,
    systemPrompt: config.systemPrompt,
    timeout: config.timeout,

    topP: config.topP,
    topK: config.topK,
    tools: config.tools,
    toolChoice: config.toolChoice,
    // Google-specific extensions
    reasoningEffort: ReasoningEffort.fromString(
        config.getExtension<String>('reasoningEffort')),
    thinkingBudgetTokens: config.getExtension<int>('thinkingBudgetTokens'),
    includeThoughts: config.getExtension<bool>('includeThoughts'),
    enableImageGeneration: config.getExtension<bool>('enableImageGeneration'),
    responseModalities:
        config.getExtension<List<String>>('responseModalities'),
    safetySettings:
        config.getExtension<List<SafetySetting>>('safetySettings'),
    maxInlineDataSize:
        config.getExtension<int>('maxInlineDataSize') ?? 20 * 1024 * 1024,
    candidateCount: config.getExtension<int>('candidateCount'),
    stopSequences: config.getExtension<List<String>>('stopSequences'),
    // Embedding-specific extensions
    embeddingTaskType: config.getExtension<String>('embeddingTaskType'),
    embeddingTitle: config.getExtension<String>('embeddingTitle'),
    embeddingDimensions: config.getExtension<int>('embeddingDimensions'),
    originalConfig: config,
  );
}