Skip to content

Commit 5d1ca06

Browse files
committed
Fixed tool calling
1 parent 451ee22 commit 5d1ca06

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

interpreter/core/llm/run_tool_calling_llm.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def run_tool_calling_llm(llm, request_params):
3737
request_params["tools"] = [tool_schema]
3838

3939
last_tool_id = 0
40-
for message in request_params["messages"]:
40+
for i, message in enumerate(request_params["messages"]):
4141
if "function_call" in message:
4242
function = message.pop("function_call")
4343
message["tool_calls"] = [
@@ -48,10 +48,16 @@ def run_tool_calling_llm(llm, request_params):
4848
}
4949
]
5050
if message["role"] == "function":
51-
message["role"] = "tool"
52-
message["tool_call_id"] = "toolu_" + str(last_tool_id)
51+
if i != 0 and request_params["messages"][i - 1]["role"] == "tool":
52+
request_params["messages"][i]["content"] += message["content"]
53+
message = None
54+
else:
55+
message["role"] = "tool"
56+
message["tool_call_id"] = "toolu_" + str(last_tool_id)
57+
58+
last_tool_id += 1
5359

54-
last_tool_id += 1
60+
request_params["messages"] = [m for m in request_params["messages"] if m != None]
5561

5662
# Add OpenAI's recommended function message
5763
# request_params["messages"][0][

0 commit comments

Comments
 (0)