Entropic 2.3.8
Local-first agentic inference engine
Loading...
Searching...
No Matches
qwen35_adapter.h
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
23#pragma once
24
26
27#include <unordered_map>
28
29namespace entropic {
30
39class Qwen35Adapter : public ChatAdapter {
40public:
42
49 std::string chat_format() const override { return "chatml"; }
50
57 ParseResult parse_tool_calls(const std::string& content) const override;
58
64 const ToolCall& tool_call,
65 const std::string& result) const override;
66
67protected:
72 std::string format_tools(
73 const std::vector<std::string>& tool_jsons) const override;
74
75private:
80 std::vector<ToolCall> parse_xml_function_calls(
81 const std::string& content) const;
82
87 std::unordered_map<std::string, std::string> extract_xml_parameters(
88 const std::string& func_body) const;
89
94 std::string clean_content(const std::string& content) const;
95
96public:
97 /* ── Vision / multimodal (v1.9.11) ────────────────────── */
98
110 std::string format_system_with_vision(
111 const std::string& base_system,
112 bool has_vision) const override;
113
125 std::string format_content_parts(
126 const std::vector<ContentPart>& parts) const override;
127};
128
129} // 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.5 MoE chat adapter (20% override layer).
std::string format_tools(const std::vector< std::string > &tool_jsons) const override
Format tools in <tools> tags with OpenAI function JSON.
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, fallback to tagged JSON.
std::string format_system_with_vision(const std::string &base_system, bool has_vision) const override
Qwen3.5 vision system prompt extension.
std::string chat_format() const override
Chat format: ChatML.
std::string format_content_parts(const std::vector< ContentPart > &parts) const override
Qwen3.5 content part formatting.
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