Entropic 2.3.8
Local-first agentic inference engine
Loading...
Searching...
No Matches
qwen36_adapter.h
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
38#pragma once
39
41
42#include <unordered_map>
43
44namespace entropic {
45
55class Qwen36Adapter : public ChatAdapter {
56public:
58
65 std::string chat_format() const override { return "chatml"; }
66
73 ParseResult parse_tool_calls(const std::string& content) const override;
74
83 const ToolCall& tool_call,
84 const std::string& result) const override;
85
86protected:
93 std::string format_tools(
94 const std::vector<std::string>& tool_jsons) const override;
95
96private:
104 std::vector<ToolCall> parse_xml_function_calls(
105 const std::string& content) const;
106
114 std::unordered_map<std::string, std::string> extract_xml_parameters(
115 const std::string& func_body) const;
116
124 std::string clean_content(const std::string& content) const;
125
126public:
127 /* ── Vision / multimodal ──────────────────────────────── */
128
136 std::string format_system_with_vision(
137 const std::string& base_system,
138 bool has_vision) const override;
139
150 std::string format_content_parts(
151 const std::vector<ContentPart>& parts) const override;
152};
153
154} // namespace entropic
ChatAdapter concrete base class.
Concrete base class for chat format adapters (80% logic).
ChatAdapter(std::string tier_name, std::string identity_prompt)
Construct adapter with tier identity.
Qwen 3.6 MoE chat adapter.
std::string chat_format() const override
Chat format: ChatML.
std::string format_tools(const std::vector< std::string > &tool_jsons) const override
Format tools as <tools>...</tools> with OpenAI function JSON.
std::string format_system_with_vision(const std::string &base_system, bool has_vision) const override
Append vision instructions to the system prompt when active.
std::string format_content_parts(const std::vector< ContentPart > &parts) const override
Format multimodal content parts (OpenAI-native).
Message format_tool_result(const ToolCall &tool_call, const std::string &result) const override
Wrap tool result in <tool_response> tags.
ParseResult parse_tool_calls(const std::string &content) const override
Parse XML function calls; fall back to tagged JSON.
Activate model on GPU (WARM → ACTIVE).
A message in a conversation.
Definition message.h:35
Parsed tool call result: cleaned content + extracted calls.
A tool call request parsed from model output.
Definition tool_call.h:31