()
| 127 | |
| 128 | # Load generator model configuration |
| 129 | def load_generator_config(): |
| 130 | generator_config = load_json_config("generator.json") |
| 131 | |
| 132 | # Add client classes to each provider |
| 133 | if "providers" in generator_config: |
| 134 | for provider_id, provider_config in generator_config["providers"].items(): |
| 135 | # Try to set client class from client_class |
| 136 | if provider_config.get("client_class") in CLIENT_CLASSES: |
| 137 | provider_config["model_client"] = CLIENT_CLASSES[provider_config["client_class"]] |
| 138 | # Fall back to default mapping based on provider_id |
| 139 | elif provider_id in ["google", "openai", "openrouter", "ollama", "bedrock", "azure", "dashscope", "litellm"]: |
| 140 | default_map = { |
| 141 | "google": GoogleGenAIClient, |
| 142 | "openai": OpenAIClient, |
| 143 | "litellm": LiteLLMClient, |
| 144 | "openrouter": OpenRouterClient, |
| 145 | "ollama": OllamaClient, |
| 146 | "bedrock": BedrockClient, |
| 147 | "azure": AzureAIClient, |
| 148 | "dashscope": DashscopeClient |
| 149 | } |
| 150 | provider_config["model_client"] = default_map[provider_id] |
| 151 | else: |
| 152 | logger.warning(f"Unknown provider or client class: {provider_id}") |
| 153 | |
| 154 | return generator_config |
| 155 | |
| 156 | # Load embedder configuration |
| 157 | def load_embedder_config(): |
no test coverage detected