15 AIServiceConfig config;
16 config.provider =
"gemini";
17 config.model =
"gemini-1.5-flash";
21std::unique_ptr<AIService>
CreateAIService(
const AIServiceConfig& config) {
25 BrowserAIConfig browser_config;
26 browser_config.provider = config.provider.empty() ?
"gemini" : config.provider;
27 browser_config.model = config.model;
28 if (browser_config.model.empty()) {
29 browser_config.model =
30 (browser_config.provider ==
"openai") ?
"gpt-4o-mini"
33 if (browser_config.provider ==
"openai") {
34 browser_config.api_key = config.openai_api_key.empty()
35 ? config.gemini_api_key
36 : config.openai_api_key;
38 browser_config.api_key = config.gemini_api_key;
40 browser_config.verbose = config.verbose;
43 auto http_client = std::make_unique<net::EmscriptenHttpClient>();
46 std::unique_ptr<net::IHttpClient> http_client =
nullptr;
49 return std::make_unique<BrowserAIService>(browser_config, std::move(http_client));
53 const AIServiceConfig& config) {
std::unique_ptr< AIService > CreateAIService()
absl::StatusOr< std::unique_ptr< AIService > > CreateAIServiceStrict(const AIServiceConfig &config)