11 std::string
id()
const {
return "-"; }
13 std::string
envname()
const {
return {}; }
17 std::string
id()
const {
return "openai"; }
19 std::string
envname()
const {
return "OPENAI_API_KEY"; }
23 std::string
id()
const {
return "anthropic"; }
24 std::string
description()
const {
return "Anthropic; Claude"; }
25 std::string
envname()
const {
return "ANTHROPIC_API_KEY"; }
29 std::string
id()
const {
return "google"; }
31 std::string
envname()
const {
return "GOOGLE_API_KEY"; }
35 std::string
id()
const {
return "deepseek"; }
37 std::string
envname()
const {
return "DEEPSEEK_API_KEY"; }
41 std::string
id()
const {
return "openrouter"; }
43 std::string
envname()
const {
return "OPENROUTER_API_KEY"; }
47 std::string
id()
const {
return "ollama"; }
48 std::string
description()
const {
return "Ollama (experimental)"; }
49 std::string
envname()
const {
return {}; }
123 return std::visit([](
auto const &p) {
return p.id(); }, provider);
128 return std::visit([](
auto const &p) {
return p.description(); }, provider);
133 return std::visit([](
auto const &p) {
return p.envname(); }, provider);
Definition: GenerativeAI.cpp:9
std::variant< Unknown, OpenAI, Anthropic, Google, DeepSeek, OpenRouter, Ollama > Provider
Definition: GenerativeAI.h:60
static std::string provider_description(Provider const &provider)
Definition: GenerativeAI.h:126
static std::vector< Provider > all_providers()
Definition: GenerativeAI.h:62
Request make_request(Provider const &provider, const Model &model, Credential const &cred)
Definition: GenerativeAI.cpp:175
static std::string env_name(Provider const &provider)
Definition: GenerativeAI.h:131
std::vector< Model > available_models()
Definition: GenerativeAI.cpp:11
static std::string provider_id(Provider const &provider)
Definition: GenerativeAI.h:121
Definition: GenerativeAI.h:22
std::string description() const
Definition: GenerativeAI.h:24
std::string id() const
Definition: GenerativeAI.h:23
std::string envname() const
Definition: GenerativeAI.h:25
Definition: GenerativeAI.h:75
std::string api_key
Definition: GenerativeAI.h:76
Definition: GenerativeAI.h:34
std::string description() const
Definition: GenerativeAI.h:36
std::string envname() const
Definition: GenerativeAI.h:37
std::string id() const
Definition: GenerativeAI.h:35
Definition: GenerativeAI.h:28
std::string envname() const
Definition: GenerativeAI.h:31
std::string description() const
Definition: GenerativeAI.h:30
std::string id() const
Definition: GenerativeAI.h:29
Definition: GenerativeAI.h:79
std::string port_
Definition: GenerativeAI.h:84
std::string model_name() const
Definition: GenerativeAI.h:96
static Model from_name(std::string const &name)
Definition: GenerativeAI.cpp:66
void operator=(std::string const &)=delete
std::string host() const
Definition: GenerativeAI.h:101
static std::string default_model()
Definition: GenerativeAI.cpp:27
std::string long_name() const
Definition: GenerativeAI.h:91
void parse_model(std::string const &name)
Definition: GenerativeAI.cpp:38
std::string model_name_
Definition: GenerativeAI.h:82
Provider provider
Definition: GenerativeAI.h:80
std::string host_
Definition: GenerativeAI.h:83
std::string port() const
Definition: GenerativeAI.h:106
std::string long_name_
Definition: GenerativeAI.h:81
Definition: GenerativeAI.h:46
std::string envname() const
Definition: GenerativeAI.h:49
std::string id() const
Definition: GenerativeAI.h:47
std::string description() const
Definition: GenerativeAI.h:48
Definition: GenerativeAI.h:16
std::string envname() const
Definition: GenerativeAI.h:19
std::string description() const
Definition: GenerativeAI.h:18
std::string id() const
Definition: GenerativeAI.h:17
Definition: GenerativeAI.h:40
std::string description() const
Definition: GenerativeAI.h:42
std::string envname() const
Definition: GenerativeAI.h:43
std::string id() const
Definition: GenerativeAI.h:41
Definition: GenerativeAI.h:115
std::string model
Definition: GenerativeAI.h:117
std::vector< std::string > header
Definition: GenerativeAI.h:118
std::string endpoint_url
Definition: GenerativeAI.h:116
Definition: GenerativeAI.h:10
std::string envname() const
Definition: GenerativeAI.h:13
std::string description() const
Definition: GenerativeAI.h:12
std::string id() const
Definition: GenerativeAI.h:11