{ "test_id": "tests/integration/responses/test_tool_responses.py::test_response_streaming_multi_turn_tool_execution[client_with_models-txt=openai/gpt-4o-experiment_analysis_streaming]", "request": { "method": "POST", "url": "https://api.openai.com/v1/v1/chat/completions", "headers": {}, "body": { "model": "gpt-4o", "messages": [ { "role": "user", "content": "I need a complete analysis: First, get the experiment ID for 'chemical_reaction', then get the results for that experiment, and tell me if the yield was above 80%. Return only one tool call per step. Please stream your analysis process." }, { "role": "assistant", "content": "", "tool_calls": [ { "index": 0, "id": "call_2CtRtpF9hjSAPJOfbXt9Mfkm", "type": "function", "function": { "name": "get_experiment_id", "arguments": "{\"experiment_name\":\"chemical_reaction\"}" } } ] }, { "role": "tool", "tool_call_id": "call_2CtRtpF9hjSAPJOfbXt9Mfkm", "content": [ { "type": "text", "text": "exp_003" } ] }, { "role": "assistant", "content": "", "tool_calls": [ { "index": 0, "id": "call_VMsOiIt8PTL98XLImkpTSuDT", "type": "function", "function": { "name": "get_experiment_results", "arguments": "{\"experiment_id\":\"exp_003\"}" } } ] }, { "role": "tool", "tool_call_id": "call_VMsOiIt8PTL98XLImkpTSuDT", "content": [ { "type": "text", "text": "Yield: 85%, Status: Complete" } ] } ], "stream": true, "stream_options": { "include_usage": true }, "tools": [ { "type": "function", "function": { "name": "get_user_id", "description": "\n Get the user ID for a given username. This ID is needed for other operations.\n\n :param username: The username to look up\n :return: The user ID for the username\n ", "parameters": { "properties": { "username": { "title": "Username", "type": "string" } }, "required": [ "username" ], "title": "get_user_idArguments", "type": "object" } } }, { "type": "function", "function": { "name": "get_user_permissions", "description": "\n Get the permissions for a user ID. Requires a valid user ID from get_user_id.\n\n :param user_id: The user ID to check permissions for\n :return: The permissions for the user\n ", "parameters": { "properties": { "user_id": { "title": "User Id", "type": "string" } }, "required": [ "user_id" ], "title": "get_user_permissionsArguments", "type": "object" } } }, { "type": "function", "function": { "name": "check_file_access", "description": "\n Check if a user can access a specific file. Requires a valid user ID.\n\n :param user_id: The user ID to check access for\n :param filename: The filename to check access to\n :return: Whether the user can access the file (yes/no)\n ", "parameters": { "properties": { "user_id": { "title": "User Id", "type": "string" }, "filename": { "title": "Filename", "type": "string" } }, "required": [ "user_id", "filename" ], "title": "check_file_accessArguments", "type": "object" } } }, { "type": "function", "function": { "name": "get_experiment_id", "description": "\n Get the experiment ID for a given experiment name. This ID is needed to get results.\n\n :param experiment_name: The name of the experiment\n :return: The experiment ID\n ", "parameters": { "properties": { "experiment_name": { "title": "Experiment Name", "type": "string" } }, "required": [ "experiment_name" ], "title": "get_experiment_idArguments", "type": "object" } } }, { "type": "function", "function": { "name": "get_experiment_results", "description": "\n Get the results for an experiment ID. Requires a valid experiment ID from get_experiment_id.\n\n :param experiment_id: The experiment ID to get results for\n :return: The experiment results\n ", "parameters": { "properties": { "experiment_id": { "title": "Experiment Id", "type": "string" } }, "required": [ "experiment_id" ], "title": "get_experiment_resultsArguments", "type": "object" } } } ] }, "endpoint": "/v1/chat/completions", "model": "gpt-4o" }, "response": { "body": [ { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": "", "function_call": null, "refusal": null, "role": "assistant", "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "eY5HfhekWav2Oq" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": "The", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "rXUVe0COrznLs" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": " results", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "gAxPq1Bk" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": " for", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "UY8PFmoGuvhr" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": " the", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "aGWpWLIvXa53" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": " experiment", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "7VsyU" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": " indicate", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "o59LIqG" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": " that", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "klGMrslEoPz" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": " the", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "tzHoW0K2QJAN" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": " yield", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "hxfzKIQlpd" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": " was", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "JgHqtgCAwffB" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": " ", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "ud43yPomRZFhTnC" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": "85", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "TgIP8CozH0i5Cv" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": "%,", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "hyZjVCUKJWw4aZ" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": " which", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "p8sxB2uPfn" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": " is", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "Hrct9XxI85N6h" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": " above", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "UFfPVRXu2S" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": " the", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "yglWOztmDjiH" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": " ", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "H034EGhCjHz03qs" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": "80", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "YKR6CEIybugREr" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": "%", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "NqmUPbYSYFOkH1d" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": " threshold", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "2nTmTB" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": ".", "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": null, "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "zRU39cMMlqYnGLz" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [ { "delta": { "content": null, "function_call": null, "refusal": null, "role": null, "tool_calls": null }, "finish_reason": "stop", "index": 0, "logprobs": null } ], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": null, "obfuscation": "6autNJa8os" } }, { "__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk", "__data__": { "id": "rec-717aef36a35d", "choices": [], "created": 0, "model": "gpt-4o-2024-08-06", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": "fp_eb3c3cb84d", "usage": { "completion_tokens": 23, "prompt_tokens": 494, "total_tokens": 517, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0 }, "prompt_tokens_details": { "audio_tokens": 0, "cached_tokens": 0 } }, "obfuscation": "oEo2cz7nBQb3O" } } ], "is_streaming": true }, "id_normalization_mapping": {} }