NeuralPlus 0.2.0
A small C++17 SDK for AI clients, sessions, tools, and tracing
Loading...
Searching...
No Matches
MODELS

Model configurations

NeuralPlus keeps model names as configuration data. The SDK therefore has one client class per provider protocol, not one C++ class per marketed model.

For common choices, neuralplus/models.hpp provides ready-to-use typed configurations:

#include <utility>
auto client = neuralplus::make_client(std::move(config));
NEURALPLUS_API OpenAIConfig gpt_5_6_terra()

The result is an ordinary OpenAIConfig, AnthropicConfig, or GeminiConfig. Applications can still set credentials, URLs, headers, capabilities, and provider options before passing it to make_client.

Included configurations

The catalog was checked against provider documentation on July 23, 2026. Provider availability, aliases, limits, and pricing can change independently of an SDK release, so check the linked source before selecting a production model.

Provider C++ configuration Model ID
OpenAI models::openai::gpt_5_6_sol() gpt-5.6-sol
OpenAI models::openai::gpt_5_6_terra() gpt-5.6-terra
OpenAI models::openai::gpt_5_6_luna() gpt-5.6-luna
Anthropic models::anthropic::claude_fable_5() claude-fable-5
Anthropic models::anthropic::claude_opus_4_8() claude-opus-4-8
Anthropic models::anthropic::claude_sonnet_5() claude-sonnet-5
Anthropic models::anthropic::claude_haiku_4_5() claude-haiku-4-5-20251001
Gemini models::gemini::gemini_3_6_flash() gemini-3.6-flash
Gemini models::gemini::gemini_3_5_flash() gemini-3.5-flash
Gemini models::gemini::gemini_3_5_flash_lite() gemini-3.5-flash-lite
Gemini models::gemini::gemini_2_5_pro() gemini-2.5-pro

Sources:

The catalog describes capabilities used by NeuralPlus before a request is sent. It does not add a capability that the provider or account does not have.

Use a custom or newly released model

No catalog update is required to use another model:

neuralplus::OpenAIConfig config{"gpt-new-or-fine-tuned-id"};
config.model.display_name = "My application model";
config.model.capabilities.image_input = true;
config.model.capabilities.file_input = true;
config.model.capabilities.tools = true;
config.model.provider_options["reasoning"] = {{"effort", "medium"}};
auto client = neuralplus::make_client(std::move(config));
NEURALPLUS_API std::unique_ptr< AIClient > make_client(OpenAIConfig config, const ClientOptions &options={})
Creates an OpenAI client. Credentials resolve as explicit value, environment, error.
std::string display_name
Optional user-interface label.
Definition types.hpp:323
Definition providers.hpp:24
ModelDescriptor model
Model ID, capabilities, limits, and data-driven provider options.
Definition providers.hpp:29

The same pattern works with AnthropicConfig and GeminiConfig. OpenAICompatibleConfig always uses an application-supplied server URL and model ID because compatible servers do not share one authoritative catalog.

Use typed GenerateOptions for portable controls. Use ModelDescriptor::provider_options for a model-wide provider field and GenerateOptions::provider_options for a one-call override. A new wire protocol belongs in its provider adapter; a new marketed model normally needs configuration only.