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: 546
 10    host: ""
 11    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"}],"model":"anthropic/claude-sonnet-4","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.7.1
 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-1773323536-Ko6dI9bnZTkPeee45z6T","object":"chat.completion.chunk","created":1773323536,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":"I'll get","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 28
 29      data: {"id":"gen-1773323536-Ko6dI9bnZTkPeee45z6T","object":"chat.completion.chunk","created":1773323536,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":" the weather information for Florence, Italy for","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 30
 31      data: {"id":"gen-1773323536-Ko6dI9bnZTkPeee45z6T","object":"chat.completion.chunk","created":1773323536,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":" you.","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 32
 33      data: {"id":"gen-1773323536-Ko6dI9bnZTkPeee45z6T","object":"chat.completion.chunk","created":1773323536,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"index":0,"id":"toolu_vrtx_015PkcPo9nLuQ3Lz4ELQueGM","type":"function","function":{"name":"weather","arguments":""}}]},"finish_reason":null,"native_finish_reason":null}]}
 34
 35      data: {"id":"gen-1773323536-Ko6dI9bnZTkPeee45z6T","object":"chat.completion.chunk","created":1773323536,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"index":0,"function":{"arguments":""}}]},"finish_reason":null,"native_finish_reason":null}]}
 36
 37      data: {"id":"gen-1773323536-Ko6dI9bnZTkPeee45z6T","object":"chat.completion.chunk","created":1773323536,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"index":0,"function":{"arguments":""}}]},"finish_reason":null,"native_finish_reason":null}]}
 38
 39      data: {"id":"gen-1773323536-Ko6dI9bnZTkPeee45z6T","object":"chat.completion.chunk","created":1773323536,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"index":0,"function":{"arguments":"{\"location"}}]},"finish_reason":null,"native_finish_reason":null}]}
 40
 41      data: {"id":"gen-1773323536-Ko6dI9bnZTkPeee45z6T","object":"chat.completion.chunk","created":1773323536,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"index":0,"function":{"arguments":"\": \"Floren"}}]},"finish_reason":null,"native_finish_reason":null}]}
 42
 43      data: {"id":"gen-1773323536-Ko6dI9bnZTkPeee45z6T","object":"chat.completion.chunk","created":1773323536,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"index":0,"function":{"arguments":"ce"}}]},"finish_reason":null,"native_finish_reason":null}]}
 44
 45      data: {"id":"gen-1773323536-Ko6dI9bnZTkPeee45z6T","object":"chat.completion.chunk","created":1773323536,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"index":0,"function":{"arguments":",Italy\"}"}}]},"finish_reason":null,"native_finish_reason":null}]}
 46
 47      data: {"id":"gen-1773323536-Ko6dI9bnZTkPeee45z6T","object":"chat.completion.chunk","created":1773323536,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":"","role":"assistant"},"finish_reason":"tool_calls","native_finish_reason":"tool_calls"}]}
 48
 49      data: {"id":"gen-1773323536-Ko6dI9bnZTkPeee45z6T","object":"chat.completion.chunk","created":1773323536,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[],"usage":{"prompt_tokens":394,"completion_tokens":67,"total_tokens":461,"cost":0.002187,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"cache_write_tokens":0,"audio_tokens":0,"video_tokens":0},"cost_details":{"upstream_inference_cost":0.002187,"upstream_inference_prompt_cost":0.001182,"upstream_inference_completions_cost":0.001005},"completion_tokens_details":{"reasoning_tokens":0,"image_tokens":0,"audio_tokens":0}}}
 50
 51      data: [DONE]
 52
 53    headers:
 54      Content-Type:
 55      - text/event-stream
 56    status: 200 OK
 57    code: 200
 58    duration: 948.437542ms
 59- id: 1
 60  request:
 61    proto: HTTP/1.1
 62    proto_major: 1
 63    proto_minor: 1
 64    content_length: 884
 65    host: ""
 66    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"content":"I''ll get the weather information for Florence, Italy for you.","tool_calls":[{"id":"toolu_vrtx_015PkcPo9nLuQ3Lz4ELQueGM","function":{"arguments":"{\"location\": \"Florence,Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"toolu_vrtx_015PkcPo9nLuQ3Lz4ELQueGM","role":"tool"}],"model":"anthropic/claude-sonnet-4","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}'
 67    headers:
 68      Accept:
 69      - application/json
 70      Content-Type:
 71      - application/json
 72      User-Agent:
 73      - OpenAI/Go 2.7.1
 74    url: https://openrouter.ai/api/v1/chat/completions
 75    method: POST
 76  response:
 77    proto: HTTP/2.0
 78    proto_major: 2
 79    proto_minor: 0
 80    content_length: -1
 81    body: |+
 82      data: {"id":"gen-1773323538-UfUcZg6x7EjgfGIP95rN","object":"chat.completion.chunk","created":1773323538,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":"The current","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 83
 84      data: {"id":"gen-1773323538-UfUcZg6x7EjgfGIP95rN","object":"chat.completion.chunk","created":1773323538,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":" temperature in Florence, Italy is 40","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 85
 86      data: {"id":"gen-1773323538-UfUcZg6x7EjgfGIP95rN","object":"chat.completion.chunk","created":1773323538,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":"°C (104°F). That","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 87
 88      data: {"id":"gen-1773323538-UfUcZg6x7EjgfGIP95rN","object":"chat.completion.chunk","created":1773323538,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":"'s quite hot","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 89
 90      data: {"id":"gen-1773323538-UfUcZg6x7EjgfGIP95rN","object":"chat.completion.chunk","created":1773323538,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":"!","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 91
 92      data: {"id":"gen-1773323538-UfUcZg6x7EjgfGIP95rN","object":"chat.completion.chunk","created":1773323538,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":" If","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 93
 94      data: {"id":"gen-1773323538-UfUcZg6x7EjgfGIP95rN","object":"chat.completion.chunk","created":1773323538,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":" you're planning to visit or are","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 95
 96      data: {"id":"gen-1773323538-UfUcZg6x7EjgfGIP95rN","object":"chat.completion.chunk","created":1773323538,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":" currently there, make","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 97
 98      data: {"id":"gen-1773323538-UfUcZg6x7EjgfGIP95rN","object":"chat.completion.chunk","created":1773323538,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":" sure to stay","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 99
100      data: {"id":"gen-1773323538-UfUcZg6x7EjgfGIP95rN","object":"chat.completion.chunk","created":1773323538,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":" hydrated and seek","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
101
102      data: {"id":"gen-1773323538-UfUcZg6x7EjgfGIP95rN","object":"chat.completion.chunk","created":1773323538,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":" shade during the hottest parts","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
103
104      data: {"id":"gen-1773323538-UfUcZg6x7EjgfGIP95rN","object":"chat.completion.chunk","created":1773323538,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":" of the day.","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
105
106      data: {"id":"gen-1773323538-UfUcZg6x7EjgfGIP95rN","object":"chat.completion.chunk","created":1773323538,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[{"index":0,"delta":{"content":"","role":"assistant"},"finish_reason":"stop","native_finish_reason":"stop"}]}
107
108      data: {"id":"gen-1773323538-UfUcZg6x7EjgfGIP95rN","object":"chat.completion.chunk","created":1773323538,"model":"anthropic/claude-4-sonnet-20250522","provider":"Google","choices":[],"usage":{"prompt_tokens":476,"completion_tokens":54,"total_tokens":530,"cost":0.002238,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"cache_write_tokens":0,"audio_tokens":0,"video_tokens":0},"cost_details":{"upstream_inference_cost":0.002238,"upstream_inference_prompt_cost":0.001428,"upstream_inference_completions_cost":0.00081},"completion_tokens_details":{"reasoning_tokens":0,"image_tokens":0,"audio_tokens":0}}}
109
110      data: [DONE]
111
112    headers:
113      Content-Type:
114      - text/event-stream
115    status: 200 OK
116    code: 200
117    duration: 1.039042791s