- 资源:CachedContent
- 内容
- 部分
- Blob
- FunctionCall
- FunctionResponse
- FileData
- 工具
- FunctionDeclaration
- 架构
- 类型
- ToolConfig
- FunctionCallingConfig
- Mode
- UsageMetadata
- 方法
资源:CachedContent
经过预处理且可在后续向 GenerativeService 发出的请求中使用的内容。
缓存的内容只能与其创建时所针对的模型一起使用。
JSON 表示法 |
---|
{ "contents": [ { object ( |
字段 | |
---|---|
contents[] |
可选。仅限输入。不可变。要缓存的内容。 |
tools[] |
可选。仅限输入。不可变。模型可用于生成下一个回答的 |
createTime |
仅限输出。缓存条目的创建时间。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: |
updateTime |
仅限输出。上次以世界协调时间 (UTC) 更新缓存条目的时间。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: |
usageMetadata |
仅限输出。关于缓存内容使用情况的元数据。 |
联合字段 expiration 。指定此资源何时过期。expiration 只能是下列其中一项: |
|
expireTime |
资源被视为过期时的时间戳(世界协调时间)。无论输入中发送的是什么内容,输出中始终会提供此时间戳。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: |
ttl |
仅限输入。此资源的新 TTL(仅限输入)。 该时长以秒为单位,最多包含九个小数位,以“ |
name |
可选。标识符。引用缓存内容的资源名称。格式: |
displayName |
可选。不可变。用户生成的已缓存内容且有意义的显示名称。最多 128 个 Unicode 字符。 |
model |
必需。不可变。用于缓存内容的 |
systemInstruction |
可选。仅限输入。不可变。开发者设置的系统指令。目前仅支持文字。 |
toolConfig |
可选。仅限输入。不可变。工具配置。此配置适用于所有工具。 |
内容
包含消息的多部分内容的基本结构化数据类型。
Content
包括一个用于指定 Content
提供方的 role
字段,以及一个包含多部分数据(包含消息回合内容)的 parts
字段。
JSON 表示法 |
---|
{
"parts": [
{
object ( |
字段 | |
---|---|
parts[] |
有序的 |
role |
可选。内容的制作者。必须是“user”或“model”。 适用于多轮对话,否则可以留空或取消设置。 |
部分
一种数据类型,包含多部分 Content
消息中的媒体。
Part
由具有关联数据类型的数据组成。Part
只能包含 Part.data
中接受的类型之一。
如果 inlineData
字段填充了原始字节,则 Part
必须具有固定的 IANA MIME 类型,用于识别媒体的类型和子类型。
JSON 表示法 |
---|
{ // Union field |
字段 | |
---|---|
联合字段
|
|
text |
内嵌文本。 |
inlineData |
内嵌媒体字节数。 |
functionCall |
从模型返回的预测 |
functionResponse |
|
fileData |
基于 URI 的数据。 |
Blob
原始媒体字节数。
文本不应以原始字节的形式发送,请使用“文本”字段。
JSON 表示法 |
---|
{ "mimeType": string, "data": string } |
字段 | |
---|---|
mimeType |
源数据的 IANA 标准 MIME 类型。示例:- image/png - image/jpeg。如果提供的 MIME 类型不受支持,将返回错误。如需查看受支持类型的完整列表,请参阅支持的文件格式。 |
data |
媒体格式的原始字节。 使用 base64 编码的字符串。 |
FunctionCall
从模型返回的预测 FunctionCall
,其中包含表示 FunctionDeclaration.name
的字符串以及参数及其值。
JSON 表示法 |
---|
{ "name": string, "args": { object } } |
字段 | |
---|---|
name |
必需。要调用的函数名称。必须是 a-z、A-Z、0-9,或者包含下划线和短划线,长度上限为 63。 |
args |
可选。JSON 对象格式的函数参数和值。 |
FunctionResponse
FunctionCall
的结果输出(包含一个表示 FunctionDeclaration.name
的字符串)和一个结构化 JSON 对象(包含函数的任何输出)会用作模型的上下文。其中应包含根据模型预测进行的 FunctionCall
的结果。
JSON 表示法 |
---|
{ "name": string, "response": { object } } |
字段 | |
---|---|
name |
必需。要调用的函数名称。必须是 a-z、A-Z、0-9,或者包含下划线和短划线,长度上限为 63。 |
response |
必需。JSON 对象格式的函数响应。 |
FileData
基于 URI 的数据。
JSON 表示法 |
---|
{ "mimeType": string, "fileUri": string } |
字段 | |
---|---|
mimeType |
可选。源数据的 IANA 标准 MIME 类型。 |
fileUri |
必需。URI |
工具
模型可用于生成回答的工具详细信息。
Tool
是一段代码,使系统能够与外部系统交互,以便在模型知识和范围之外执行操作或执行一组操作。
JSON 表示法 |
---|
{
"functionDeclarations": [
{
object ( |
字段 | |
---|---|
functionDeclarations[] |
可选。可供模型用于函数调用的 模型或系统不执行该函数。相反,定义的函数可能会以 [FunctionCall][content.part.function_call] 的形式返回,并带有参数以供客户端执行。模型可能会决定通过在响应中填充 [FunctionCall][content.part.function_call],来调用这些函数的子集。下一轮对话可能包含 [FunctionResponse][content.part.function_response],其中包含用于下一模型回合的 [content.role]“函数”生成上下文。 |
FunctionDeclaration
由 OpenAPI 3.03 规范定义的函数声明的结构化表示法。此声明中包括函数名称和形参。此函数声明是代码块的表示形式,可被模型用作 Tool
并由客户端执行。
JSON 表示法 |
---|
{
"name": string,
"description": string,
"parameters": {
object ( |
字段 | |
---|---|
name |
必需。函数的名称。必须是 a-z、A-Z、0-9,或者包含下划线和短划线,长度上限为 63。 |
description |
必需。函数的简要说明。 |
parameters |
可选。描述此函数的参数。反映 Open API 3.03 参数对象字符串 Key:参数的名称。参数名称区分大小写。架构值:定义参数所用类型的架构。 |
架构
Schema
对象允许定义输入和输出数据类型。这些类型可以是对象,也可以是基元和数组。表示 OpenAPI 3.0 架构对象的选定子集。
JSON 表示法 |
---|
{ "type": enum ( |
字段 | |
---|---|
type |
必需。数据类型。 |
format |
可选。数据的格式。该元素仅用于原始数据类型。支持的格式:NUMBER 类型:浮点数;INTEGER 类型:int32、int64 的双精度型 |
description |
可选。参数的简要说明。其中可能包含使用示例。参数说明可以采用 Markdown 格式。 |
nullable |
可选。指示值是否为 null。 |
enum[] |
可选。采用枚举格式的 Type.STRING 元素的可能值。例如,我们可以将枚举方向定义为:{type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} |
properties |
可选。Type.OBJECT 的属性。 包含一系列 |
required[] |
可选。Type.OBJECT 的必需属性。 |
items |
可选。Type.ARRAY 元素的架构。 |
类型
Type 包含 https://spec.openapis.org/oas/v3.0.3#data-types 定义的 OpenAPI 数据类型列表。
枚举 | |
---|---|
TYPE_UNSPECIFIED |
未指定,不应使用。 |
STRING |
字符串类型。 |
NUMBER |
数字类型。 |
INTEGER |
整数类型。 |
BOOLEAN |
布尔值类型。 |
ARRAY |
数组类型。 |
OBJECT |
对象类型。 |
ToolConfig
工具配置,其中包含用于指定在请求中使用的 Tool
的参数。
JSON 表示法 |
---|
{
"functionCallingConfig": {
object ( |
字段 | |
---|---|
functionCallingConfig |
可选。函数调用配置。 |
FunctionCallingConfig
用于指定函数调用行为的配置。
JSON 表示法 |
---|
{
"mode": enum ( |
字段 | |
---|---|
mode |
可选。指定应以何种模式执行函数调用。如果未指定,默认值将设为 AUTO。 |
allowedFunctionNames[] |
可选。一组函数名称,如果提供名称,用于限制模型将调用的函数。 仅当“模式”为“任意”时,才应设置此字段。函数名称应与 [FunctionDeclaration.name] 一致。如果模式设置为“不限”,模型将从提供的一组函数名称中预测函数调用。 |
模式
通过定义执行模式,定义函数调用的执行行为。
枚举 | |
---|---|
MODE_UNSPECIFIED |
未指定的函数调用模式。不应使用此值。 |
AUTO |
默认的模型行为,模型决定是预测函数调用还是自然语言响应。 |
ANY |
模型受限于始终只能预测函数调用。如果设置了“allowedFunctionNames”,则预测的函数调用将仅限于“allowedFunctionNames”中的任意一个,否则预测的函数调用将是所提供的“functionDeclarations”中的任意一个。 |
NONE |
模型不会预测任何函数调用。模型行为与不传递任何函数声明时的行为相同。 |
UsageMetadata
关于缓存内容使用情况的元数据。
JSON 表示法 |
---|
{ "totalTokenCount": integer } |
字段 | |
---|---|
totalTokenCount |
缓存内容使用的令牌总数。 |
方法 |
|
---|---|
|
创建 CachedContent 资源。 |
|
删除 CachedContent 资源。 |
|
读取 CachedContent 资源。 |
|
列出 CachedContents。 |
|
更新 CachedContent 资源(只有到期时间可更新)。 |