yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
service_factory.h
Go to the documentation of this file.
1#ifndef YAZE_CLI_SERVICE_AI_SERVICE_FACTORY_H_
2#define YAZE_CLI_SERVICE_AI_SERVICE_FACTORY_H_
3
4#include <memory>
5#include <string>
6
7#include "absl/status/statusor.h"
9
10namespace yaze {
11namespace cli {
12
14 // "auto" (try gemini→anthropic→openai→mock), "gemini", "anthropic",
15 // "openai", "ollama", or "mock".
16 std::string provider = "auto";
17 // Provider-specific model name.
18 std::string model;
19 // For Gemini.
20 std::string gemini_api_key;
21 // For OpenAI.
22 std::string openai_api_key;
23 // For Anthropic.
24 std::string anthropic_api_key;
25 // For Ollama.
26 std::string ollama_host = "http://localhost:11434";
27 // Enable debug logging.
28 bool verbose = false;
29};
30
31// Create AI service using command-line flags
32std::unique_ptr<AIService> CreateAIService();
33
34// Create AI service with explicit configuration
35std::unique_ptr<AIService> CreateAIService(const AIServiceConfig& config);
36absl::StatusOr<std::unique_ptr<AIService>> CreateAIServiceStrict(
37 const AIServiceConfig& config);
38
39} // namespace cli
40} // namespace yaze
41
42#endif // YAZE_CLI_SERVICE_AI_SERVICE_FACTORY_H_
std::unique_ptr< AIService > CreateAIService()
absl::StatusOr< std::unique_ptr< AIService > > CreateAIServiceStrict(const AIServiceConfig &config)