Merge pull request #15825 from EventHorizon-AI/fix/ollama-tool-call

fix: ollama tool call
This commit is contained in:
Tim Jaeryang Baek 2025-07-18 12:58:07 +04:00 committed by GitHub
commit 3500d26931
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -6,18 +6,17 @@ from open_webui.utils.misc import (
) )
def convert_ollama_tool_call_to_openai(tool_calls: dict) -> dict: def convert_ollama_tool_call_to_openai(tool_calls: list) -> list:
openai_tool_calls = [] openai_tool_calls = []
for tool_call in tool_calls: for tool_call in tool_calls:
function = tool_call.get("function", {})
openai_tool_call = { openai_tool_call = {
"index": tool_call.get("index", 0), "index": tool_call.get("index", function.get("index", 0)),
"id": tool_call.get("id", f"call_{str(uuid4())}"), "id": tool_call.get("id", f"call_{str(uuid4())}"),
"type": "function", "type": "function",
"function": { "function": {
"name": tool_call.get("function", {}).get("name", ""), "name": function.get("name", ""),
"arguments": json.dumps( "arguments": json.dumps(function.get("arguments", {})),
tool_call.get("function", {}).get("arguments", {})
),
}, },
} }
openai_tool_calls.append(openai_tool_call) openai_tool_calls.append(openai_tool_call)