agent: fix functionary tool_calls templating

This commit is contained in:
ochafik 2024-03-29 19:22:59 +00:00
parent eb9a5524eb
commit 3da30ed89e

View file

@ -171,6 +171,27 @@ class ChatTemplate(BaseModel):
messages = new_messages messages = new_messages
# JSON!
messages = [m.model_dump() for m in messages]
if self.inferred_tool_style == ToolsPromptStyle.TYPESCRIPT_FUNCTIONARY_V2:
messages = [
{
**m,
"tool_calls": [
{
**tc,
"function": {
"name": tc["function"]["name"],
"arguments": json.dumps(tc["function"]["arguments"]),
}
}
for tc in m["tool_calls"]
] if m.get("tool_calls") else None
}
for m in messages
]
result = self._template.render( result = self._template.render(
messages=messages, messages=messages,
eos_token=self._eos_token, eos_token=self._eos_token,