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: 809
10    host: generativelanguage.googleapis.com
11    body: |
12      {"contents":[{"parts":[{"text":"Add and multiply the number 2 and 3"}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000},"systemInstruction":{"parts":[{"text":"You are a helpful assistant. Always use both add and multiply at the same time."}],"role":"user"},"toolConfig":{"functionCallingConfig":{"mode":"AUTO"}},"tools":[{"functionDeclarations":[{"description":"Add two numbers","name":"add","parameters":{"properties":{"a":{"description":"first number","type":"INTEGER"},"b":{"description":"second number","type":"INTEGER"}},"required":["a","b"],"type":"OBJECT"}},{"description":"Multiply two numbers","name":"multiply","parameters":{"properties":{"a":{"description":"first number","type":"INTEGER"},"b":{"description":"second number","type":"INTEGER"}},"required":["a","b"],"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\": [{\"functionCall\": {\"name\": \"add\",\"args\": {\"a\": 2,\"b\": 3}},\"thoughtSignature\": \"CiQAMDEyM7y/wJvle9H/ekhz/c4+Ce/W+U6hquBT5IxsfDMOQCYKXgAwMTIzWD1quQehsgBRbbQIb4N9aHtIKnu5KC+fWwJ0qMKDcxiZqn8B/RxLKATLm2DM4+zOFX2/krQW+/ShV71Ngjxx3i9XpZlSwBu9DREDdkS7Fknzusxmeh1B47MKiwEAMDEyM7pnSAMl8nSvleQVsTJjuP/qhwGHUYPn3+NvR42c4S0eHa9xCN4oUyFYStUxz8nqjSKhljwJMD+8L57dTLodpUKlOyuMV9ERdPdklT18jUQc/KiykSZw0m4fdTUSm02+Dgf7Ar2XLa7t5r5GXDCrlXGomSA8spVaTLKbdmaZ3SfdDH8zwoDCCocBADAxMjPSj9qhCP7GOfWIyJ9Wdzm1fZtFMbfpOcj+GWX29v0NInD72rEnOr3IaFgCEDtIXkivAo8DVbOSfRM9p/IJq+eHUFyu1h+5/hoJ02vto4EYgRUYslcp0HpFePJY07AtteBLPWyYN8eUzRLVis64BHB21xDcN9OqODmpIGOFcymoF+yzCnEAMDEyM/5NuMhYGYKfsdn23hHFvIc9Gx0ECxXSSoQ3co3Kd/C0Hruis7/jD/5o3Os6uipn2TFyHRgBlFyqYCFN9419VgR7Z2cv4DxZMqPsSO4y/96t9elOQFfmh4k2Y0FXr5la9pjV+4+9gxP5w60SCwpnADAxMjM7orP6u/v7wdr8RJAOaN78ZlvrjXqT/JAEbIVamKpoGFWpkaRmzXRHy6u6cTuE9MoEzXZL/jmUx1dU4lm89QTjkp5UHvc2F8COgxEqI3j0vjLPTNoxZyYdQwx7CuSdRhGIqQplADAxMjO/9cBSAtAwIzb5Z+/GHCU2RQWkqtcIMbLhUSDgETcEeZ8GdMWiaAcdRF6BNalgcq4aduMvoWIHY3VwWKLTlvyB99oX9jpzYP1wHPDKnb0DM1bZecSIq63wdalB3kbsWHsKhgEAMDEyM9mhHHqmKYjUbSNUJ7Q3iCzWgDT6hf7mqv6xCzKeeDpyAE3U+CSUnlh+HUSvj9Qp4H+v7SVmndUTWl/6BQht7NfuldoB4gaNVRQhfhvQEpFtFFGiP+Hgh/Fqz9n44K6yB/C2D9XghUdvQdYa2wakavP/f4JT4kkdph9h4+K87186ZgpEADAxMjOOt4RZQFYJ853EhuT3VM0Xe3SWNyeHZqJSwOw47syn0Qv85zcMaeLzEXF98K8Zclz1+2LkxMAzqXWXN3dF8BE=\"}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 121,\"candidatesTokenCount\": 18,\"totalTokenCount\": 326,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 121}],\"thoughtsTokenCount\": 187},\"modelVersion\": \"gemini-2.5-pro\",\"responseId\": \"DHPWaITGFqe5nsEP0f-NgQc\"}\r\n\r\ndata: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": {\"name\": \"multiply\",\"args\": {\"a\": 2,\"b\": 3}}}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 121,\"candidatesTokenCount\": 36,\"totalTokenCount\": 344,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 121}],\"thoughtsTokenCount\": 187},\"modelVersion\": \"gemini-2.5-pro\",\"responseId\": \"DHPWaITGFqe5nsEP0f-NgQc\"}\r\n\r\n"
29    headers:
30      Content-Type:
31      - text/event-stream
32    status: 200 OK
33    code: 200
34    duration: 4.498333334s
35- id: 1
36  request:
37    proto: HTTP/1.1
38    proto_major: 1
39    proto_minor: 1
40    content_length: 1156
41    host: generativelanguage.googleapis.com
42    body: |
43      {"contents":[{"parts":[{"text":"Add and multiply the number 2 and 3"}],"role":"user"},{"parts":[{"functionCall":{"args":{"a":2,"b":3},"id":"add","name":"add"}},{"functionCall":{"args":{"a":2,"b":3},"id":"multiply","name":"multiply"}}],"role":"model"},{"parts":[{"functionResponse":{"id":"add","name":"add","response":{"result":"5"}}},{"functionResponse":{"id":"multiply","name":"multiply","response":{"result":"6"}}}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000},"systemInstruction":{"parts":[{"text":"You are a helpful assistant. Always use both add and multiply at the same time."}],"role":"user"},"toolConfig":{"functionCallingConfig":{"mode":"AUTO"}},"tools":[{"functionDeclarations":[{"description":"Add two numbers","name":"add","parameters":{"properties":{"a":{"description":"first number","type":"INTEGER"},"b":{"description":"second number","type":"INTEGER"}},"required":["a","b"],"type":"OBJECT"}},{"description":"Multiply two numbers","name":"multiply","parameters":{"properties":{"a":{"description":"first number","type":"INTEGER"},"b":{"description":"second number","type":"INTEGER"}},"required":["a","b"],"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\": \"The\"}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 181,\"candidatesTokenCount\": 1,\"totalTokenCount\": 182,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 181}]},\"modelVersion\": \"gemini-2.5-pro\",\"responseId\": \"EXPWaOXfNY3j7M8P3bON6AE\"}\r\n\r\ndata: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" sum of 2 and 3 is 5. The product of 2 and 3\"}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 181,\"candidatesTokenCount\": 20,\"totalTokenCount\": 201,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 181}]},\"modelVersion\": \"gemini-2.5-pro\",\"responseId\": \"EXPWaOXfNY3j7M8P3bON6AE\"}\r\n\r\ndata: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" is 6.\\n\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 181,\"candidatesTokenCount\": 24,\"totalTokenCount\": 205,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 181}]},\"modelVersion\": \"gemini-2.5-pro\",\"responseId\": \"EXPWaOXfNY3j7M8P3bON6AE\"}\r\n\r\n"
60    headers:
61      Content-Type:
62      - text/event-stream
63    status: 200 OK
64    code: 200
65    duration: 3.872278375s