enh: more robust tool calling

This commit is contained in:
Timothy J. Baek 2024-10-25 14:36:44 -07:00
parent 0b38584e52
commit 37853d6a26

View File

@ -439,9 +439,15 @@ async def chat_completion_tools_handler(
tool_function_params = result.get("parameters", {})
try:
tool_output = await tools[tool_function_name]["callable"](
**tool_function_params
)
tool_function = tools[tool_function_name]["callable"]
sig = inspect.signature(tool_function)
tool_function_params = {
k: v
for k, v in tool_function_params.items()
if k in sig.parameters
}
tool_output = await tool_function(**tool_function_params)
except Exception as e:
tool_output = str(e)