Skip to content

Commit cf65d04

Browse files
committed
move tool parts to the right place
1 parent e7a4cec commit cf65d04

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/inferencesh/models/llm.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,8 +224,6 @@ def render_message(msg: ContextMessage, allow_multipart: bool) -> str | List[dic
224224
parts.append({"type": "image_url", "image_url": {"url": image_data_uri}})
225225
elif msg.image.uri:
226226
parts.append({"type": "image_url", "image_url": {"url": msg.image.uri}})
227-
if msg.tool_calls:
228-
parts.append({"type": "tool_call", "tool_calls": msg.tool_calls})
229227
if allow_multipart:
230228
return parts
231229
if len(parts) == 1 and parts[0]["type"] == "text":
@@ -239,6 +237,9 @@ def merge_messages(messages: List[ContextMessage]) -> ContextMessage:
239237
images = [msg.image for msg in messages if msg.image]
240238
image = images[0] if images else None # TODO: handle multiple images
241239
return ContextMessage(role=messages[0].role, text=text, image=image)
240+
241+
def merge_tool_calls(messages: List[ContextMessage]) -> List[Dict[str, Any]]:
242+
return [msg.tool_calls for msg in messages if msg.tool_calls]
242243

243244
user_input_text = ""
244245
if hasattr(input_data, "text"):
@@ -264,14 +265,16 @@ def merge_messages(messages: List[ContextMessage]) -> ContextMessage:
264265
else:
265266
messages.append({
266267
"role": current_role,
267-
"content": render_message(merge_messages(current_messages), allow_multipart=multipart)
268+
"content": render_message(merge_messages(current_messages), allow_multipart=multipart),
269+
"tool_calls": merge_tool_calls(current_messages)
268270
})
269271
current_messages = [msg]
270272
current_role = msg.role
271273
if len(current_messages) > 0:
272274
messages.append({
273275
"role": current_role,
274-
"content": render_message(merge_messages(current_messages), allow_multipart=multipart)
276+
"content": render_message(merge_messages(current_messages), allow_multipart=multipart),
277+
"tool_calls": merge_tool_calls(current_messages)
275278
})
276279

277280
return messages

0 commit comments

Comments
 (0)