47#include <unordered_map>
90 const std::string& result)
const override;
100 const std::vector<std::string>& tool_jsons)
const override;
115 std::vector<ToolCall> parse_dsml_function_calls(
116 const std::string& content)
const;
130 std::unordered_map<std::string, std::string> extract_dsml_parameters(
131 const std::string& invoke_body)
const;
140 std::vector<ToolCall> parse_xml_function_calls(
141 const std::string& content)
const;
150 std::unordered_map<std::string, std::string> extract_xml_parameters(
151 const std::string& func_body)
const;
160 std::string clean_content(
const std::string& content)
const;
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.
Nemotron 3 chat adapter (hybrid Mamba-Transformer family).
std::string format_tools(const std::vector< std::string > &tool_jsons) const override
Format tools as a <tools> JSON array, then teach DSML invoke.
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 DSML invoke calls; fall back to qwen XML, then tagged JSON.
std::string chat_format() const override
Chat format: GGUF-embedded template (Nemotron-specific).
Activate model on GPU (WARM → ACTIVE).
A message in a conversation.
Parsed tool call result: cleaned content + extracted calls.