Gemini 3 Pro API 是 Google DeepMind 推出的新一代多模态模型,具备卓越的推理能力,能无缝理解文本、图像、视频及音频,并支持大规模长上下文处理。
stream: true 时,API 将以服务器发送事件(SSE)的形式返回响应,Content-Type 为 text/event-stream。这允许渐进式响应交付,消息增量会在生成时逐步发送。每个事件包含部分消息内容,使您能够在应用程序中实时显示响应。
流式响应格式:
text/event-streamdata: 开头,后跟 JSONfinish_reason 指示完成tools 参数是一个可选数组,允许您定义模型可以调用的函数。数组可以包含多个对象。使用函数调用时,可以在数组中定义多个函数。
Google 搜索
函数调用
tools 数组中定义多个函数:tools 数组,其中包含一个或多个函数声明。您可以使用 JSON(具体来说是 OpenAPI 架构格式的选定子集)来定义函数。单个函数声明可以包含以下参数:name(字符串,必需):函数的唯一名称(例如,get_weather_forecast、send_email)。使用不含空格或特殊字符的描述性名称(使用下划线或驼峰式命名法)。
description(字符串,可选但推荐):对函数用途和功能的清晰而详尽的说明。这对于模型了解何时使用函数至关重要。请具体说明,并在必要时提供示例(例如,“根据位置查找影院,还可以选择查找目前正在影院上映的电影。”)。
parameters(对象,必需):定义函数预期的输入参数。包含:
type(字符串):指定总体数据类型,必须为 "object"。properties(对象):列出各个参数,每个参数都具有以下属性:
type(字符串):参数的数据类型,例如 string、integer、boolean、array。description(字符串):对参数的用途和格式的说明。提供示例和限制条件(例如,“城市和州,例如’加利福尼亚州旧金山’或邮政编码(例如’95616’)。”)。enum(数组,可选):如果参数值来自固定集,请使用 enum 列出允许的值,而不是仅在说明中描述它们。这有助于提高准确性(例如,"enum": ["daylight", "cool", "warm"])。required(数组):一个字符串数组,列出了函数运行所必需的参数名称。response_format 参数是一个可选的 JSON Schema 对象,定义响应的结构。提供此参数时,模型将生成符合此架构的响应。
JSON Schema 支持
response_format 遵循 JSON Schema 规范。支持的类型包括:string:文本值number:浮点数integer:整数boolean:布尔值(true/false)object:包含键值对的结构化数据array:项目列表null:要允许 null 值,请在类型数组中添加 "null"(例如,{"type": ["string", "null"]})object 值:properties:将属性名称映射到其架构定义的对象required:必需属性名称数组additionalProperties:控制是否允许不在 properties 中列出的属性string 值:enum:用于分类的特定可能字符串列表format:指定字符串语法(例如,date-time、date、time)number 和 integer 值:enum:特定可能数值列表minimum:包含在内的最小值maximum:包含在内的最大值array 值:items:所有数组元素的架构定义prefixItems:前 N 个项的架构列表(类似元组的结构)minItems:数组中的最小项数maxItems:数组中的最大项数示例
最佳实践
description 字段清楚地解释每个属性的含义integer、string、enum)所有 API 都需要通过 Bearer Token 进行身份验证。
获取 API Key:
使用方法: 添加到请求头: Authorization: Bearer YOUR_API_KEY
注意:
消息对象数组。每个消息都有一个角色和内容。
1如果设置为 true,将作为服务器发送事件发送部分消息增量。默认为 true。
可选,模型可以调用的工具数组。数组可以包含多个对象。支持两种格式:
{"type": "function", "function": {"name": "googleSearch"}} - 通过 Google 搜索启用实时信息检索。重要:Google 搜索和函数调用是互斥的 - 不能在同一个请求中同时使用两者。使用函数调用时,可以包含多个函数定义。函数调用和 response_format 也是互斥的 - 不能在同一个请求中同时使用两者。
是否包含思考过程。如果设置为 true,思考将会被包含在响应结果中,否则将不会出现在响应结果中。默认为 true。
推理的力度。低力度响应更快,高力度响应更慢但解决更复杂的问题。默认为 "high"。
low, high 可选的 JSON Schema 对象,定义响应的结构。提供此参数时,模型将生成符合此架构的响应。response_format 和函数调用是互斥的 - 不能在同一个请求中同时使用两者。
示例:
{
"type": "object",
"properties": {
"response": {
"type": "string"
}
}
}