方法:models.generateText
在给定输入消息的情况下,从模型生成回答。
端点
帖子https: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:generateText
网址采用 gRPC 转码语法。
路径参数
model
string
必需。用于生成补全项的 Model
或 TunedModel
的名称。示例:models/text-bison-001 tunedModels/sentence-translator-u3b7m 其格式为 models/{model}
。
请求正文
请求正文中包含结构如下的数据:
prompt
object (TextPrompt
)
必需。作为提示提供给模型的自由格式输入文本。
在收到提示后,模型会生成一个 TextCompletion 回答,该回答是模型预测的输入文本的补全内容。
safetySettings[]
object (SafetySetting
)
可选。用于屏蔽不安全内容的唯一 SafetySetting
实例列表。
将强制应用于 GenerateTextRequest.prompt
和 GenerateTextResponse.candidates
。每个 SafetyCategory
类型不应有多个设置。API 会屏蔽未达到这些设置所设阈值的所有提示和回答。此列表会替换 safetySettings 中指定的每个 SafetyCategory
的默认设置。如果列表中提供的给定 SafetyCategory
没有 SafetySetting
,则该 API 将使用该类别的默认安全设置。文本服务支持危害类别 HARM_CATEGORY_DEROGATORY、HARM_CATEGORY_TOXICITY、HARM_CATEGORY_VIOLENCE、HARM_CATEGORY_SEXUAL、HARM_CATEGORY_MEDICAL、HARM_CATEGORY_DANGEROUS。
stopSequences[]
string
用于停止生成输出的字符序列集(最多 5 个)。如果指定了停止序列,API 会在停止序列首次出现时停止。停止序列不会包含在回答中。
temperature
number
可选。控制输出的随机性。注意:默认值因型号而异,请参阅 getModel
函数返回的 Model
的 Model.temperature
属性。
值介于 [0.0,1.0] 之间(包括这两个数值)。值越接近 1.0,生成的回答就越丰富、越富有创意;而值越接近 0.0,模型生成的回答通常就越直接。
candidateCount
integer
可选。要返回的生成的回答数量。
此值必须介于 [1, 8] 之间(包括这两个数值)。如果未设置,则默认为 1。
maxOutputTokens
integer
可选。候选项中包含的令牌数量上限。
如果未设置,则默认为 Model
规范中指定的 outputTokenLimit。
topP
number
可选。采样时要考虑的词元的累计概率上限。
该模型使用组合 Top-k 和核采样。
系统会根据分配的概率对令牌进行排序,以便仅考虑概率最高的令牌。Top-k 采样会直接限制要考虑的 token 数量上限,而 Nucleus 采样会根据累积概率限制 token 数量。
注意:默认值因型号而异,请参阅 getModel
函数返回的 Model
的 Model.top_p
属性。
topK
integer
可选。抽样时要考虑的令牌数量上限。
该模型使用组合 Top-k 和核采样。
Top-k 抽样会考虑一组概率最高的 topK
个词元。默认值为 40。
注意:默认值因型号而异,请参阅 getModel
函数返回的 Model
的 Model.top_k
属性。
响应正文
如果成功,则响应正文包含一个 GenerateTextResponse
实例。
方法:models.countTextTokens
对文本运行模型的标记化工具,并返回令牌数。
端点
帖子https: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:countTextTokens
网址采用 gRPC 转码语法。
路径参数
model
string
必需。模型的资源名称。此 ID 将用作模型的 ID。
此名称应与 models.list
方法返回的模型名称一致。
格式:models/{model}
格式为 models/{model}
。
请求正文
请求正文中包含结构如下的数据:
prompt
object (TextPrompt
)
必需。作为提示提供给模型的自由格式输入文本。
响应正文
来自 models.countTextTokens
的响应。
它会针对 prompt
返回模型的 tokenCount
。
如果成功,响应正文将包含结构如下的数据:
tokenCount
integer
model
将 prompt
分解为词元的数量。
始终为非负数。
JSON 表示法 |
---|
{ "tokenCount": integer } |
方法:models.generateMessage
在给定输入 MessagePrompt
的情况下,从模型生成回答。
端点
帖子https: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:generateMessage
网址采用 gRPC 转码语法。
路径参数
model
string
必需。要使用的模型的名称。
格式:name=models/{model}
。其格式为 models/{model}
。
请求正文
请求正文中包含结构如下的数据:
prompt
object (MessagePrompt
)
必需。作为提示提供给模型的结构化文本输入。
给定一个问题,该模型会返回它预测的讨论中的下一条消息。
temperature
number
可选。控制输出的随机性。
值的范围介于 [0.0,1.0]
到 [0.0,1.0]
之间(包括这两个数值)。值越接近 1.0
,生成的回答就越多样化;值越接近 0.0
,模型生成的回答就越不出人意料。
candidateCount
integer
可选。要返回的生成的响应消息数量。
此值必须介于 [1, 8]
之间(包括这两个数值)。如果未设置,则默认为 1
。
topP
number
可选。采样时要考虑的词元的累计概率上限。
该模型使用组合 Top-k 和核采样。
核采样会考虑概率总和至少为 topP
的最小一组 token。
topK
integer
可选。抽样时要考虑的令牌数量上限。
该模型使用组合 Top-k 和核采样。
Top-k 抽样会考虑一组概率最高的 topK
个词元。
响应正文
模型的回答。
这包括以按时间顺序排列的消息形式显示的候选消息和对话记录。
如果成功,响应正文将包含结构如下的数据:
candidates[]
object (Message
)
模型中的候选回答消息。
messages[]
object (Message
)
模型使用的对话历史记录。
filters[]
object (ContentFilter
)
提示和回答文本的一组内容过滤元数据。
这表示哪些 SafetyCategory
屏蔽了此回答中的候选项、触发屏蔽的最低 HarmProbability
,以及该类别的 HarmThreshold 设置。
JSON 表示法 |
---|
{ "candidates": [ { object ( |
方法:models.countMessageTokens
对字符串运行模型的标记化器,并返回令牌数。
端点
帖子https: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:countMessageTokens
网址采用 gRPC 转码语法。
路径参数
model
string
必需。模型的资源名称。此 ID 将用作模型的 ID。
此名称应与 models.list
方法返回的模型名称一致。
格式:models/{model}
格式为 models/{model}
。
请求正文
请求正文中包含结构如下的数据:
prompt
object (MessagePrompt
)
必需。要返回其令牌数的提示。
响应正文
来自 models.countMessageTokens
的响应。
它会针对 prompt
返回模型的 tokenCount
。
如果成功,响应正文将包含结构如下的数据:
tokenCount
integer
model
将 prompt
分解为词元的数量。
始终为非负数。
JSON 表示法 |
---|
{ "tokenCount": integer } |
方法:models.embedText
在给定输入消息的情况下,从模型生成嵌入。
端点
帖子https: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:embedText
网址采用 gRPC 转码语法。
路径参数
model
string
必需。要使用的模型名称,格式为 model=models/{model}。其格式为 models/{model}
。
请求正文
请求正文中包含结构如下的数据:
text
string
可选。模型将转换为嵌入的自由格式输入文本。
方法:models.batchEmbedText
在同步调用中,根据输入文本从模型生成多个嵌入。
端点
帖子https: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:batchEmbedText
网址采用 gRPC 转码语法。
路径参数
model
string
必需。用于生成嵌入的 Model
的名称。示例:models/embedding-gecko-001。格式为 models/{model}
。
请求正文
请求正文中包含结构如下的数据:
texts[]
string
可选。模型将转换为嵌入的自由格式输入文本。目前的上限是 100 条文本,超出此上限时,系统会抛出错误。
requests[]
object (EmbedTextRequest
)
可选。嵌入批处理请求。只能设置 texts
或 requests
之一。
响应正文
对 EmbedTextRequest 的响应。
如果成功,响应正文将包含结构如下的数据:
embeddings[]
object (Embedding
)
仅限输出。根据输入文本生成的嵌入。
JSON 表示法 |
---|
{
"embeddings": [
{
object ( |
EmbedTextRequest
请求从模型获取文本嵌入。
model
string
必需。要使用的模型名称,格式为 model=models/{model}。
text
string
可选。模型将转换为嵌入的自由格式输入文本。
JSON 表示法 |
---|
{ "model": string, "text": string } |
方法:tunedModels.generateText
在给定输入消息的情况下,从模型生成回答。
端点
帖子https: / /generativelanguage.googleapis.com /v1beta /{model=tunedModels /*}:generateText
网址采用 gRPC 转码语法。
路径参数
model
string
必需。用于生成补全项的 Model
或 TunedModel
的名称。示例:models/text-bison-001 tunedModels/sentence-translator-u3b7m 其格式为 tunedModels/{tunedmodel}
。
请求正文
请求正文中包含结构如下的数据:
prompt
object (TextPrompt
)
必需。作为提示提供给模型的自由格式输入文本。
在收到提示后,模型会生成一个 TextCompletion 回答,该回答是模型预测的输入文本的补全内容。
safetySettings[]
object (SafetySetting
)
可选。用于屏蔽不安全内容的唯一 SafetySetting
实例列表。
将强制应用于 GenerateTextRequest.prompt
和 GenerateTextResponse.candidates
。每个 SafetyCategory
类型不应有多个设置。API 会屏蔽未达到这些设置所设阈值的所有提示和回答。此列表会替换 safetySettings 中指定的每个 SafetyCategory
的默认设置。如果列表中提供的给定 SafetyCategory
没有 SafetySetting
,则该 API 将使用该类别的默认安全设置。文本服务支持危害类别 HARM_CATEGORY_DEROGATORY、HARM_CATEGORY_TOXICITY、HARM_CATEGORY_VIOLENCE、HARM_CATEGORY_SEXUAL、HARM_CATEGORY_MEDICAL、HARM_CATEGORY_DANGEROUS。
stopSequences[]
string
用于停止生成输出的字符序列集(最多 5 个)。如果指定了停止序列,API 会在停止序列首次出现时停止。停止序列不会包含在回答中。
temperature
number
可选。控制输出的随机性。注意:默认值因型号而异,请参阅 getModel
函数返回的 Model
的 Model.temperature
属性。
值介于 [0.0,1.0] 之间(包括这两个数值)。值越接近 1.0,生成的回答就越丰富、越富有创意;而值越接近 0.0,模型生成的回答通常就越直接。
candidateCount
integer
可选。要返回的生成的回答数量。
此值必须介于 [1, 8] 之间(包括这两个数值)。如果未设置,则默认为 1。
maxOutputTokens
integer
可选。候选项中包含的令牌数量上限。
如果未设置,则默认为 Model
规范中指定的 outputTokenLimit。
topP
number
可选。采样时要考虑的词元的累计概率上限。
该模型使用组合 Top-k 和核采样。
系统会根据分配的概率对令牌进行排序,以便仅考虑概率最高的令牌。Top-k 采样会直接限制要考虑的 token 数量上限,而 Nucleus 采样会根据累积概率限制 token 数量。
注意:默认值因型号而异,请参阅 getModel
函数返回的 Model
的 Model.top_p
属性。
topK
integer
可选。抽样时要考虑的令牌数量上限。
该模型使用组合 Top-k 和核采样。
Top-k 抽样会考虑一组概率最高的 topK
个词元。默认值为 40。
注意:默认值因型号而异,请参阅 getModel
函数返回的 Model
的 Model.top_k
属性。
响应正文
如果成功,则响应正文包含一个 GenerateTextResponse
实例。
ContentFilter
与处理单个请求相关联的内容过滤元数据。
ContentFilter 包含原因和可选的支持字符串。原因可能未指明。
reason
enum (BlockedReason
)
内容在请求处理期间被屏蔽的原因。
message
string
一个字符串,用于更详细地描述过滤行为。
JSON 表示法 |
---|
{
"reason": enum ( |
BlockedReason
列出了内容可能被屏蔽的原因。
枚举 | |
---|---|
BLOCKED_REASON_UNSPECIFIED |
未指定屏蔽原因。 |
SAFETY |
内容因安全设置而被屏蔽。 |
OTHER |
内容被屏蔽,但原因未分类。 |
消息
结构化文本的基本单元。
Message
包含 author
和 Message
的 content
。
author
用于在将消息作为文本馈送给模型时为消息添加标记。
content
string
必需。结构化 Message
的文本内容。
citationMetadata
object (CitationMetadata
)
仅限输出。此 Message
中模型生成的 content
的引用信息。
如果此 Message
是作为模型输出生成的,则此字段可能会填充 content
中包含的任何文本的归因信息。此字段仅用于输出。
JSON 表示法 |
---|
{
"author": string,
"content": string,
"citationMetadata": {
object ( |
MessagePrompt
作为提示传递给模型的所有结构化输入文本。
MessagePrompt
包含一组结构化字段,用于为对话提供上下文;用户输入/模型输出消息对示例,用于引导模型以不同的方式做出回应;以及对话历史记录或消息列表,用于表示用户和模型之间的对话交替进行。
context
string
可选。应该先将文本提供给模型以打下响应的基础。
如果不为空,此 context
将在 examples
和 messages
之前先提供给模型。使用 context
时,请务必在每个请求中提供它,以保持连续性。
此字段可以是对模型提示的说明,有助于提供上下文和指导回答。示例:“将该短语从英语翻译成法语。”或“根据给定陈述,将情感分类为快乐、悲伤或中性。”
如果输入总大小超出模型的 inputTokenLimit
且输入请求被截断,则此字段中包含的任何内容都将优先于消息历史记录。
examples[]
object (Example
)
可选。模型应生成的内容示例。
这包括用户输入和模型应模拟的响应。
这些 examples
的处理方式与对话消息相同,但它们优先于 messages
中的历史记录:如果输入总大小超出模型的 inputTokenLimit
,系统会截断输入。系统会在 examples
之前从 messages
中丢弃项。
messages[]
object (Message
)
必需。按时间顺序排列的近期对话历史记录的快照。
轮流显示两位作者。
如果输入总大小超过模型的 inputTokenLimit
,系统会截断输入:从 messages
中丢弃最早的项。
示例
GenerateTextResponse
模型的回答,包括候选补全项。
candidates[]
object (TextCompletion
)
模型的候选回答。
filters[]
object (ContentFilter
)
提示和回答文本的一组内容过滤元数据。
这表示哪些 SafetyCategory
屏蔽了此回答中的候选项、触发屏蔽的最低 HarmProbability
,以及该类别的 HarmThreshold 设置。这表示,为了取消屏蔽至少 1 个响应,对 SafetySettings
所需的最小更改。
屏蔽由请求中的 SafetySettings
(或 API 的默认 SafetySettings
)配置。
safetyFeedback[]
object (SafetyFeedback
)
返回与内容过滤相关的任何安全反馈。
JSON 表示法 |
---|
{ "candidates": [ { object ( |
TextCompletion
从模型返回的输出文本。
output
string
仅限输出。模型返回的生成文本。
safetyRatings[]
object (SafetyRating
)
回答安全性的评分。
每个类别最多只能有一个分级。
citationMetadata
object (CitationMetadata
)
仅限输出。此 TextCompletion
中模型生成的 output
的引用信息。
此字段可填充 output
中包含的任何文本的归属信息。
JSON 表示法 |
---|
{ "output": string, "safetyRatings": [ { object ( |
SafetyFeedback
针对整个请求的安全反馈。
如果输入内容和/或回答内容因安全设置而被屏蔽,系统会填充此字段。并非每个 HarmCategory 都存在 SafetyFeedback。每个 SafetyFeedback 都会返回请求使用的安全设置,以及返回结果时应允许的最低 HarmProbability。
rating
object (SafetyRating
)
根据内容评估的安全分级。
setting
object (SafetySetting
)
应用于请求的安全设置。
JSON 表示法 |
---|
{ "rating": { object ( |