fix: update chat completion tools handler to use parameters from spec fixing defaults always used

This commit is contained in:
Peter De-Ath 2025-03-06 23:27:52 +00:00
parent 1173459eee
commit d862295a05

View File

@ -189,17 +189,11 @@ async def chat_completion_tools_handler(
tool_function_params = tool_call.get("parameters", {})
try:
required_params = (
tools[tool_function_name]
.get("spec", {})
.get("parameters", {})
.get("required", [])
)
spec = tools[tool_function_name].get("spec", {})
allowed_params = spec.get("parameters", {}).get("properties", {}).keys()
tool_function = tools[tool_function_name]["callable"]
tool_function_params = {
k: v
for k, v in tool_function_params.items()
if k in required_params
k: v for k, v in tool_function_params.items() if k in allowed_params
}
tool_output = await tool_function(**tool_function_params)