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 std::string provider =
15 "auto"; // "auto" (try gemini→ollama→mock), "gemini", "ollama", or "mock"
16 std::string model; // Provider-specific model name
17 std::string gemini_api_key; // For Gemini
18 std::string openai_api_key; // For OpenAI
19 std::string ollama_host = "http://localhost:11434"; // For Ollama
20 bool verbose = false; // Enable debug logging
21};
22
23// Create AI service using command-line flags
24std::unique_ptr<AIService> CreateAIService();
25
26// Create AI service with explicit configuration
27std::unique_ptr<AIService> CreateAIService(const AIServiceConfig& config);
28absl::StatusOr<std::unique_ptr<AIService>> CreateAIServiceStrict(
29 const AIServiceConfig& config);
30
31} // namespace cli
32} // namespace yaze
33
34#endif // YAZE_CLI_SERVICE_AI_SERVICE_FACTORY_H_
std::unique_ptr< AIService > CreateAIService()
absl::StatusOr< std::unique_ptr< AIService > > CreateAIServiceStrict(const AIServiceConfig &config)