1#ifndef YAZE_SRC_CLI_SERVICE_AI_AI_SERVICE_H_
2#define YAZE_SRC_CLI_SERVICE_AI_AI_SERVICE_H_
8#include "absl/status/statusor.h"
29 const std::string& prompt) = 0;
33 const std::vector<agent::ChatMessage>& history) = 0;
37 return std::vector<ModelInfo>{};
49 const std::string& prompt)
override;
51 const std::vector<agent::ChatMessage>& history)
override;
56 std::vector<ModelInfo> models;
57 models.push_back({.name =
"mock-model",
58 .display_name =
"Mock Model",
60 .description =
"A mock model for testing",
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
virtual std::string GetProviderName() const =0
virtual ~AIService()=default
virtual absl::StatusOr< AgentResponse > GenerateResponse(const std::vector< agent::ChatMessage > &history)=0
virtual absl::StatusOr< AgentResponse > GenerateResponse(const std::string &prompt)=0
virtual absl::StatusOr< std::vector< ModelInfo > > ListAvailableModels()
virtual void SetRomContext(Rom *rom)
void SetRomContext(Rom *rom) override
absl::StatusOr< AgentResponse > GenerateResponse(const std::string &prompt) override
absl::StatusOr< std::vector< ModelInfo > > ListAvailableModels() override
std::string GetProviderName() const override