41 const std::string&,
const std::string&)>;
74 static const std::array<AdapterEntry, 4>
table{{
75 {
"gemma4", [](
auto&
t,
auto&
p) {
76 return std::make_unique<Gemma4Adapter>(
t,
p); }},
77 {
"qwen35", [](
auto&
t,
auto&
p) {
78 return std::make_unique<Qwen35Adapter>(
t,
p); }},
79 {
"qwen36", [](
auto&
t,
auto&
p) {
80 return std::make_unique<Qwen36Adapter>(
t,
p); }},
81 {
"nemotron3", [](
auto&
t,
auto&
p) {
82 return std::make_unique<Nemotron3Adapter>(
t,
p); }},
94std::string
to_lower(
const std::string& name) {
95 std::string
lower = name;
97 [](
unsigned char c) { return std::tolower(c); });
124 const std::string& name,
125 const std::string& tier_name,
130 if (
lower == entry.key) {
131 logger->info(
"Adapter created: type={}, tier={}",
132 entry.key, tier_name);
136 logger->info(
"Adapter created: generic (config='{}'), tier={} "
137 "(tool parsing via common_chat)", name, tier_name);
Adapter factory — create adapters by name.
Gemma4Adapter — the fallback parse path for Gemma-4 tiers (gh#108).
GenericAdapter — default ChatML adapter with JSON tool calls.
spdlog initialization and logger access.
ENTROPIC_EXPORT std::shared_ptr< spdlog::logger > get(const std::string &name)
Get or create a named logger.
Activate model on GPU (WARM → ACTIVE).
@ optional
optional: every escape asks the host's path approver
std::unique_ptr< ChatAdapter > create_adapter(const std::string &name, const std::string &tier_name, const std::string &identity_prompt)
Create adapter by name (gh#87 Phase D hybrid).
Nemotron 3 chat adapter (v2.1.9, gh#47).
Qwen 3.6 chat adapter (v2.1.9, gh#45).