---
version: 2
interactions:
- id: 0
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 479
    host: ""
    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"}],"model":"z-ai/glm-4.6","max_tokens":4000,"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}}'
    headers:
      Accept:
      - application/json
      Content-Type:
      - application/json
      User-Agent:
      - OpenAI/Go 2.7.1
    url: https://openrouter.ai/api/v1/chat/completions
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    uncompressed: true
    body: "\n         \n\n         \n\n         \n\n         \n\n         \n{\"id\":\"gen-1773324149-N3s8BG5itSvZMPwWEtM6\",\"object\":\"chat.completion\",\"created\":1773324149,\"model\":\"z-ai/glm-4.6\",\"provider\":\"Novita\",\"system_fingerprint\":null,\"choices\":[{\"index\":0,\"logprobs\":null,\"finish_reason\":\"tool_calls\",\"native_finish_reason\":\"tool_calls\",\"message\":{\"role\":\"assistant\",\"content\":\"I'll check the weather in Florence, Italy for you.\",\"refusal\":null,\"reasoning\":\"The user is asking for the weather in Florence, Italy. I have a weather function available that takes a location parameter. The user specified \\\"Florence, Italy\\\" as the location. I should use this exact value for the location parameter.\",\"tool_calls\":[{\"type\":\"function\",\"index\":0,\"id\":\"call_cba78c9d494846b6a2f483e5\",\"function\":{\"name\":\"weather\",\"arguments\":\"{\\\"location\\\":\\\"Florence,Italy\\\"}\"}}],\"reasoning_details\":[{\"type\":\"reasoning.text\",\"text\":\"The user is asking for the weather in Florence, Italy. I have a weather function available that takes a location parameter. The user specified \\\"Florence, Italy\\\" as the location. I should use this exact value for the location parameter.\",\"format\":\"unknown\",\"index\":0}]}}],\"usage\":{\"prompt_tokens\":173,\"completion_tokens\":74,\"total_tokens\":247,\"cost\":0.00023947,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":42,\"cache_write_tokens\":0,\"audio_tokens\":0,\"video_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":0.00023947,\"upstream_inference_prompt_cost\":0.00007667,\"upstream_inference_completions_cost\":0.0001628},\"completion_tokens_details\":{\"reasoning_tokens\":48,\"image_tokens\":0,\"audio_tokens\":0}}}"
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 1.4189585s
- id: 1
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 1117
    host: ""
    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"content":"I''ll check the weather in Florence, Italy for you.","tool_calls":[{"id":"call_cba78c9d494846b6a2f483e5","function":{"arguments":"{\"location\":\"Florence,Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_details":[{"format":"unknown","index":0,"text":"The user is asking for the weather in Florence, Italy. I have a weather function available that takes a location parameter. The user specified \"Florence, Italy\" as the location. I should use this exact value for the location parameter.","type":"reasoning.text"}]},{"content":"40 C","tool_call_id":"call_cba78c9d494846b6a2f483e5","role":"tool"}],"model":"z-ai/glm-4.6","max_tokens":4000,"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}}'
    headers:
      Accept:
      - application/json
      Content-Type:
      - application/json
      User-Agent:
      - OpenAI/Go 2.7.1
    url: https://openrouter.ai/api/v1/chat/completions
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    uncompressed: true
    body: "\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n{\"id\":\"gen-1773324152-TSI9nG10XvbpmMQcPXCz\",\"object\":\"chat.completion\",\"created\":1773324152,\"model\":\"z-ai/glm-4.6\",\"provider\":\"Novita\",\"system_fingerprint\":null,\"choices\":[{\"index\":0,\"logprobs\":null,\"finish_reason\":\"stop\",\"native_finish_reason\":\"stop\",\"message\":{\"role\":\"assistant\",\"content\":\"The weather in Florence, Italy is currently 40°C (104°F). That's quite hot! Make sure to stay hydrated and seek shade if you're out and about.\",\"refusal\":null,\"reasoning\":\"The weather function returned a simple result of \\\"40 C\\\" which indicates it's 40 degrees Celsius in Florence, Italy. This is quite hot weather. I should provide this information to the user in a clear and helpful way.\",\"reasoning_details\":[{\"type\":\"reasoning.text\",\"text\":\"The weather function returned a simple result of \\\"40 C\\\" which indicates it's 40 degrees Celsius in Florence, Italy. This is quite hot weather. I should provide this information to the user in a clear and helpful way.\",\"format\":\"unknown\",\"index\":0}]}}],\"usage\":{\"prompt_tokens\":253,\"completion_tokens\":83,\"total_tokens\":336,\"cost\":0.00021395,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":245,\"cache_write_tokens\":0,\"audio_tokens\":0,\"video_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":0.00021395,\"upstream_inference_prompt_cost\":0.00003135,\"upstream_inference_completions_cost\":0.0001826},\"completion_tokens_details\":{\"reasoning_tokens\":46,\"image_tokens\":0,\"audio_tokens\":0}}}"
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 3.273252709s
