42#include <unordered_map>
84 const std::string& result)
const override;
94 const std::vector<std::string>& tool_jsons)
const override;
104 std::vector<ToolCall> parse_xml_function_calls(
105 const std::string& content)
const;
114 std::unordered_map<std::string, std::string> extract_xml_parameters(
115 const std::string& func_body)
const;
124 std::string clean_content(
const std::string& content)
const;
137 const std::string& base_system,
138 bool has_vision)
const override;
151 const std::vector<ContentPart>& parts)
const override;
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.
Parsed tool call result: cleaned content + extracted calls.