fix: Duplicate instructions in tool selection calling prompt (#19122)
Some checks failed
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 / merge-slim-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / build-main-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-main-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda126-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda126-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / build-ollama-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-ollama-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / build-slim-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-slim-image (linux/arm64, ubuntu-24.04-arm) (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-cuda126-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 (push) Waiting to run
Frontend Build / Format & Build Frontend (push) Has been cancelled
Frontend Build / Frontend Unit Tests (push) Has been cancelled

* Fix duplicated query prefix in user prompt for function calling

* Fix duplicated last user message in prompt for function calling
This commit is contained in:
Mati 2025-11-11 20:35:25 +01:00 committed by GitHub
parent 4eecbf8ee4
commit ce19b7120b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -302,19 +302,23 @@ async def chat_completion_tools_handler(
def get_tools_function_calling_payload(messages, task_model_id, content): def get_tools_function_calling_payload(messages, task_model_id, content):
user_message = get_last_user_message(messages) user_message = get_last_user_message(messages)
if user_message and messages and messages[-1]["role"] == "user":
# Remove the last user message to avoid duplication
messages = messages[:-1]
recent_messages = messages[-4:] if len(messages) > 4 else messages recent_messages = messages[-4:] if len(messages) > 4 else messages
chat_history = "\n".join( chat_history = "\n".join(
f"{message['role'].upper()}: \"\"\"{get_content_from_message(message)}\"\"\"" f"{message['role'].upper()}: \"\"\"{get_content_from_message(message)}\"\"\""
for message in recent_messages for message in recent_messages
) )
prompt = f"History:\n{chat_history}\nQuery: {user_message}" prompt = f"History:\n{chat_history}\nQuery: {user_message}" if chat_history else f"Query: {user_message}"
return { return {
"model": task_model_id, "model": task_model_id,
"messages": [ "messages": [
{"role": "system", "content": content}, {"role": "system", "content": content},
{"role": "user", "content": f"Query: {prompt}"}, {"role": "user", "content": prompt},
], ],
"stream": False, "stream": False,
"metadata": {"task": str(TASKS.FUNCTION_CALLING)}, "metadata": {"task": str(TASKS.FUNCTION_CALLING)},