Detailed changes
@@ -7,7 +7,6 @@ require (
github.com/aws/aws-sdk-go-v2 v1.39.5
github.com/aws/smithy-go v1.23.1
github.com/charmbracelet/anthropic-sdk-go v0.0.0-20251024181547-21d6f3d9a904
- github.com/charmbracelet/go-genai v0.0.0-20251021165952-9befde14ce97
github.com/charmbracelet/x/exp/slice v0.0.0-20250904123553-b4e2667e5ad5
github.com/charmbracelet/x/json v0.2.0
github.com/go-viper/mapstructure/v2 v2.4.0
@@ -17,6 +16,7 @@ require (
github.com/stretchr/testify v1.11.1
go.yaml.in/yaml/v4 v4.0.0-rc.2
golang.org/x/oauth2 v0.32.0
+ google.golang.org/genai v1.33.1-0.20251103191629-d15baab4f79e
gopkg.in/dnaeon/go-vcr.v4 v4.0.6-0.20250923044825-7b4892dd3117
)
@@ -44,8 +44,6 @@ github.com/aws/smithy-go v1.23.1 h1:sLvcH6dfAFwGkHLZ7dGiYF7aK6mg4CgKA/iDKjLDt9M=
github.com/aws/smithy-go v1.23.1/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0=
github.com/charmbracelet/anthropic-sdk-go v0.0.0-20251024181547-21d6f3d9a904 h1:rwLdEpG9wE6kL69KkEKDiWprO8pQOZHZXeod6+9K+mw=
github.com/charmbracelet/anthropic-sdk-go v0.0.0-20251024181547-21d6f3d9a904/go.mod h1:8TIYxZxsuCqqeJ0lga/b91tBwrbjoHDC66Sq5t8N2R4=
-github.com/charmbracelet/go-genai v0.0.0-20251021165952-9befde14ce97 h1:HK7B5Q+0FidxjQD5CovniMw7axkUeMHwgVkxkbmiW/s=
-github.com/charmbracelet/go-genai v0.0.0-20251021165952-9befde14ce97/go.mod h1:ZagL2esO4qxlOJBj0d4PVvLM82akQFtne8s3ivxBnTQ=
github.com/charmbracelet/x/exp/slice v0.0.0-20250904123553-b4e2667e5ad5 h1:DTSZxdV9qQagD4iGcAt9RgaRBZtJl01bfKgdLzUzUPI=
github.com/charmbracelet/x/exp/slice v0.0.0-20250904123553-b4e2667e5ad5/go.mod h1:vI5nDVMWi6veaYH+0Fmvpbe/+cv/iJfMntdh+N0+Tms=
github.com/charmbracelet/x/json v0.2.0 h1:DqB+ZGx2h+Z+1s98HOuOyli+i97wsFQIxP2ZQANTPrQ=
@@ -139,6 +137,8 @@ golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=
golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
google.golang.org/api v0.239.0 h1:2hZKUnFZEy81eugPs4e2XzIJ5SOwQg0G82bpXD65Puo=
google.golang.org/api v0.239.0/go.mod h1:cOVEm2TpdAGHL2z+UwyS+kmlGr3bVWQQ6sYEqkKje50=
+google.golang.org/genai v1.33.1-0.20251103191629-d15baab4f79e h1:pGBT6ptC4ENtN9wA4dGhvjwrYpVZ6X9Lnpwu4Y+jozk=
+google.golang.org/genai v1.33.1-0.20251103191629-d15baab4f79e/go.mod h1:7pAilaICJlQBonjKKJNhftDFv3SREhZcTe9F6nRcjbg=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 h1:fc6jSaCT0vBduLYZHYrBBNY4dsWuvgyff9noRNDdBeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
@@ -13,9 +13,9 @@ import (
"charm.land/fantasy"
"charm.land/fantasy/providers/anthropic"
"cloud.google.com/go/auth"
- "github.com/charmbracelet/go-genai"
"github.com/charmbracelet/x/exp/slice"
"github.com/google/uuid"
+ "google.golang.org/genai"
)
// Name is the name of the Google provider.
@@ -162,6 +162,10 @@ func (a *provider) LanguageModel(ctx context.Context, modelID string) (fantasy.L
}
if a.options.skipAuth {
cc.Credentials = &auth.Credentials{TokenProvider: dummyTokenProvider{}}
+ } else if cc.Backend == genai.BackendVertexAI {
+ if err := cc.UseDefaultCredentials(); err != nil {
+ return nil, err
+ }
}
if a.options.baseURL != "" || len(a.options.headers) > 0 {
@@ -14,7 +14,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent
method: POST
response:
@@ -37,7 +37,7 @@ interactions:
"b": 3
}
},
- "thoughtSignature": "CrwBAdHtim/FP8KqTMIQ2DVD+5BAiIXjN0k+ERNVFbVGtenSKcR/G6MtoIcIE/2nxX2ysKRnwClCPnq5+/KJSzS8uFjvU0577RF+LrP7bRIXSNoufBoAJV0aKusqd1DtXQBZif76FBAMtgiG42NALcM0+Jxs2JaKOhFof+1GhNOi8Zbnj+S/YYkU34CvqANixzHQCFkLpFpHbOmsqfYaiMol4juPFMVOJg2w1WZMS/0mE36gP5C8i8p3B0njO9E="
+ "thoughtSignature": "CrwBAdHtim+wl6784Zk4lDQyf935vvgPxSmTr5FU84nEUq8ijt+y5Ajfd9AXfYybZQjoWoSaAORt4/EsHJNCd45DrAwz8UZYKIvpGgw9k5aKjLYYgw5GkRc2Cgs6uy4AlHHRIkyWMQfaxIcyV2a0Mm4aiT419RVlLd5vIVxEVHlUVawR/9Sds+EuksQP/EKQfuNaAAFXhunEQmJJiMdyGWKMhXYF+L2jMBTN9DxGpoXBiNeu4w/a32l1OTtxdog="
},
{
"functionCall": {
@@ -69,14 +69,14 @@ interactions:
"thoughtsTokenCount": 40
},
"modelVersion": "gemini-2.5-flash",
- "responseId": "WtH5aJy3I4K0nsEPiZnbmQs"
+ "responseId": "9AcJad7SDPSGz7IPjsKs6A0"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 1.046624584s
+ duration: 3.031359958s
- id: 1
request:
proto: HTTP/1.1
@@ -90,7 +90,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent
method: POST
response:
@@ -106,7 +106,7 @@ interactions:
"content": {
"parts": [
{
- "text": "The sum of 2 and 3 is 5. The product of 2 and 3 is 6."
+ "text": "The sum is 5 and the product is 6."
}
],
"role": "model"
@@ -117,8 +117,8 @@ interactions:
],
"usageMetadata": {
"promptTokenCount": 185,
- "candidatesTokenCount": 24,
- "totalTokenCount": 209,
+ "candidatesTokenCount": 12,
+ "totalTokenCount": 197,
"promptTokensDetails": [
{
"modality": "TEXT",
@@ -127,11 +127,11 @@ interactions:
]
},
"modelVersion": "gemini-2.5-flash",
- "responseId": "W9H5aO2FIdbj7M8Pjvyl8QI"
+ "responseId": "9QcJaYSCJPSGz7IPhcKs6A0"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 1.09843275s
+ duration: 1.487203542s
@@ -17,7 +17,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse
method: POST
response:
@@ -25,13 +25,13 @@ interactions:
proto_major: 2
proto_minor: 0
content_length: -1
- body: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": {\"name\": \"add\",\"args\": {\"a\": 2,\"b\": 3}},\"thoughtSignature\": \"CiQB0e2Kb02QlBJ2I5/zDqv1c0AUEV+Ct+vGYwdFdWC3cx3yIuUKXQHR7Ypv3ZUytEmQlCdJhzrfshB8YFIoW134jv3AuUL8L16mz3cXjEvhr8tAFeSEScUollNyBu/e3OFraKdblEfpDXY2UASkOMhrezbveAaD4bxTeBmXbcJNqLFeTwp/AdHtim8YarufF4O5TXWRjFYgnIppzlQcQfTEyqqmA8J3gLjGgyROG7/2MSw/0EakJKFOXuFth2Sdskl1sLjsD7lOvAxbmzDHITcg9l39JrSaXcHN405OLs1bfgIhKdi8m/wq+MXPL72IOuO6YjuBjud9qruxF3/THtP+netVeA==\"},{\"functionCall\": {\"name\": \"multiply\",\"args\": {\"b\": 3,\"a\": 2}}}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0,\"finishMessage\": \"Model generated function call(s).\"}],\"usageMetadata\": {\"promptTokenCount\": 121,\"candidatesTokenCount\": 36,\"totalTokenCount\": 196,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 121}],\"thoughtsTokenCount\": 39},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": \"XNH5aLSAF8GznsEP9sXIsAs\"}\r\n\r\n"
+ body: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": {\"name\": \"add\",\"args\": {\"b\": 3,\"a\": 2}},\"thoughtSignature\": \"CikB0e2Kb/HMQc6i7UBRyFsYt3Py//kiN1i+ogTc09WPsRdhdlrPbqY0dQpYAdHtim8DpoYoaf6/9WaPOuM4ieoyrooxEGgr+rAl5vIIQ4mHHGPK3ES36kZb5fJGPx3mhtjks/+IGCakkpTqeVM5b8/uRyU+wFaI0KauqOwXHOhzt7euogp/AdHtim+wDPZH2rIZ9gMZsEEmpRPJB6D9vvfWb5DkLAc6lIG7AFW4Kzih+bkvgt96liwfadjYmkq/yepyTwMlArb+AA2NyudR0MgHxyh+l5BN/gxRZNmGhKfZprKbIPDiHstjnpJXZy136L25YwkcerUaVSUUi/bUUrScZW6IXQ==\"},{\"functionCall\": {\"name\": \"multiply\",\"args\": {\"b\": 3,\"a\": 2}}}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0,\"finishMessage\": \"Model generated function call(s).\"}],\"usageMetadata\": {\"promptTokenCount\": 121,\"candidatesTokenCount\": 36,\"totalTokenCount\": 196,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 121}],\"thoughtsTokenCount\": 39},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": \"9gcJaf-cE-uJz7IPu5TY2QE\"}\r\n\r\n"
headers:
Content-Type:
- text/event-stream
status: 200 OK
code: 200
- duration: 1.227179416s
+ duration: 1.219170666s
- id: 1
request:
proto: HTTP/1.1
@@ -48,7 +48,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse
method: POST
response:
@@ -56,10 +56,10 @@ interactions:
proto_major: 2
proto_minor: 0
content_length: -1
@@ -14,7 +14,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent
method: POST
response:
@@ -42,21 +42,21 @@ interactions:
"usageMetadata": {
"promptTokenCount": 11,
"candidatesTokenCount": 2,
- "totalTokenCount": 51,
+ "totalTokenCount": 42,
"promptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 11
}
],
- "thoughtsTokenCount": 38
+ "thoughtsTokenCount": 29
},
"modelVersion": "gemini-2.5-flash",
- "responseId": "VNH5aLz3OsyinsEP1JWGwAY"
+ "responseId": "6gcJafzNJPSHz7IPwvXNgAs"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 1.251824334s
+ duration: 2.003357083s
@@ -17,7 +17,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse
method: POST
response:
@@ -25,10 +25,10 @@ interactions:
proto_major: 2
proto_minor: 0
content_length: -1
- body: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"OlΓ‘!\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 11,\"candidatesTokenCount\": 2,\"totalTokenCount\": 36,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"thoughtsTokenCount\": 23},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": \"VtH5aOrPCKXe7M8PyIqmyAQ\"}\r\n\r\n"
+ body: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"OlΓ‘!\\n\\nIn Portuguese, \\\"hi\\\" is **OlΓ‘!**\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 11,\"candidatesTokenCount\": 14,\"totalTokenCount\": 49,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"thoughtsTokenCount\": 24},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": \"6wcJab6wEJucz7IP3f6J4Qk\"}\r\n\r\n"
headers:
Content-Type:
- text/event-stream
status: 200 OK
code: 200
- duration: 1.273950833s
+ duration: 835.455625ms
@@ -14,7 +14,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent
method: POST
response:
@@ -33,10 +33,10 @@ interactions:
"functionCall": {
"name": "weather",
"args": {
- "location": "Florence,Italy"
+ "location": "Florence, Italy"
}
},
- "thoughtSignature": "Cq4CAdHtim/sCKoBA0iloUCbLJWtYGJ3Erj6sIXdg1uSnBCPSFzy/3AeL+OpNUxx+N1pYyE7i0pmxs4o2aws3AdQiEN3ATSeiIVjI9BSNXo32VsDtcGmKtB1Gd+p/3MJSh9BCfA1ob6StFyP6Fn7aUoXpPEzV0JN54wDGaBskFWVwXY3sSx7vNU4akaRYYATrg49z66uUqPN+j95C2d8dRYBJe7bJqYbLi4w96Wzl5gLpAURmMv/XlJrK33cf/69yTrxVmQ2nxIeP7ok710y5FIz1n3x1GmQ6ZsQsoJ6QfDLr3lmTFH0DP91MUYB0w28nJ/dMz61MYzOWPNsL1GgHce13+sQTfxLGli+7Tw9/aNXJkxlU9mBpRCdHrLJXLvT9dctSeQ0BzOrrmmFckp3sRs="
+ "thoughtSignature": "CvYBAdHtim+VrL2UvucUTXguiAiFr1B+yVyHmXWGv262dyNf/DOFOwEVrAAoqSE8NbBv/nkGGVn7PkdDdEKEa+1uCDOMMa0K8FUj6zu3ZivA2JYeqY/ASmq6BnC8JMrvHObNh7KxKI7H7TJ4GzG7uoWUBuwTmmecQcN19f59Zf36Gekwa10X673O1v02WK4D2H+hGfnnNYauwrlMHjDYkruYSrb2u6QcEoLnASnW5WU9ESLGbZy0uqKMztlFvhDcoUCEPboy4p4KjUt0S/iEpjHc2bDjq+EqYS8icqu9zo2UeVREa6nPSOspkW0AGVedfMheSaeJHw4A"
}
],
"role": "model"
@@ -49,38 +49,38 @@ interactions:
"usageMetadata": {
"promptTokenCount": 54,
"candidatesTokenCount": 15,
- "totalTokenCount": 134,
+ "totalTokenCount": 120,
"promptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 54
}
],
- "thoughtsTokenCount": 65
+ "thoughtsTokenCount": 51
},
"modelVersion": "gemini-2.5-flash",
- "responseId": "V9H5aMaoC7b1kdUP5pDSgA0"
+ "responseId": "7QcJadHhA7zQz7IP_7Hy4AY"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 912.648167ms
+ duration: 1.571397s
- id: 1
request:
proto: HTTP/1.1
proto_major: 1
proto_minor: 1
- content_length: 722
+ content_length: 723
host: generativelanguage.googleapis.com
body: |
- {"contents":[{"parts":[{"text":"What's the weather in Florence,Italy?"}],"role":"user"},{"parts":[{"functionCall":{"args":{"location":"Florence,Italy"},"id":"1","name":"weather"}}],"role":"model"},{"parts":[{"functionResponse":{"id":"1","name":"weather","response":{"result":"40 C"}}}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000},"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"}}]}]}
+ {"contents":[{"parts":[{"text":"What's the weather in Florence,Italy?"}],"role":"user"},{"parts":[{"functionCall":{"args":{"location":"Florence, Italy"},"id":"1","name":"weather"}}],"role":"model"},{"parts":[{"functionResponse":{"id":"1","name":"weather","response":{"result":"40 C"}}}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000},"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"}}]}]}
headers:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent
method: POST
response:
@@ -117,11 +117,11 @@ interactions:
]
},
"modelVersion": "gemini-2.5-flash",
- "responseId": "V9H5aPKVNI_i7M8P5667uQs"
+ "responseId": "7gcJadaCEfODz7IP5-D4uAo"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 754.80525ms
+ duration: 1.260155292s
@@ -17,7 +17,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse
method: POST
response:
@@ -25,13 +25,13 @@ interactions:
proto_major: 2
proto_minor: 0
content_length: -1
@@ -14,7 +14,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent
method: POST
response:
@@ -37,14 +37,14 @@ interactions:
"b": 3
}
},
- "thoughtSignature": "CsoFAdHtim+KBwj8VhhtWPwHBKgsH6dtIfSN4UcLG1h1wVl+dlvTMhaJM6YG/Kk6nkH9eFwqxegt0E36kNDU0Bpvqu9I8HBczBdrHD88KH0J1dfJFlmAOPrpNQo9wCsGFYPNcMxWd4daJem3NseOfDV+M5dsbhjGT8HQ+g8ZAe02xHjPnaogeq5ehnVDwK1iEqTkhZ01916zrjpqkCI0g4Shecz5CMLXO9KWGv4uGqTPPtw8qr+WEUdz86jVsmIfehGL3wZYvu87BoUfAdapQMJKhl+jHf1NUHGTIrXpx+4ytQuI966SvC36SRj5SgfMiFHYz6Whf/dtD6733w2DfOD1V8ks8yp/r8qNQkXjZHQUXypbEBnW/snrtbNuRRF+l0V1vz9FaKcHL5QhVwLDsH9H//hVmtFs+UA79DPSJL/kqtdhyAewQ15MOU4IpeoUhoofGSEaT7zmji5/Tr2RT3bTIW0o6itpcKKHft9+jYWkAzXO4JN97ceWwJbA/wRTF9DrqPERbUDxsAZdLfPjJRwm+Cg6sjtZA8sPhdlHKVJrnM6LnyAVr9jGtgjNRcJRa0M3IrP64JJ1JHp+6Cpdi/jU6JdJ0s/awYgDg5OpEX8STUSMjqOoWCVBOsLEFj0VzRpa3ABbidMYj/enEdZ4jCGAVGxrXLAYxWf5CO+DXN6flUMAPMcD+LkaMhdROa6+q9Oe0uCLOGL2DT2xZof2FWw0vks2DzkVHGr/QQVWNZQdhIEQinGrQBaqgfw3jtxnZs+LYWAD5s2Hev+2BY/MqPCw3/yxxTbU+FFoA44AkbfW6eKlCHvoXXVaijZ/+M0t4pAtEkqKzEnk5HVi7aXcSj2nNR4DvpHifDOQ7zOZBumDU6EHYnFT9nJh/GjvUUKK0daXTc9IPwfxyeIn/0hAExQlWIlErjHoHtk8UU9OwLcNIpy7bH+VYDaFxNkb"
+ "thoughtSignature": "CpECAdHtim+6+kabSNJ55G1aHXgyrJEt4/hov4uGHkcSqzlgfBd4clna+c9UpSL1rvSqMOb2E8NohfunKGm4ZHHOX9X+dBKww0ekyLz+83CF28LbsOzDHrPtIiRYoDaL/75h/HzhboaPK+aunAUglNLxM/b5yrr2tT0jKvz4LzuymTYHCpzBCcoIecoeuT0RO/WaUsjB8CMRGxnigv2XtuFkBxxzk2OWPmhSM6KTeIQTVe0d3T4HjKe2L76XG1WeaV3weeMxeCyrqX4ycxH2fJ1h5cG5EONLNxqA9eHREWu/j5ABiOGxZv2ih6xU/xyo5apwpLAwVSYtyDKXiTH4T6Wp/V7t8E7Urj4smOABFupCATUl"
},
{
"functionCall": {
"name": "multiply",
"args": {
- "b": 3,
- "a": 2
+ "a": 2,
+ "b": 3
}
}
}
@@ -59,24 +59,24 @@ interactions:
"usageMetadata": {
"promptTokenCount": 125,
"candidatesTokenCount": 36,
- "totalTokenCount": 347,
+ "totalTokenCount": 234,
"promptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 125
}
],
- "thoughtsTokenCount": 186
+ "thoughtsTokenCount": 73
},
"modelVersion": "gemini-2.5-pro",
- "responseId": "hNH5aIqjLcjz7M8PsbmN8AI"
+ "responseId": "DQkJadesHOWzqtsP98mO8Ao"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 5.258761542s
+ duration: 2.444643917s
- id: 1
request:
proto: HTTP/1.1
@@ -90,7 +90,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent
method: POST
response:
@@ -106,7 +106,7 @@ interactions:
"content": {
"parts": [
{
- "text": "The sum is 5 and the product is 6.\n"
+ "text": "The sum is 5 and the product is 6. \n"
}
],
"role": "model"
@@ -127,11 +127,11 @@ interactions:
]
},
"modelVersion": "gemini-2.5-pro",
- "responseId": "h9H5aKLELY7gnsEP56C2iAs"
+ "responseId": "DwkJadePAt-kqtsP1JHw4Qo"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 3.176918083s
+ duration: 1.534345s
@@ -17,7 +17,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:streamGenerateContent?alt=sse
method: POST
response:
@@ -25,13 +25,13 @@ interactions:
proto_major: 2
proto_minor: 0
content_length: -1
@@ -14,7 +14,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent
method: POST
response:
@@ -30,7 +30,7 @@ interactions:
"content": {
"parts": [
{
- "text": "Of course!\n\nThe most common ways to say \"hi\" in Portuguese are:\n\n* **OlΓ‘** (This is like \"hello\" and works in any situation, formal or informal.)\n* **Oi** (This is more like \"hi\" and is very common and informal, especially in Brazil.)\n\nYou can also use a friendly greeting like:\n\n* **Tudo bem?** (Literally \"All good?\" but used to mean \"How are you?\")"
+ "text": "Of course!\n\nThe most common ways to say \"hi\" in Portuguese are:\n\n* **OlΓ‘** (This is the standard \"hello,\" and it works in any situation.)\n* **Oi** (This is a more informal and very common \"hi,\" especially in Brazil.)\n\nYou might also hear people greet each other with:\n\n* **Tudo bem?** (Which means \"How are you?\" or \"Is everything okay?\")"
}
],
"role": "model"
@@ -41,22 +41,22 @@ interactions:
],
"usageMetadata": {
"promptTokenCount": 11,
- "candidatesTokenCount": 100,
- "totalTokenCount": 893,
+ "candidatesTokenCount": 94,
+ "totalTokenCount": 802,
"promptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 11
}
],
- "thoughtsTokenCount": 782
+ "thoughtsTokenCount": 697
},
"modelVersion": "gemini-2.5-pro",
- "responseId": "Z9H5aM_PPKKBkdUP-OO7oAM"
+ "responseId": "AQgJabbjM5rQz7IPgq_yiAc"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 10.457368166s
+ duration: 8.976729125s
@@ -17,7 +17,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:streamGenerateContent?alt=sse
method: POST
response:
@@ -25,10 +25,10 @@ interactions:
proto_major: 2
proto_minor: 0
content_length: -1
@@ -14,7 +14,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent
method: POST
response:
@@ -36,7 +36,7 @@ interactions:
"location": "Florence, Italy"
}
},
- "thoughtSignature": "CoUDAdHtim/bgtT9Odj2/r1QcjzgE9Zr7qHxmcWWEWix5kqp2At0qQunrv0dH5Lpnh6leBLIjYTZh9Zws11pzYaMxpo8FuY9ajBeG2xcYNkBtmCpNTwXNMODKv90J0jq6PM3RsddM4a0yqfcr8ES2PEtD6XY5KJBdtmcdgIZI6T0S03ITXOXfcwtAoOP5Jm0cdl2YmnvafVbJYCnNlZjuOvpGCMaJIsW8fG9lJZRJKDeg7v80t5sN91085qOP1ZdfhiXxOB/GumlRYO/u35IK3Me35wJI+oFCb1tFxEK7w6HrCBBXduvZqneGgwZyMH+clrRZ6euFhy5uF5xUJPPfeXxLJIw40x6l1bWjAmOtTtiQXFmTSYLerz1iZeFPnZxzbRz0Vr9k4kUBjEEppCgKHm/VN0dfsG0bmrRBIgkJ166xlhwZBJu6cic2Iabw50Sow/VLhzYCXuLQ7lfcL2g5s6arkIAEY62N9gIYpGNRWWh9qghP47ouM5cKzCe1WVWAHIXcs1XBrU="
+ "thoughtSignature": "CoUDAdHtim8N4HKZPr0LvOdoOCBZCvZIDq+277VOB/Ee7dBu8J4m0pT+8u9m55SqUFvQcQVSxjJEIvR/o6eUzbeSKwJ9s9MgEnQoNXUktpSUuiJ7HJhdapcQnZbCRPrcs+zdqSQGdXHdpjRguIVDRG+r5GnD40lYk1AurV31uEe6Jpox1MIfPxNOLnhuVDwjhAv2zqW0e6hf9ZtmlXk6qtIoLOnFxRAAx2NqZYA22kkoA0s0DtSTAUDQTMr+NrXTbOELd3ZeVjLBsWutkYNwIRWAnzNJ1il3A8xbmEh8YL4Uy+nH48ROgams6PCuxtxTEyOk0sAOKQkfid1STQfDO3VAoB4ne7cgNDh80y1fAo/5cXSGkeMPLqgyZr2jeIx7lWWWDaOHw/ieZDTaJGInBy5blOEkWxKl8mKKgAbvALOEFCdVDwFN+maw17w/Y0FtKWgk8zrdsM8naF/mBtGkulhMDoqjB0XNcIihur24NuD8vyifQl+s7MkkdctYLxdSXVFhfiB5D8w="
}
],
"role": "model"
@@ -59,14 +59,14 @@ interactions:
"thoughtsTokenCount": 93
},
"modelVersion": "gemini-2.5-pro",
- "responseId": "dNH5aK6UFNX1kdUPluXGkAs"
+ "responseId": "DQgJaczjHfHAz7IPo92A4QY"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 3.179773083s
+ duration: 2.028702667s
- id: 1
request:
proto: HTTP/1.1
@@ -80,7 +80,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent
method: POST
response:
@@ -96,7 +96,7 @@ interactions:
"content": {
"parts": [
{
- "text": "The weather in Florence, Italy is 40 C. \n"
+ "text": "The weather in Florence, Italy is 40 degrees Celsius. \n"
}
],
"role": "model"
@@ -107,8 +107,8 @@ interactions:
],
"usageMetadata": {
"promptTokenCount": 84,
- "candidatesTokenCount": 12,
- "totalTokenCount": 96,
+ "candidatesTokenCount": 13,
+ "totalTokenCount": 97,
"promptTokensDetails": [
{
"modality": "TEXT",
@@ -117,11 +117,11 @@ interactions:
]
},
"modelVersion": "gemini-2.5-pro",
- "responseId": "d9H5aJKyGI3rnsEP9MvF6Qs"
+ "responseId": "DggJacXrMP2Hz7IP-sawqQ0"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 3.521672167s
+ duration: 1.309785584s
@@ -17,7 +17,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:streamGenerateContent?alt=sse
method: POST
response:
@@ -25,22 +25,22 @@ interactions:
proto_major: 2
proto_minor: 0
content_length: -1
@@ -24,10 +24,10 @@ interactions:
proto_minor: 0
content_length: -1
uncompressed: true
- body: '{"model":"claude-3-7-sonnet-20250219","id":"msg_vrtx_01RTPizSndQfkUH6eWrcFtk8","type":"message","role":"assistant","content":[{"type":"text","text":"OlΓ‘! Como vocΓͺ estΓ‘? (This means \"Hi! How are you?\" in Portuguese.)"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":16,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":24}}'
+ body: '{"model":"claude-3-7-sonnet-20250219","id":"msg_vrtx_01E4ctksfNxnHxb8NL7AzY7L","type":"message","role":"assistant","content":[{"type":"text","text":"OlΓ‘! That''s \"hi\" in Portuguese. How can I help you today?"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":16,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":22}}'
headers:
Content-Type:
- application/json
status: 200 OK
code: 200
- duration: 2.138460417s
+ duration: 1.867139833s
@@ -26,29 +26,56 @@ interactions:
uncompressed: true
body: |+
event: message_start
- data: {"type":"message_start","message":{"model":"claude-3-7-sonnet-20250219","id":"msg_vrtx_01UZhFsyrYaUuvRKEzxJ7FkK","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":16,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5}} }
+ data: {"type":"message_start","message":{"model":"claude-3-7-sonnet-20250219","id":"msg_vrtx_011vbTX9zC2NZRQEamT4cSJf","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":16,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":4}} }
event: ping
data: {"type": "ping"}
event: content_block_start
- data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} }
+ data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"OlΓ‘!"} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"OlΓ‘!"} }
+
+ event: content_block_delta
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" Como"} }
+
+ event: content_block_delta
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" vai vocΓͺ"} }
+
+ event: content_block_delta
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"?\n\nThis"} }
+
+ event: content_block_delta
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" is a"}}
+
+ event: content_block_delta
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" greeting"} }
+
+ event: content_block_delta
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" in Portuguese that"} }
+
+ event: content_block_delta
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" means"} }
+
+ event: content_block_delta
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" \"Hello! How are"} }
+
+ event: content_block_delta
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" you?\""} }
event: content_block_stop
- data: {"type":"content_block_stop","index":0 }
+ data: {"type":"content_block_stop","index":0 }
event: message_delta
- data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"output_tokens":7} }
+ data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"output_tokens":27} }
event: message_stop
- data: {"type":"message_stop" }
+ data: {"type":"message_stop" }
headers:
Content-Type:
- text/event-stream; charset=utf-8
status: 200 OK
code: 200
- duration: 1.311998834s
+ duration: 1.338077792s
@@ -24,21 +24,21 @@ interactions:
proto_minor: 0
content_length: -1
uncompressed: true
- body: '{"model":"claude-3-7-sonnet-20250219","id":"msg_vrtx_01HMPWEJiA8uwFGoNxfXG78Z","type":"message","role":"assistant","content":[{"type":"text","text":"I''ll check the current weather in Florence, Italy for you."},{"type":"tool_use","id":"toolu_vrtx_017DkoRKzJJVLa8p4HV1RdJp","name":"weather","input":{"location":"Florence,Italy"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":394,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":67}}'
+ body: '{"model":"claude-3-7-sonnet-20250219","id":"msg_vrtx_013DoXQqRt9hn5cxD1GPCcbj","type":"message","role":"assistant","content":[{"type":"text","text":"I''ll get the current weather information for Florence, Italy for you."},{"type":"tool_use","id":"toolu_vrtx_01AbaFbEuoSmuk9UyZaC4byG","name":"weather","input":{"location":"Florence,Italy"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":394,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":68}}'
headers:
Content-Type:
- application/json
status: 200 OK
code: 200
- duration: 1.494068458s
+ duration: 1.495076667s
- id: 1
request:
proto: HTTP/1.1
proto_major: 1
proto_minor: 1
- content_length: 881
+ content_length: 892
host: ""
- body: '{"max_tokens":4000,"messages":[{"content":[{"text":"What''s the weather in Florence,Italy?","type":"text"}],"role":"user"},{"content":[{"text":"I''ll check the current weather in Florence, Italy for you.","type":"text"},{"id":"toolu_vrtx_017DkoRKzJJVLa8p4HV1RdJp","input":{"location":"Florence,Italy"},"name":"weather","type":"tool_use"}],"role":"assistant"},{"content":[{"tool_use_id":"toolu_vrtx_017DkoRKzJJVLa8p4HV1RdJp","content":[{"text":"40 C","type":"text"}],"type":"tool_result"}],"role":"user"}],"system":[{"text":"You are a helpful assistant","type":"text"}],"tool_choice":{"disable_parallel_tool_use":false,"type":"auto"},"tools":[{"input_schema":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"},"name":"weather","description":"Get weather information for a location"}],"anthropic_version":"vertex-2023-10-16"}'
+ body: '{"max_tokens":4000,"messages":[{"content":[{"text":"What''s the weather in Florence,Italy?","type":"text"}],"role":"user"},{"content":[{"text":"I''ll get the current weather information for Florence, Italy for you.","type":"text"},{"id":"toolu_vrtx_01AbaFbEuoSmuk9UyZaC4byG","input":{"location":"Florence,Italy"},"name":"weather","type":"tool_use"}],"role":"assistant"},{"content":[{"tool_use_id":"toolu_vrtx_01AbaFbEuoSmuk9UyZaC4byG","content":[{"text":"40 C","type":"text"}],"type":"tool_result"}],"role":"user"}],"system":[{"text":"You are a helpful assistant","type":"text"}],"tool_choice":{"disable_parallel_tool_use":false,"type":"auto"},"tools":[{"input_schema":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"},"name":"weather","description":"Get weather information for a location"}],"anthropic_version":"vertex-2023-10-16"}'
headers:
Accept:
- application/json
@@ -54,10 +54,10 @@ interactions:
proto_minor: 0
content_length: -1
uncompressed: true
- body: '{"model":"claude-3-7-sonnet-20250219","id":"msg_vrtx_01BJEBEdTy82Hb4nNAn5b1GE","type":"message","role":"assistant","content":[{"type":"text","text":"It''s currently 40Β°C (104Β°F) in Florence, Italy. That''s very hot! Make sure to stay hydrated and try to avoid being outside during the hottest parts of the day if possible."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":475,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":49}}'
+ body: '{"model":"claude-3-7-sonnet-20250219","id":"msg_vrtx_01MrnUMp85dMAcyhkjGeX2we","type":"message","role":"assistant","content":[{"type":"text","text":"The current temperature in Florence, Italy is 40Β°C (104Β°F), which is quite hot. If you''re planning to be outdoors, I recommend staying hydrated, wearing light clothing, and seeking shade when possible."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":476,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":51}}'
headers:
Content-Type:
- application/json
status: 200 OK
code: 200
- duration: 1.508433666s
+ duration: 1.353360875s
@@ -26,7 +26,7 @@ interactions:
uncompressed: true
body: |+
event: message_start
- data: {"type":"message_start","message":{"model":"claude-3-7-sonnet-20250219","id":"msg_vrtx_018pH9zeQy8MYJ3gttq4JD8x","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":394,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5}} }
+ data: {"type":"message_start","message":{"model":"claude-3-7-sonnet-20250219","id":"msg_vrtx_015uS6fGm1egYvRuSAr5jmF8","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":394,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":3}} }
event: ping
data: {"type": "ping"}
@@ -35,53 +35,59 @@ interactions:
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"I'll check the current"} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"I'll check"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" weather in"} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" the current weather in"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" Florence, Italy for you"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"."} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"."} }
event: content_block_stop
- data: {"type":"content_block_stop","index":0 }
+ data: {"type":"content_block_stop","index":0 }
event: content_block_start
- data: {"type":"content_block_start","index":1,"content_block":{"type":"tool_use","id":"toolu_vrtx_01QqhPGFZ4wcxFxZLX6rF6ht","name":"weather","input":{}} }
+ data: {"type":"content_block_start","index":1,"content_block":{"type":"tool_use","id":"toolu_vrtx_01HCzehdpw6xDu3CDVXSFHFh","name":"weather","input":{}} }
event: content_block_delta
- data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":""} }
+ data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":""} }
event: content_block_delta
- data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"{\"loca"} }
+ data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"{\"lo"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"tion\": \"Fl"} }
+ data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"cation\":"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"orence,I"} }
+ data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":" \"F"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"taly\"}"} }
+ data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"loren"} }
+
+ event: content_block_delta
+ data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"ce,"} }
+
+ event: content_block_delta
+ data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"Italy\"}"} }
event: content_block_stop
- data: {"type":"content_block_stop","index":1 }
+ data: {"type":"content_block_stop","index":1 }
event: message_delta
- data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"output_tokens":67} }
+ data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"output_tokens":67} }
event: message_stop
- data: {"type":"message_stop" }
+ data: {"type":"message_stop" }
headers:
Content-Type:
- text/event-stream; charset=utf-8
status: 200 OK
code: 200
- duration: 1.365237292s
+ duration: 1.281991291s
- id: 1
request:
proto: HTTP/1.1
@@ -89,7 +95,7 @@ interactions:
proto_minor: 1
content_length: 895
host: ""
- body: '{"max_tokens":4000,"messages":[{"content":[{"text":"What''s the weather in Florence,Italy?","type":"text"}],"role":"user"},{"content":[{"text":"I''ll check the current weather in Florence, Italy for you.","type":"text"},{"id":"toolu_vrtx_01QqhPGFZ4wcxFxZLX6rF6ht","input":{"location":"Florence,Italy"},"name":"weather","type":"tool_use"}],"role":"assistant"},{"content":[{"tool_use_id":"toolu_vrtx_01QqhPGFZ4wcxFxZLX6rF6ht","content":[{"text":"40 C","type":"text"}],"type":"tool_result"}],"role":"user"}],"system":[{"text":"You are a helpful assistant","type":"text"}],"tool_choice":{"disable_parallel_tool_use":false,"type":"auto"},"tools":[{"input_schema":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"},"name":"weather","description":"Get weather information for a location"}],"stream":true,"anthropic_version":"vertex-2023-10-16"}'
+ body: '{"max_tokens":4000,"messages":[{"content":[{"text":"What''s the weather in Florence,Italy?","type":"text"}],"role":"user"},{"content":[{"text":"I''ll check the current weather in Florence, Italy for you.","type":"text"},{"id":"toolu_vrtx_01HCzehdpw6xDu3CDVXSFHFh","input":{"location":"Florence,Italy"},"name":"weather","type":"tool_use"}],"role":"assistant"},{"content":[{"tool_use_id":"toolu_vrtx_01HCzehdpw6xDu3CDVXSFHFh","content":[{"text":"40 C","type":"text"}],"type":"tool_result"}],"role":"user"}],"system":[{"text":"You are a helpful assistant","type":"text"}],"tool_choice":{"disable_parallel_tool_use":false,"type":"auto"},"tools":[{"input_schema":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"},"name":"weather","description":"Get weather information for a location"}],"stream":true,"anthropic_version":"vertex-2023-10-16"}'
headers:
Accept:
- application/json
@@ -107,83 +113,71 @@ interactions:
uncompressed: true
body: |+
event: message_start
- data: {"type":"message_start","message":{"model":"claude-3-7-sonnet-20250219","id":"msg_vrtx_01EsEHsrt9QdPFuhVgtfjum1","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":475,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":2}} }
+ data: {"type":"message_start","message":{"model":"claude-3-7-sonnet-20250219","id":"msg_vrtx_012cLcdjR2yjtxpzQjqjrHua","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":475,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5}} }
event: ping
data: {"type": "ping"}
event: content_block_start
- data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} }
-
- event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"It"}}
-
- event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"'s"} }
-
- event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" currently 40Β°C"} }
-
- event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" (104Β°F)"} }
+ data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" in Florence, Italy."} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The current temperature in"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" That"} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" Florence, Italy is "} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"'s very"} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"40Β°C (104"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" hot! If"} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Β°F),"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" you're there"} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" which is very"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" or"} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" hot. If"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" planning to"} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" you're in"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" visit, I'd recommen"} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" Florence or"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"d staying hydrated and trying"} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" planning to visit soon"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" to avoi"} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":", I'd recommend staying"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"d being"} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" hydrated and trying"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" out"} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" to avoid extende"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"doors during the hottest"} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"d periods outdoors during the"} }
event: content_block_delta
- data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" parts"} }
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" hottest parts"} }
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" of the day."} }
event: content_block_stop
- data: {"type":"content_block_stop","index":0 }
+ data: {"type":"content_block_stop","index":0}
event: message_delta
- data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"output_tokens":57} }
+ data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"output_tokens":60} }
event: message_stop
- data: {"type":"message_stop" }
+ data: {"type":"message_stop" }
headers:
Content-Type:
- text/event-stream; charset=utf-8
status: 200 OK
code: 200
- duration: 772.506333ms
+ duration: 3.504416334s
@@ -14,7 +14,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-flash:generateContent
method: POST
response:
@@ -34,11 +34,11 @@ interactions:
"functionCall": {
"name": "add",
"args": {
- "b": 3,
- "a": 2
+ "a": 2,
+ "b": 3
}
},
- "thoughtSignature": "CuACAePx/153kf8ikIzjnbSUf9jLxFZAf53a2GQYy4mUIqUl077OLhKwcyMd2YnG1/umJQZK8aqE6kdtgJG7sqpuDFZuFmEOqjgc1O3MxE4S+TaBZSa5wS/KAA05t4aGvS8TpkEttdy3u6wfIv6y8LM8A7LHn04qC9gswllmAiZ9iQn72RDWDgS7o2/ciprExjiDQMkU+m5yk3eRkXm1ovs9oNDNoDqlTTJnN0jtu2YgYtsxB/mwKBdA3MjSKwsiuIVc5fJj8970xQrfEmsA94QSGUQ9MNCUkB6kAUsFt3wQQ07X/Q3bYmfyud0OP/dB9HIM4xyVkayDrrVkbAOKD/1u8nKMGkPA5G/0+DaDVU4ZAqhCRGQAtHYRWYhwUZ4DICXJAqhBk9iTLIHvglDMaw4sKDZHqIlVRNnjvsx4nOoirR2S2Wpm3mKoEmCPnFGcQwRV9yJNY5/JwDquRAcwU9q1ug=="
+ "thoughtSignature": "CqECAePx/16hu6jpQBsua/6D0znPjMbbAuwTIAxACow0BHlZjpuJ2bAGyr7Wo7paE6FNx84jcAd1AMLIJAWscUNukGCRiDORASgswHP16BSSB6jN5dLjTJ0UpUoxESXEW4U0iyrruAkortreKykTPMnW63wWjao8KQESbO/Q7g7WOQPGUzpmOCw9cvKt6I/DRZLjiJ1S8BmgEbc8ix2C4YBguza0iJ28V3ggewHiXumC3RxijchXLLkLx9Y5ww3XoJk1QaaWN3puEeWyVpEOQQJHa0pQVLYIp+IkQ0t0oe3jKDI05FBjn+h1lvbHoPuImyLtjUZFAMBqh76BWHQAYsfVUEzzSWplygLX0RP+NABj/9jDMK22/+DjBnBpEL1dv0lXvQ=="
},
{
"functionCall": {
@@ -52,13 +52,13 @@ interactions:
]
},
"finishReason": "STOP",
- "avgLogprobs": -1.9749752044677735
+ "avgLogprobs": -0.99647712707519531
}
],
"usageMetadata": {
"promptTokenCount": 60,
"candidatesTokenCount": 10,
- "totalTokenCount": 146,
+ "totalTokenCount": 140,
"trafficType": "ON_DEMAND",
"promptTokensDetails": [
{
@@ -72,18 +72,18 @@ interactions:
"tokenCount": 10
}
],
- "thoughtsTokenCount": 76
+ "thoughtsTokenCount": 70
},
"modelVersion": "gemini-2.5-flash",
- "createTime": "2025-10-23T06:56:24.603477Z",
- "responseId": "mNH5aNXqJMHDptQPtJigwQc"
+ "createTime": "2025-11-03T19:52:55.484773Z",
+ "responseId": "FwgJaaXLHe2iptQP__zTsAs"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 1.215592042s
+ duration: 1.145860833s
- id: 1
request:
proto: HTTP/1.1
@@ -97,7 +97,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-flash:generateContent
method: POST
response:
@@ -114,19 +114,18 @@ interactions:
"role": "model",
"parts": [
{
- "text": "2 + 3 = 5\n2 * 3 = 6",
- "thoughtSignature": "CsoBAePx/154N3gpceO1Pxh1IXX13o0HK5ftN5BUuyjfGfQi/778zwB+y0XPP47mlVhcC8YrYbdY9OCdsch6wLFdr8GW2Q/X0G7wvo5uCO+rxBCPgj0EJaQ36dnavIrM78MnwNT8JTFuNiifUYDO2Eek5//VNoFkZsbTfR0u6pHlX8odsl2zTqkihtwNkeun9UVCAkOE1J2royE0NUdFe5YQk6cMn/LboPV2NKVDWZxjvV6hlwV27nBoFqiH0r6zRT9AiKi55oTDlvwADA=="
+ "text": "The sum of 2 and 3 is 5. The product of 2 and 3 is 6."
}
]
},
"finishReason": "STOP",
- "avgLogprobs": -0.83015022277832029
+ "avgLogprobs": -0.047055284182230629
}
],
"usageMetadata": {
"promptTokenCount": 76,
- "candidatesTokenCount": 15,
- "totalTokenCount": 136,
+ "candidatesTokenCount": 24,
+ "totalTokenCount": 100,
"trafficType": "ON_DEMAND",
"promptTokensDetails": [
{
@@ -137,18 +136,17 @@ interactions:
"candidatesTokensDetails": [
{
"modality": "TEXT",
- "tokenCount": 15
+ "tokenCount": 24
}
- ],
- "thoughtsTokenCount": 45
+ ]
},
"modelVersion": "gemini-2.5-flash",
- "createTime": "2025-10-23T06:56:25.801186Z",
- "responseId": "mdH5aKLzMMqZptQPrcWIuQM"
+ "createTime": "2025-11-03T19:52:56.654104Z",
+ "responseId": "GAgJaZj2J4jK5OMPiMqt0Qg"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 1.129055042s
+ duration: 714.085958ms
@@ -17,7 +17,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-flash:streamGenerateContent?alt=sse
method: POST
response:
@@ -25,13 +25,13 @@ interactions:
proto_major: 2
proto_minor: 0
content_length: -1
@@ -14,7 +14,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-flash:generateContent
method: POST
response:
@@ -31,18 +31,18 @@ interactions:
"role": "model",
"parts": [
{
- "text": "OlΓ‘! (Oh-lah!)"
+ "text": "OlΓ‘!"
}
]
},
"finishReason": "STOP",
- "avgLogprobs": -1.2647225516183036
+ "avgLogprobs": -2.3644888401031494
}
],
"usageMetadata": {
"promptTokenCount": 9,
- "candidatesTokenCount": 7,
- "totalTokenCount": 43,
+ "candidatesTokenCount": 2,
+ "totalTokenCount": 38,
"trafficType": "ON_DEMAND",
"promptTokensDetails": [
{
@@ -53,18 +53,18 @@ interactions:
"candidatesTokensDetails": [
{
"modality": "TEXT",
- "tokenCount": 7
+ "tokenCount": 2
}
],
"thoughtsTokenCount": 27
},
"modelVersion": "gemini-2.5-flash",
- "createTime": "2025-10-23T06:56:18.469078Z",
- "responseId": "ktH5aNbQHOn1ptQPkf36wAU"
+ "createTime": "2025-11-03T19:52:49.131611Z",
+ "responseId": "EQgJaZuECPfyptQPiO7F0Qw"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 1.883201042s
+ duration: 1.398007208s
@@ -17,7 +17,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-flash:streamGenerateContent?alt=sse
method: POST
response:
@@ -25,10 +25,10 @@ interactions:
proto_major: 2
proto_minor: 0
content_length: -1
- body: "data: {\"candidates\": [{\"content\": {\"role\": \"model\",\"parts\": [{\"text\": \"OlΓ‘!\"}]},\"finishReason\": \"STOP\"}],\"usageMetadata\": {\"promptTokenCount\": 9,\"candidatesTokenCount\": 2,\"totalTokenCount\": 37,\"trafficType\": \"ON_DEMAND\",\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 9}],\"candidatesTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 2}],\"thoughtsTokenCount\": 26},\"modelVersion\": \"gemini-2.5-flash\",\"createTime\": \"2025-10-23T06:56:19.541931Z\",\"responseId\": \"k9H5aOuJIcqZptQPrcWIuQM\"}\r\n\r\n"
+ body: "data: {\"candidates\": [{\"content\": {\"role\": \"model\",\"parts\": [{\"text\": \"OlΓ‘!\"}]},\"finishReason\": \"STOP\"}],\"usageMetadata\": {\"promptTokenCount\": 9,\"candidatesTokenCount\": 2,\"totalTokenCount\": 37,\"trafficType\": \"ON_DEMAND\",\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 9}],\"candidatesTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 2}],\"thoughtsTokenCount\": 26},\"modelVersion\": \"gemini-2.5-flash\",\"createTime\": \"2025-11-03T19:52:50.051639Z\",\"responseId\": \"EggJabeTA8_PptQPo-GH8QQ\"}\r\n\r\n"
headers:
Content-Type:
- text/event-stream
status: 200 OK
code: 200
- duration: 838.164042ms
+ duration: 1.190780917s
@@ -14,7 +14,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-flash:generateContent
method: POST
response:
@@ -37,18 +37,18 @@ interactions:
"location": "Florence,Italy"
}
},
- "thoughtSignature": "CsICAePx/14z2/Y1LwOZuOEfW+8h7yERSI5lsHY/AqynX6oLR1OiF3GZPJApHAIv7Z1RJZJszK371HXJVUnVWQIM3RW5uHNhwqD5iiMhJKgEkC5R5b4LC4EzCzHSQKGXEuFEJKUhIjy36IZKGS8aChOGVs4Cx1g+wgYICstMVtF2Ny86IuYHKfE+KL9BAc6TYN8d5yQySsuPRmPKCHTMC5q/ZaL5muk+Y+2KBMNOb2pI0tM3JiJyl3m/iYn9ENTMOCtPW8WVnR/43SCjF8ECpJH4Ot19VC0DQarwkgj6G1Hb/kw+kypGLm+SXsjWB/nnfOrvjbysSPNKPWL2GJtjTI1aMt6VOE4m8FPTlOQXze4jr3XeiHcylNOoRvWF9t8hesLdmy8xnyKrwSKCH+nAn21yTHPhoYgc69k5gquSB7jztgU/mQ=="
+ "thoughtSignature": "CqoCAePx/17/8Q8KZZMun2Jh8nZkCjH+u0w5GCukRd4aSFxz4PI0YFXB/lvok+cVkxL3Fv0ZrP45+NDbGDDT+4Gf7lNe21zmmu3xQWaXmR+/EaYhuaHiFj8icU2IzVr0ra22AJ2SQFJNMB5g5Uu1TSJsYD1IkrB4NnkyudqlctBE1400PoB9wOzxM5kNtWseTLDw0a3XPgh0sV82nkHOyt8ogFkqNwIovTrvqQ+9HB0bTGqYk5U2XikPiCRzjJ9/g3CRzydE5eg6oLn7E5qR4WD25xOcHBki9RxITWSglwG3tYYDI8s/UG7eNc6aDiX72LL8xwEQMwOT6DQUzQanoQC7nlIqnHXas2eiq1zCkS7O6HGfuuXtcz0euBKxndi/3ESgzzQGKY8rCa065Q=="
}
]
},
"finishReason": "STOP",
- "avgLogprobs": -2.8889617919921875
+ "avgLogprobs": -1.3909281730651855
}
],
"usageMetadata": {
"promptTokenCount": 28,
"candidatesTokenCount": 5,
- "totalTokenCount": 101,
+ "totalTokenCount": 96,
"trafficType": "ON_DEMAND",
"promptTokensDetails": [
{
@@ -62,18 +62,18 @@ interactions:
"tokenCount": 5
}
],
- "thoughtsTokenCount": 68
+ "thoughtsTokenCount": 63
},
"modelVersion": "gemini-2.5-flash",
- "createTime": "2025-10-23T06:56:20.673204Z",
- "responseId": "lNH5aLSLKbHEptQP-Ob28Ak"
+ "createTime": "2025-11-03T19:52:51.509145Z",
+ "responseId": "EwgJadmJH9nEptQP9fCJyQY"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 835.350042ms
+ duration: 1.300916167s
- id: 1
request:
proto: HTTP/1.1
@@ -87,7 +87,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-flash:generateContent
method: POST
response:
@@ -109,7 +109,7 @@ interactions:
]
},
"finishReason": "STOP",
- "avgLogprobs": -0.048118614233457126
+ "avgLogprobs": -0.052264484075399548
}
],
"usageMetadata": {
@@ -131,12 +131,12 @@ interactions:
]
},
"modelVersion": "gemini-2.5-flash",
- "createTime": "2025-10-23T06:56:21.509020Z",
- "responseId": "ldH5aNyIH6D5ptQPsI7YiQ0"
+ "createTime": "2025-11-03T19:52:52.815110Z",
+ "responseId": "FAgJaYbgMe2iptQP__zTsAs"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 1.159554792s
+ duration: 653.623083ms
@@ -17,7 +17,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-flash:streamGenerateContent?alt=sse
method: POST
response:
@@ -25,13 +25,13 @@ interactions:
proto_major: 2
proto_minor: 0
content_length: -1
@@ -14,7 +14,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-pro:generateContent
method: POST
response:
@@ -38,27 +38,27 @@ interactions:
"b": 3
}
},
@@ -17,7 +17,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-pro:streamGenerateContent?alt=sse
method: POST
response:
@@ -25,13 +25,13 @@ interactions:
proto_major: 2
proto_minor: 0
content_length: -1
@@ -14,7 +14,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-pro:generateContent
method: POST
response:
@@ -31,18 +31,18 @@ interactions:
"role": "model",
"parts": [
{
- "text": "Of course!\n\nThe most common way to say \"hi\" in Portuguese is:\n\n**Oi**\n\nYou can also use:\n\n**OlΓ‘** (which is like \"hello\")"
+ "text": "Of course! Here are the most common ways:\n\n* **Oi** (This is the most common and informal, like \"hi\")\n* **OlΓ‘** (This is like \"hello\" and can be used in both formal and informal situations)\n\nYou can also combine them with \"how are you?\":\n\n* **Oi, tudo bem?** (Hi, how are you?)"
}
]
},
"finishReason": "STOP",
- "avgLogprobs": -2.3780706305252877
+ "avgLogprobs": -1.3811639073383377
}
],
"usageMetadata": {
"promptTokenCount": 9,
- "candidatesTokenCount": 38,
- "totalTokenCount": 720,
+ "candidatesTokenCount": 83,
+ "totalTokenCount": 811,
"trafficType": "ON_DEMAND",
"promptTokensDetails": [
{
@@ -53,18 +53,18 @@ interactions:
"candidatesTokensDetails": [
{
"modality": "TEXT",
- "tokenCount": 38
+ "tokenCount": 83
}
],
- "thoughtsTokenCount": 673
+ "thoughtsTokenCount": 719
},
"modelVersion": "gemini-2.5-pro",
- "createTime": "2025-10-23T06:56:29.134156Z",
- "responseId": "ndH5aIyYCLHEptQP-Ob28Ak"
+ "createTime": "2025-11-03T19:52:59.997761Z",
+ "responseId": "GwgJaYHzPNnEptQP9fCJyQY"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 7.471405083s
+ duration: 9.378146209s
@@ -17,7 +17,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-pro:streamGenerateContent?alt=sse
method: POST
response:
@@ -25,10 +25,10 @@ interactions:
proto_major: 2
proto_minor: 0
content_length: -1
@@ -14,7 +14,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-pro:generateContent
method: POST
response:
@@ -37,18 +37,18 @@ interactions:
"location": "Florence, Italy"
}
},
- "thoughtSignature": "CsQDAePx/16BSTox7w915NWGeZDiCcadqyQOruFo69gjDNj2kp4g8LWDvvqodBi8WkgyhBQCwvQFUOs/UuJDUgabzKp22DWPBpri/c9PH56m7Ss1siHb9d0ETRVWu5d4+Z3cU1iu1/OJy8a4zskJICrRSg8WU8euc2C1qPSHsM0KoFDMPNCluTO4+/BKef19qKEByzGP126OHQPcL498iUIB3dq9suqF4inMw0wQ81J5Cn4+68ckU2fMbvPQpKqmZfzF0y68MwvPH0RWhl1CWiOeIC0tzI/flCWNQJKAB2q+RoK5D3zr1gFQ8QP/cfwet6VW16ajcnmYH7F9Df4/H01iV/aQ5A9M5IRBcwed97whvZraqQFefMQNSru4PeiXygp0cYYbrMQ3+5fntpqhIviNg7oxexnd5jcZhaNZOYD4OIJt6+CPkZXzBtzc9BE9UwCcnJzWRyvHSgDH7zl/xudo8/p4KleUVaD+rzO3f54UtOAV/zd+Fd8qyoqAb2BpLS8czoKP9KVCnFbNizZgno7oTgi8dUkgAtPNUzL4SbDrgNQTKkNDzpfKd8OOmvxo3YVgrXGSeI1fonHIOGf0eMmmzvd+AUY="
+ "thoughtSignature": "CowEAePx/16C696DNWj4PuxMNS0zO6v+tdCJF1yJnn07eZuEPLPnvQ6p+oyw3hrynhBTBfnV4DLp94IKgX2qrApBR+CmZ3tqxhvwAG3luoBPWFlXTHfTGClpOrLI3Un76DOTzl3LCtmclum3o8kXE4V5PmRCeO2WXfLnwdy/hxs86ksrxyN6Y5edf1q/9tfu4PIJU+DpsJ7dNO6VZ5Lg0+FHxmVbXJq6Gpe/0FlwCXqolzyPeKMfhcTFUQtjr99pmS4rHWLDIF2ftwUBWzZembLj24OF+vWikxaWRcojZ5rh3KTluf+czMQWbGmmZUOsuRiOd84J/n1HDkqJ9RRGXSOrbiHpRasvNaMbLG6ufvkPSKm++DYe+tVmx40dwbr7hStfhAgKyNcBjRctIj9lHFlX1jczygVAxsv+6DK6UjEgZNWKtzkecZTzJWCzwLoQqpa56DD9eiMvq2Btfw47SxRkRTbQTOyJvPGVPBqaJksU2qOOprUdCqVCcxbJJfcFcVrTRiz1TNVTs89U1JiWm71RBJqXQBgLYYfryqSJ6E6lAlejy+7nc0q6YPleHC+4K3XyL2I5Q5HUwoEjEHnMCYAe+J68ztkjRablCHICIWJI08O+Ii9hgF9wIEkoZlA2A3deHYWfDh1mMjdZEZ2IibwroGaRaSq6AOJUyfWL9GgJb3/OnNWhpw6MlLV0Ol4="
}
]
},
"finishReason": "STOP",
- "avgLogprobs": -1.9075927734375
+ "avgLogprobs": -0.95030345916748049
}
],
"usageMetadata": {
"promptTokenCount": 28,
"candidatesTokenCount": 5,
- "totalTokenCount": 128,
+ "totalTokenCount": 155,
"trafficType": "ON_DEMAND",
"promptTokensDetails": [
{
@@ -62,18 +62,18 @@ interactions:
"tokenCount": 5
}
],
- "thoughtsTokenCount": 95
+ "thoughtsTokenCount": 122
},
"modelVersion": "gemini-2.5-pro",
- "createTime": "2025-10-23T06:56:46.277788Z",
- "responseId": "rtH5aJz6EOn1ptQPkf36wAU"
+ "createTime": "2025-11-03T19:53:18.064499Z",
+ "responseId": "LggJafP3A62G0ekP9tjQmAk"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 1.957397917s
+ duration: 2.300412708s
- id: 1
request:
proto: HTTP/1.1
@@ -87,7 +87,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-pro:generateContent
method: POST
response:
@@ -104,18 +104,18 @@ interactions:
"role": "model",
"parts": [
{
- "text": "The weather in Florence, Italy is 40 C.\n"
+ "text": "The weather in Florence, Italy is 40 degrees Celsius. \n"
}
]
},
"finishReason": "STOP",
- "avgLogprobs": -0.1211475684092595
+ "avgLogprobs": -0.077328896522521978
}
],
"usageMetadata": {
"promptTokenCount": 38,
- "candidatesTokenCount": 13,
- "totalTokenCount": 51,
+ "candidatesTokenCount": 15,
+ "totalTokenCount": 53,
"trafficType": "ON_DEMAND",
"promptTokensDetails": [
{
@@ -126,17 +126,17 @@ interactions:
"candidatesTokensDetails": [
{
"modality": "TEXT",
- "tokenCount": 13
+ "tokenCount": 15
}
]
},
"modelVersion": "gemini-2.5-pro",
- "createTime": "2025-10-23T06:56:48.759113Z",
- "responseId": "sNH5aMmqLsHDptQPtJigwQc"
+ "createTime": "2025-11-03T19:53:20.397608Z",
+ "responseId": "MAgJaaiiGNGE0ekPn_2gsAo"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 1.759973041s
+ duration: 1.349412417s
@@ -17,7 +17,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-pro:streamGenerateContent?alt=sse
method: POST
response:
@@ -25,22 +25,22 @@ interactions:
proto_major: 2
proto_minor: 0
content_length: -1
@@ -17,7 +17,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse
method: POST
response:
@@ -25,22 +25,22 @@ interactions:
proto_major: 2
proto_minor: 0
content_length: -1
@@ -14,7 +14,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent
method: POST
response:
@@ -30,7 +30,7 @@ interactions:
"content": {
"parts": [
{
- "text": "**Analyzing the Request: Weather in Florence**\n\nOkay, so the user wants the weather forecast for Florence, Italy. That's straightforward enough. The \"weather\" tool is the obvious choice here β it's designed specifically for this kind of query. Now, I just need to figure out the right way to use the tool. It looks like it needs a \"location\" argument, which makes perfect sense. And since the user explicitly mentioned \"Florence, Italy,\" that's the location I should provide. So, to get the information, I'll call the \"weather\" tool and pass in `location='Florence, Italy'`. Should be a quick and easy retrieval!\n",
+ "text": "**Processing a Weather Inquiry**\n\nOkay, so someone's asking for the weather. Specifically, they want to know the conditions in \"Florence, Italy\". Right, I get it. The `weather` tool is the perfect resource for this. I need to make sure I supply it with the correct `location` parameter. Let me see, that's straightforward enough: \"Florence, Italy\" needs to be passed directly to the `weather` tool as the `location`. That should be all it takes to get them the weather information they're looking for. Easy peasy.\n",
"thought": true
},
{
@@ -40,7 +40,7 @@ interactions:
"location": "Florence, Italy"
}
},
- "thoughtSignature": "CqcCAdHtim+w7Zjxo3b6l9LJXbVvkFXVwAc85VHZldttwHx3G4FKSfN61k8WbpQjZArax2N/4C5HtNmYKM7mkzpmqxmR8wiJ9+o5QuG+L6EB6/gs3p0cnJR0tYrt0e/N6uvVasA8wF0DK1GehZ4WPRR6XbQ1fx66s1t2Pi4y0ri70XEa6QgE+TxaGDVg6KOm73GCVVp2IifpSorSF0hmgLboLqPHL5IVgWXbGnr9+0t25KqY04v01BAK04QY3Lmdr4Xr+jxjoCBeCSL7xS/K8zPTl94QtwdWiNqsqK/X5IcGDcz7rlLOLkv76IurHs9+JfPtAcGjZgWO5ZyW5Mf31O8cW4O/9QDYwRTSuBfmY3/dPjUj0Ijk2tHVJkqmmCZ5xe2M7UOWxdV2Kg=="
+ "thoughtSignature": "CvYBAdHtim+r4pwvSzMD/Aa47oeAg6vLs//D5qB7buLxjadu+G2D8/R0OG5BbKoIl9STM65l/6ETZA5NxOxaKyEQmKQK9Wg319kKYLoWyA0vVr2lOa+yEDCNHam2FzEUpS/+5xL/AcTIuk7LGTdGdzf306tz8cOGvt5grdEIzl3G5xAaT/YIp/0mboeKkLS5gMRFibvX+q7/QuI49iNfzO6UPD3O4il9yeue8JsN1zjuVP7O0qbThAiMKQaFBJ/7XzRTwPY6mlKCaYS/SWB3vo3Vd/5eeUOZj1WQymKNt9WQHeGjOChZEBRdoyUTsIJNULD3rwuDgim+"
}
],
"role": "model"
@@ -53,24 +53,24 @@ interactions:
"usageMetadata": {
"promptTokenCount": 54,
"candidatesTokenCount": 15,
- "totalTokenCount": 131,
+ "totalTokenCount": 120,
"promptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 54
}
],
- "thoughtsTokenCount": 62
+ "thoughtsTokenCount": 51
},
"modelVersion": "gemini-2.5-flash",
- "responseId": "jtn5aJa6OuayvdIPornA0Q4"
+ "responseId": "UwgJaZTvAoidz7IPpOCG6QY"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 2.3995905s
+ duration: 2.398826334s
- id: 1
request:
proto: HTTP/1.1
@@ -84,7 +84,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent
method: POST
response:
@@ -100,7 +100,7 @@ interactions:
"content": {
"parts": [
{
- "text": "The weather in Florence, Italy is 40 degrees Celsius."
+ "text": "The weather in Florence, Italy is 40 C."
}
],
"role": "model"
@@ -111,8 +111,8 @@ interactions:
],
"usageMetadata": {
"promptTokenCount": 84,
- "candidatesTokenCount": 13,
- "totalTokenCount": 97,
+ "candidatesTokenCount": 12,
+ "totalTokenCount": 96,
"promptTokensDetails": [
{
"modality": "TEXT",
@@ -121,11 +121,11 @@ interactions:
]
},
"modelVersion": "gemini-2.5-flash",
- "responseId": "j9n5aPLXJ5uP28oPi-aP0QE"
+ "responseId": "UwgJaYDyOaThz7IP97CwgAc"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 506.190917ms
+ duration: 952.694ms
@@ -17,7 +17,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:streamGenerateContent?alt=sse
method: POST
response:
@@ -25,13 +25,13 @@ interactions:
proto_major: 2
proto_minor: 0
content_length: -1
@@ -14,7 +14,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent
method: POST
response:
@@ -30,7 +30,7 @@ interactions:
"content": {
"parts": [
{
- "text": "**Getting the Weather in Florence**\n\nOkay, so I'm thinking about the weather, specifically in Florence, Italy. That immediately clicks - I know I've got a function, `weather.get_weather`, that's designed for exactly this kind of query. It takes a `location` parameter, which is perfect. Therefore, I'll set that `location` parameter to \"Florence, Italy\", and that should be all I need to get the forecast.\n",
+ "text": "**Thinking about Weather in Florence**\n\nOkay, so I'm trying to figure out the weather in Florence, Italy. That immediately makes me think of my `weather.get_weather` function. It's the perfect tool for this task. I know it's designed to give me the current conditions, and that's precisely what I'm after. Now, the `get_weather` function, like any good API call, needs specific parameters to work. In this case, I need to provide it with a `location`. Luckily, the user has given me exactly what I need: \"Florence, Italy\". That's perfect. Time to feed that into the function and get some weather data!\n",
"thought": true
},
{
@@ -40,7 +40,7 @@ interactions:
"location": "Florence, Italy"
}
},
- "thoughtSignature": "Cp4CAdHtim8JgCsNhv84SCzZ8bo/kRaAn5bY0cEQ0mfo7nl3GCS7sRlN2T7G4P/Epnwc7/9wbdFzcvcdaqNgWk1flXACXm4QluykEizpys7U+TyP8I2vaUUDIl4Tii0yBZNwjaJxmYp0yb5E9LjpsuEFolG0Ao2vqoJar/0XgY5bzViogURnnUHqVzP2euy5PJEdAd+rOqz1hnK4lCumsNfF5vrkx8aeyGL99C1Eu1/ZETTU7TSnVht+z+4qlysMOlhx4ko0anJ5MWzjewwrZBFkMPgzzw0zVmsHZg9d4t0Hnhmk6Ft7Ge6JOhvI54NgL8MkiviZNvIYT6iHNRqSd71uYeCdCdiw9UJCwASXvbRIv/ktz6OZKrlGld61RP1BXw=="
+ "thoughtSignature": "CpUCAdHtim9UGVogupwPjEF0fV0+J6hlvZgmWKm2F8vODxdWDQn0sHeqH52T3A7eVFc3qq1mgbgKexwBwUY+LaJS6qmkEp/BQp+YhKn+KkADS5m9uSkVYtQHrSpr6w1PXOeZHKL9S4fda1Tw3wp486PgTNd0UI4P0XI0aJOWzT6QY4Zq54e7xt2Ju7+hocGRFBPS9nZbMajRNZW5rgelw9MWeLAed0Kl+7gxL931NKSOf7pN2VJR8QYo8V5bSy7NKSE12qFRb0HeHJW62RSO9CVDzjljtN8mFMgEdmAJOYZ902x19NzAZRTLs+/shIW1llcXc2kEllhblFKzRoKpFRI65l4iLIjS6HhG5zyqthmp9c6girWfRQ=="
}
],
"role": "model"
@@ -53,24 +53,24 @@ interactions:
"usageMetadata": {
"promptTokenCount": 54,
"candidatesTokenCount": 15,
- "totalTokenCount": 135,
+ "totalTokenCount": 133,
"promptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 54
}
],
- "thoughtsTokenCount": 66
+ "thoughtsTokenCount": 64
},
"modelVersion": "gemini-2.5-pro",
- "responseId": "29n5aPKhFJrivdIPhYnAuQE"
+ "responseId": "WggJafeCDKugz7IPnKO9kQk"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 3.824523542s
+ duration: 3.181730208s
- id: 1
request:
proto: HTTP/1.1
@@ -84,7 +84,7 @@ interactions:
Content-Type:
- application/json
User-Agent:
- - google-genai-sdk/1.29.0 gl-go/go1.25.1
+ - google-genai-sdk/1.33.0 gl-go/go1.25.0
url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent
method: POST
response:
@@ -121,11 +121,11 @@ interactions:
]
},
"modelVersion": "gemini-2.5-pro",
- "responseId": "3Nn5aMLPIMahxN8P5c69gQc"
+ "responseId": "XAgJafLaKoiFz7IPguH2iA4"
}
headers:
Content-Type:
- application/json; charset=UTF-8
status: 200 OK
code: 200
- duration: 1.228113333s
+ duration: 2.508655625s