1#ifndef YAZE_SRC_CLI_OLLAMA_AI_SERVICE_H_
2#define YAZE_SRC_CLI_OLLAMA_AI_SERVICE_H_
8#include "absl/status/status.h"
9#include "absl/status/statusor.h"
10#include "absl/time/time.h"
13#ifdef YAZE_AI_RUNTIME_AVAILABLE
22 std::string
base_url =
"http://localhost:11434";
37#ifdef YAZE_AI_RUNTIME_AVAILABLE
43 struct OllamaModelDetails {
57 const std::string& prompt)
override;
59 const std::vector<agent::ChatMessage>& history)
override;
71 PromptBuilder prompt_builder_;
74 std::string BuildSystemPrompt();
77 absl::StatusOr<std::string> ParseOllamaResponse(
78 const std::string& json_response);
98 return absl::FailedPreconditionError(
"Ollama AI runtime is disabled");
101 const std::vector<agent::ChatMessage>&)
override {
102 return absl::FailedPreconditionError(
"Ollama AI runtime is disabled");
105 return absl::FailedPreconditionError(
"Ollama AI runtime is disabled");
108 return absl::FailedPreconditionError(
"Ollama AI runtime is disabled");
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
absl::StatusOr< std::vector< ModelInfo > > ListAvailableModels() override
absl::Status CheckAvailability()
std::string GetProviderName() const override
OllamaAIService(const OllamaConfig &)
absl::StatusOr< AgentResponse > GenerateResponse(const std::vector< agent::ChatMessage > &) override
void SetRomContext(Rom *) override
absl::StatusOr< AgentResponse > GenerateResponse(const std::string &) override
std::string parameter_size
std::string quantization_level
std::vector< std::string > favorite_models
bool use_enhanced_prompting
bool use_chat_completions
std::string system_prompt