方法:models.generateText
在给定输入消息的情况下,从模型生成回答。
端点
POST https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateText路径参数
model
string
必需。用于生成补全的 Model
或 TunedModel
的名称。示例:models/text-bison-001tuneModels/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, 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
对文本运行模型的标记化器,并返回令牌数。
端点
<ph type="x-smartling-placeholder"></ph> 帖子 https://generativelanguage.googleapis.com/v1beta/{model=models/*}:countTextTokens路径参数
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
的情况下,从模型生成回答。
端点
POST https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateMessage路径参数
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
对字符串运行模型的分词器并返回词元数量。
端点
<ph type="x-smartling-placeholder"></ph> 帖子 https://generativelanguage.googleapis.com/v1beta/{model=models/*}:countMessageTokens路径参数
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
在给定输入消息的情况下,根据模型生成嵌入。
端点
POST https://generativelanguage.googleapis.com/v1beta/{model=models/*}:embedText路径参数
model
string
必需。要使用的模型名称,格式为 model=models/{model}。其格式为 models/{model}
。
请求正文
请求正文中包含结构如下的数据:
<ph type="x-smartling-placeholder">text
string
可选。模型将转换为嵌入的自由格式输入文本。
方法:models.batchEmbedText
在同步调用中,根据输入文本从模型生成多个嵌入。
端点
POST https://generativelanguage.googleapis.com/v1beta/{model=models/*}:batchEmbedText路径参数
model
string
必需。要用于生成嵌入的 Model
的名称。示例: models/embedding-gecko-001 其格式为 models/{model}
。
请求正文
请求正文中包含结构如下的数据:
<ph type="x-smartling-placeholder">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
在给定输入消息的情况下,根据模型生成回复。
端点
POST https://generativelanguage.googleapis.com/v1beta/{model=tunedModels/*}:generateText路径参数
model
string
必需。用于生成补全的 Model
或 TunedModel
的名称。示例:models/text-bison-001tuneModels/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, 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
可选。应该先将文本提供给模型以打下响应的基础。
如果不为空,则系统将在 examples
和 messages
之前先将此 context
提供给模型。使用 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 ( |