Entropic 2.3.8
Local-first agentic inference engine
Loading...
Searching...
No Matches
generic_adapter.cpp
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
8#include "generic_adapter.h"
9
10#include <regex>
11
12namespace entropic {
13
25ParseResult GenericAdapter::parse_tool_calls(const std::string& content) const {
26 ParseResult result;
27 result.tool_calls = parse_tagged_tool_calls(content);
28
29 // Remove <tool_call>...</tool_call> blocks from content
30 std::regex pattern(R"(<tool_call>\s*[\s\S]*?\s*</tool_call>)");
31 result.cleaned_content = std::regex_replace(content, pattern, "");
32
33 // Strip think blocks
35 return result;
36}
37
38} // namespace entropic
std::vector< ToolCall > parse_tagged_tool_calls(const std::string &content) const
Parse <tool_call>JSON</tool_call> tagged blocks.
std::string strip_think_blocks(const std::string &content) const
Strip all <think>...</think> blocks from content.
ParseResult parse_tool_calls(const std::string &content) const override
Parse tagged JSON tool calls.
GenericAdapter — default ChatML adapter with JSON tool calls.
Activate model on GPU (WARM → ACTIVE).
Parsed tool call result: cleaned content + extracted calls.
std::string cleaned_content
Content with tool calls removed.
std::vector< ToolCall > tool_calls
Extracted tool calls.