forgeant docs-test-0
Build LLM-powered agents in C++
Loading...
Searching...
No Matches
options.hpp
Go to the documentation of this file.
1#ifndef FORGEANT_AGENT_OPTIONS_HPP
2#define FORGEANT_AGENT_OPTIONS_HPP
3
4#include <optional>
5#include <string>
6
7namespace forgeant {
8
9// Single agent-facing configuration struct.
10//
11// Used by `Agent::create()` (factory path) and the public `Agent(LlmProvider&, AgentOptions)`
12// constructor. Fields split by ownership:
13//
14// Provider-side: api_key, model, base_url, max_tokens, temperature
15// Agent-side: system_prompt, max_iterations
16//
17// When passed to `Agent::create()`, all fields are consumed (provider-side forwarded to a
18// derived ProviderConfig, agent-side retained on the Agent).
19//
20// When passed to the public `Agent(LlmProvider&, AgentOptions)` constructor, provider-side
21// fields are IGNORED — the pre-built provider already owns its own configuration. Only
22// system_prompt and max_iterations are read.
24 std::string api_key;
25 std::string model;
26 std::string base_url;
27 std::string system_prompt;
29 std::optional<int> max_tokens;
30 std::optional<double> temperature;
31};
32
33} // namespace forgeant
34
35#endif // FORGEANT_AGENT_OPTIONS_HPP
Definition agent.hpp:25
Definition options.hpp:23
std::optional< double > temperature
Definition options.hpp:30
std::optional< int > max_tokens
Definition options.hpp:29
std::string base_url
Definition options.hpp:26
std::string system_prompt
Definition options.hpp:27
std::string model
Definition options.hpp:25
std::string api_key
Definition options.hpp:24
int max_iterations
Definition options.hpp:28