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: 544
10    host: ""
11    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"}],"model":"google/gemini-2.5-flash","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"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-1758884891-TdXi6e4P1LOAy1d2zvUP","provider":"Google","model":"google/gemini-2.5-flash","object":"chat.completion.chunk","created":1758884891,"choices":[{"index":0,"delta":{"role":"assistant","content":null,"tool_calls":[{"index":0,"id":"tool_0_weather_gNpQBlUfofhGF4jueDU7","type":"function","function":{"name":"weather","arguments":"{\"location\":\"Florence,Italy\"}"}}]},"finish_reason":"tool_calls","native_finish_reason":"STOP","logprobs":null}]}
28
29      data: {"id":"gen-1758884891-TdXi6e4P1LOAy1d2zvUP","provider":"Google","model":"google/gemini-2.5-flash","object":"chat.completion.chunk","created":1758884891,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null,"native_finish_reason":null,"logprobs":null}],"usage":{"prompt_tokens":28,"completion_tokens":5,"total_tokens":33,"cost":0.0000209,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"cost_details":{"upstream_inference_cost":null,"upstream_inference_prompt_cost":0.0000084,"upstream_inference_completions_cost":0.0000125},"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: 760.496ms
39- id: 1
40  request:
41    proto: HTTP/1.1
42    proto_major: 1
43    proto_minor: 1
44    content_length: 807
45    host: ""
46    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"tool_0_weather_gNpQBlUfofhGF4jueDU7","function":{"arguments":"{\"location\":\"Florence,Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"tool_0_weather_gNpQBlUfofhGF4jueDU7","role":"tool"}],"model":"google/gemini-2.5-flash","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"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-1758884892-mxDweeTvpL2t8FqL5Y6k","provider":"Google","model":"google/gemini-2.5-flash","object":"chat.completion.chunk","created":1758884892,"choices":[{"index":0,"delta":{"role":"assistant","content":"The weather in Florence, Italy","reasoning":null,"reasoning_details":[]},"finish_reason":null,"native_finish_reason":null,"logprobs":null}]}
63
64      data: {"id":"gen-1758884892-mxDweeTvpL2t8FqL5Y6k","provider":"Google","model":"google/gemini-2.5-flash","object":"chat.completion.chunk","created":1758884892,"choices":[{"index":0,"delta":{"role":"assistant","content":" is 40 degrees Celsius.","reasoning":null,"reasoning_details":[]},"finish_reason":"stop","native_finish_reason":"STOP","logprobs":null}]}
65
66      data: {"id":"gen-1758884892-mxDweeTvpL2t8FqL5Y6k","provider":"Google","model":"google/gemini-2.5-flash","object":"chat.completion.chunk","created":1758884892,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null,"native_finish_reason":null,"logprobs":null}],"usage":{"prompt_tokens":55,"completion_tokens":13,"total_tokens":68,"cost":0.000049,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"cost_details":{"upstream_inference_cost":null,"upstream_inference_prompt_cost":0.0000165,"upstream_inference_completions_cost":0.0000325},"completion_tokens_details":{"reasoning_tokens":0,"image_tokens":0}}}
67
68      data: [DONE]
69
70    headers:
71      Content-Type:
72      - text/event-stream
73    status: 200 OK
74    code: 200
75    duration: 736.252583ms