When I manage to get multiple tools to be used for a single Reponses API call I get multiple ‘end user’ messages (‘output_text’) and no ‘integrated’ response. So I’ll get a response based on web search and then a completely different response based on file search. Surely this isn’t expected behaviour? It’s happening in the Playground with both responses showing one after the other and also via the Python Library as below.
{
"id": "resp_67e9f....",
"created_at": 1743385305.0,
"error": null,
"incomplete_details": null,
"instructions": null,
"metadata": {},
"model": "gpt-4o-2024-08-06",
"object": "response",
"output": [
{
"id": "ws_67e9f2d...",
"status": "completed",
"type": "web_search_call"
},
{
"id": "msg_67e9f2d...",
"content": [
{
"annotations": [
{
"end_index": 684,
"start_index": 527,
"title": "Title 1",
"type": "url_citation",
"url": "https://url"
}
],
"text": "HERE IS An END USER RESPONSE BASED ON THE WEB SEARCH ",
"type": "output_text"
}
],
"role": "assistant",
"status": "completed",
"type": "message"
},
{
"id": "fs_67e9f2df9...",
"queries": [
"Query 1",
"Query 2"
],
"status": "completed",
"type": "file_search_call",
"results": null
},
{
"id": "msg_67e9f2e5a...",
"content": [
{
"annotations": [
{
"file_id": "file-Hi...",
"index": 389,
"type": "file_citation",
"filename": "My File .txt"
}
],
"text": "HERE IS ANOTHER RESPONSE BASED ON THE FILE SEARCH ONLY.",
"type": "output_text"
}
],
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": false,
"temperature": 1.0,
"tool_choice": {
"type": "web_search_preview"
},