Add persistent local agent tools

This commit is contained in:
Georg Bauer
2026-07-25 14:57:17 +02:00
parent 668d8b787e
commit 4a45735072
20 changed files with 3139 additions and 37 deletions

View File

@@ -195,6 +195,7 @@ impl Tokenizer {
system_prompt,
&[ChatTurn {
user: true,
tool: false,
skip_previous_eos: false,
reasoning: None,
reasoning_complete: true,
@@ -235,6 +236,32 @@ impl Tokenizer {
output.extend(self.tokenize_rendered(system_prompt));
}
for message in messages {
if message.tool {
if self.family == ModelFamily::Glm {
output.push(self.observation);
output.extend(self.tokenize_rendered("<tool_response>"));
output.extend(
self.tokenize_rendered(
&message
.content
.replace("</tool_response>", "&lt;/tool_response>"),
),
);
output.extend(self.tokenize_rendered("</tool_response>"));
} else {
output.push(self.user);
output.extend(self.tokenize("<tool_result>"));
output.extend(
self.tokenize(
&message
.content
.replace("</tool_result>", "&lt;/tool_result>"),
),
);
output.extend(self.tokenize("</tool_result>"));
}
continue;
}
output.push(if message.user {
self.user
} else {