fix: tools not working
Some checks are pending
Deploy to HuggingFace Spaces / check-secret (push) Waiting to run
Deploy to HuggingFace Spaces / deploy (push) Blocked by required conditions
Create and publish Docker images with specific build args / build-main-image (linux/amd64) (push) Waiting to run
Create and publish Docker images with specific build args / build-main-image (linux/arm64) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda-image (linux/amd64) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda-image (linux/arm64) (push) Waiting to run
Create and publish Docker images with specific build args / build-ollama-image (linux/amd64) (push) Waiting to run
Create and publish Docker images with specific build args / build-ollama-image (linux/arm64) (push) Waiting to run
Create and publish Docker images with specific build args / merge-main-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge-cuda-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge-ollama-images (push) Blocked by required conditions
Python CI / Format Backend (3.11) (push) Waiting to run
Frontend Build / Format & Build Frontend (push) Waiting to run
Frontend Build / Frontend Unit Tests (push) Waiting to run
Integration Test / Run Cypress Integration Tests (push) Waiting to run
Integration Test / Run Migration Tests (push) Waiting to run

This commit is contained in:
Timothy J. Baek 2024-10-26 12:21:05 -07:00
parent 565ea92693
commit badbe4ea06

View File

@ -439,10 +439,17 @@ async def chat_completion_tools_handler(
tool_function_params = result.get("parameters", {}) tool_function_params = result.get("parameters", {})
try: try:
required_params = (
tools[tool_function_name]
.get("spec", {})
.get("parameters", {})
.get("required", [])
)
tool_function = tools[tool_function_name]["callable"] tool_function = tools[tool_function_name]["callable"]
sig = inspect.signature(tool_function)
tool_function_params = { tool_function_params = {
k: v for k, v in tool_function_params.items() if k in sig.parameters k: v
for k, v in tool_function_params.items()
if k in required_params
} }
tool_output = await tool_function(**tool_function_params) tool_output = await tool_function(**tool_function_params)