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→ollama→mock), "gemini",
15 // "anthropic", "openai", "ollama", or "mock".
16 // Aliases: "claude" => anthropic, "chatgpt"/"lmstudio" => openai.
17 std::string provider = "auto";
18 // Provider-specific model name.
19 std::string model;
20 // For Gemini.
21 std::string gemini_api_key;
22 // For OpenAI (and LMStudio/compatible APIs).
23 std::string openai_api_key;
24 std::string openai_base_url = "https://api.openai.com";
25 // For Anthropic.
26 std::string anthropic_api_key;
27 // For Ollama.
28 std::string ollama_host = "http://localhost:11434";
29 // Enable debug logging.
30 bool verbose = false;
31};
32
33// Create AI service using command-line flags
34std::unique_ptr<AIService> CreateAIService();
35
36// Create AI service with explicit configuration
37std::unique_ptr<AIService> CreateAIService(const AIServiceConfig& config);
38absl::StatusOr<std::unique_ptr<AIService>> CreateAIServiceStrict(
39 const AIServiceConfig& config);
40
41} // namespace cli
42} // namespace yaze
43
44#endif // YAZE_CLI_SERVICE_AI_SERVICE_FACTORY_H_
std::unique_ptr< AIService > CreateAIService()
absl::StatusOr< std::unique_ptr< AIService > > CreateAIServiceStrict(const AIServiceConfig &config)