From 3da30ed89e9774755bccf6883e006146973d6cfb Mon Sep 17 00:00:00 2001 From: ochafik Date: Fri, 29 Mar 2024 19:22:59 +0000 Subject: [PATCH] agent: fix functionary tool_calls templating --- examples/openai/prompting.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/examples/openai/prompting.py b/examples/openai/prompting.py index 876f0b27f..1ec2a11e3 100644 --- a/examples/openai/prompting.py +++ b/examples/openai/prompting.py @@ -171,6 +171,27 @@ class ChatTemplate(BaseModel): 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( messages=messages, eos_token=self._eos_token,