thinking-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: 550
10    host: generativelanguage.googleapis.com
11    body: |
12      {"contents":[{"parts":[{"text":"What's the weather in Florence, Italy?"}],"role":"user"}],"generationConfig":{"thinkingConfig":{"includeThoughts":true,"thinkingBudget":128}},"systemInstruction":{"parts":[{"text":"You are a helpful assistant"}],"role":"user"},"toolConfig":{"functionCallingConfig":{"mode":"AUTO"}},"tools":[{"functionDeclarations":[{"description":"Get weather information for a location","name":"weather","parameters":{"properties":{"location":{"description":"the city","type":"STRING"}},"required":["location"],"type":"OBJECT"}}]}]}
13    form:
14      alt:
15      - sse
16    headers:
17      Content-Type:
18      - application/json
19      User-Agent:
20      - google-genai-sdk/1.23.0 gl-go/go1.25.1
21    url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:streamGenerateContent?alt=sse
22    method: POST
23  response:
24    proto: HTTP/2.0
25    proto_major: 2
26    proto_minor: 0
27    content_length: -1
28    body: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"**Determining Weather Parameters**\\n\\nI've zeroed in on the user's request: weather in Florence, Italy. It looks like the `weather.get_weather` function is the key, taking a 'location' parameter. I'm setting that 'location' parameter to \\\"Florence, Italy\\\".\\n\\n\\n\",\"thought\": true}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 54,\"totalTokenCount\": 120,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 54}],\"thoughtsTokenCount\": 66},\"modelVersion\": \"gemini-2.5-pro\",\"responseId\": \"H3PWaM6bBs2unsEPxMjWiAE\"}\r\n\r\ndata: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": {\"name\": \"weather\",\"args\": {\"location\": \"Florence, Italy\"}},\"thoughtSignature\": \"CiIAMDEyM0c+NCJiy3JYj0XsvZTkXuxLKGihdjDat3f5/7MLCmcAMDEyM09qXk3Bi2pPwg2Cd9+7MfbfahSwcfaEEEKsuJoZxhKBtT2fk4IM+uXzoxDXaLbFm9F9xq8BP3/LD43xkPDFR/fdIMX+FDeWIcoanKT5KaLZ8oEbAnaSyjNYtT2rnLOI2oVCCoYBADAxMjNl5B+PwPpQYdh6yiUZTp+IG+mGlaKFT+mbCMfFoeXBV7zsuEy8VB/zDk32MmLGpavVKboxQh5vK/0q9iStZDq/mpNilf3IMvLbCRU+1xMaRyE6GMYNYMPFLjbXp4aVaLtX6EaSjXnVo5ReqTnFTZVQPpUMy3siCQw6fiU+eQmH8fsKcAAwMTIz43hmoPPgQ1gQePbuV/plxGwv6JVW85ei/79k5Fza521goyRkMxofrwwDET4jw+6KjEPO9s7A393hLOIzFqrJpM8AJ5om+XoGlT2PVWxRBO5d7gMCNNjirCsULSS+4Qr7GscMcsmV409jKt0=\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 54,\"candidatesTokenCount\": 14,\"totalTokenCount\": 134,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 54}],\"thoughtsTokenCount\": 66},\"modelVersion\": \"gemini-2.5-pro\",\"responseId\": \"H3PWaM6bBs2unsEPxMjWiAE\"}\r\n\r\n"
29    headers:
30      Content-Type:
31      - text/event-stream
32    status: 200 OK
33    code: 200
34    duration: 3.749029209s
35- id: 1
36  request:
37    proto: HTTP/1.1
38    proto_major: 1
39    proto_minor: 1
40    content_length: 776
41    host: generativelanguage.googleapis.com
42    body: |
43      {"contents":[{"parts":[{"text":"What's the weather in Florence, Italy?"}],"role":"user"},{"parts":[{"functionCall":{"args":{"location":"Florence, Italy"},"id":"weather","name":"weather"}}],"role":"model"},{"parts":[{"functionResponse":{"id":"weather","name":"weather","response":{"result":"40 C"}}}],"role":"user"}],"generationConfig":{"thinkingConfig":{"includeThoughts":true,"thinkingBudget":128}},"systemInstruction":{"parts":[{"text":"You are a helpful assistant"}],"role":"user"},"toolConfig":{"functionCallingConfig":{"mode":"AUTO"}},"tools":[{"functionDeclarations":[{"description":"Get weather information for a location","name":"weather","parameters":{"properties":{"location":{"description":"the city","type":"STRING"}},"required":["location"],"type":"OBJECT"}}]}]}
44    form:
45      alt:
46      - sse
47    headers:
48      Content-Type:
49      - application/json
50      User-Agent:
51      - google-genai-sdk/1.23.0 gl-go/go1.25.1
52    url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:streamGenerateContent?alt=sse
53    method: POST
54  response:
55    proto: HTTP/2.0
56    proto_major: 2
57    proto_minor: 0
58    content_length: -1
59    body: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"Florence\"}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 84,\"candidatesTokenCount\": 1,\"totalTokenCount\": 85,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 84}]},\"modelVersion\": \"gemini-2.5-pro\",\"responseId\": \"IXPWaO3LNI3j7M8P07ON6AE\"}\r\n\r\ndata: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" is a beautiful city! The weather right now is 40 C.\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 84,\"candidatesTokenCount\": 16,\"totalTokenCount\": 100,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 84}]},\"modelVersion\": \"gemini-2.5-pro\",\"responseId\": \"IXPWaO3LNI3j7M8P07ON6AE\"}\r\n\r\n"
60    headers:
61      Content-Type:
62      - text/event-stream
63    status: 200 OK
64    code: 200
65    duration: 1.450682458s