multi_tool_streaming.yaml

 1---
 2version: 2
 3interactions:
 4- id: 0
 5  request:
 6    proto: HTTP/1.1
 7    proto_major: 1
 8    proto_minor: 1
 9    content_length: 890
10    host: ""
11    body: '{"messages":[{"content":"You are a helpful assistant. Always use both add and multiply at the same time.","role":"system"},{"content":"Add and multiply the number 2 and 3","role":"user"}],"model":"google/gemini-2.5-flash","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"add","strict":false,"description":"Add two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"},{"function":{"name":"multiply","strict":false,"description":"Multiply two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"}],"usage":{"include":true},"stream":true}'
12    headers:
13      Accept:
14      - application/json
15      Content-Type:
16      - application/json
17      User-Agent:
18      - OpenAI/Go 2.3.0
19    url: https://openrouter.ai/api/v1/chat/completions
20    method: POST
21  response:
22    proto: HTTP/2.0
23    proto_major: 2
24    proto_minor: 0
25    content_length: -1
26    body: |+
27      data: {"id":"gen-1758884895-ZW7V1SBC3XRGQDgz6cog","provider":"Google","model":"google/gemini-2.5-flash","object":"chat.completion.chunk","created":1758884895,"choices":[{"index":0,"delta":{"role":"assistant","content":null,"tool_calls":[{"index":0,"id":"tool_0_add_3sQISwQkKIrHMDRRTqmB","type":"function","function":{"name":"add","arguments":"{\"b\":3,\"a\":2}"}},{"index":1,"id":"tool_1_multiply_nZSCK8smzKFKbdiORQio","type":"function","function":{"name":"multiply","arguments":"{\"a\":2,\"b\":3}"}}]},"finish_reason":"tool_calls","native_finish_reason":"STOP","logprobs":null}]}
28
29      data: {"id":"gen-1758884895-ZW7V1SBC3XRGQDgz6cog","provider":"Google","model":"google/gemini-2.5-flash","object":"chat.completion.chunk","created":1758884895,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null,"native_finish_reason":null,"logprobs":null}],"usage":{"prompt_tokens":57,"completion_tokens":10,"total_tokens":67,"cost":0.0000421,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"cost_details":{"upstream_inference_cost":null,"upstream_inference_prompt_cost":0.0000171,"upstream_inference_completions_cost":0.000025},"completion_tokens_details":{"reasoning_tokens":0,"image_tokens":0}}}
30
31      data: [DONE]
32
33    headers:
34      Content-Type:
35      - text/event-stream
36    status: 200 OK
37    code: 200
38    duration: 878.667625ms
39- id: 1
40  request:
41    proto: HTTP/1.1
42    proto_major: 1
43    proto_minor: 1
44    content_length: 1333
45    host: ""
46    body: '{"messages":[{"content":"You are a helpful assistant. Always use both add and multiply at the same time.","role":"system"},{"content":"Add and multiply the number 2 and 3","role":"user"},{"tool_calls":[{"id":"tool_0_add_3sQISwQkKIrHMDRRTqmB","function":{"arguments":"{\"b\":3,\"a\":2}","name":"add"},"type":"function"},{"id":"tool_1_multiply_nZSCK8smzKFKbdiORQio","function":{"arguments":"{\"a\":2,\"b\":3}","name":"multiply"},"type":"function"}],"role":"assistant"},{"content":"5","tool_call_id":"tool_0_add_3sQISwQkKIrHMDRRTqmB","role":"tool"},{"content":"6","tool_call_id":"tool_1_multiply_nZSCK8smzKFKbdiORQio","role":"tool"}],"model":"google/gemini-2.5-flash","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"add","strict":false,"description":"Add two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"},{"function":{"name":"multiply","strict":false,"description":"Multiply two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"}],"usage":{"include":true},"stream":true}'
47    headers:
48      Accept:
49      - application/json
50      Content-Type:
51      - application/json
52      User-Agent:
53      - OpenAI/Go 2.3.0
54    url: https://openrouter.ai/api/v1/chat/completions
55    method: POST
56  response:
57    proto: HTTP/2.0
58    proto_major: 2
59    proto_minor: 0
60    content_length: -1
61    body: |+
62      data: {"id":"gen-1758884896-S4C9WkpsADy97egk3ecX","provider":"Google","model":"google/gemini-2.5-flash","object":"chat.completion.chunk","created":1758884896,"choices":[{"index":0,"delta":{"role":"assistant","content":"The sum of","reasoning":null,"reasoning_details":[]},"finish_reason":null,"native_finish_reason":null,"logprobs":null}]}
63
64      data: {"id":"gen-1758884896-S4C9WkpsADy97egk3ecX","provider":"Google","model":"google/gemini-2.5-flash","object":"chat.completion.chunk","created":1758884896,"choices":[{"index":0,"delta":{"role":"assistant","content":" 2 and 3 is 5, and the product of 2 and 3","reasoning":null,"reasoning_details":[]},"finish_reason":null,"native_finish_reason":null,"logprobs":null}]}
65
66      data: {"id":"gen-1758884896-S4C9WkpsADy97egk3ecX","provider":"Google","model":"google/gemini-2.5-flash","object":"chat.completion.chunk","created":1758884896,"choices":[{"index":0,"delta":{"role":"assistant","content":" is 6.","reasoning":null,"reasoning_details":[]},"finish_reason":"stop","native_finish_reason":"STOP","logprobs":null}]}
67
68      data: {"id":"gen-1758884896-S4C9WkpsADy97egk3ecX","provider":"Google","model":"google/gemini-2.5-flash","object":"chat.completion.chunk","created":1758884896,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null,"native_finish_reason":null,"logprobs":null}],"usage":{"prompt_tokens":111,"completion_tokens":25,"total_tokens":136,"cost":0.0000958,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"cost_details":{"upstream_inference_cost":null,"upstream_inference_prompt_cost":0.0000333,"upstream_inference_completions_cost":0.0000625},"completion_tokens_details":{"reasoning_tokens":0,"image_tokens":0}}}
69
70      data: [DONE]
71
72    headers:
73      Content-Type:
74      - text/event-stream
75    status: 200 OK
76    code: 200
77    duration: 652.719208ms