方法:models.generateText
根据输入消息生成模型回答。
端点
帖子https: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:generateText
路径参数
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] 之间(含 0.0 和 1.0)。值越接近 1.0,生成的回答就越多样化和富有创意;值越接近 0.0,模型通常会生成更直接的回答。
candidateCount
integer
可选。要返回的生成响应数量。
此值必须介于 [1, 8] 之间(含首尾)。如果未设置,则默认为 1。
maxOutputTokens
integer
可选。候选回答中包含的令牌数量上限。
如果未设置,则默认为 Model 规范中指定的 outputTokenLimit。
topP
number
可选。抽样时要考虑的 token 的最大累积概率。
模型使用 Top-k 和核采样相结合的方式。
系统会根据词元的分配概率对其进行排序,以便仅考虑最有可能的词元。Top-k 抽样直接限制要考虑的 token 的数量上限,而 Nucleus 抽样则根据累积概率限制 token 的数量。
注意:默认值因模型而异,请参阅 getModel 函数返回的 Model 的 Model.top_p 属性。
topK
integer
可选。抽样时要考虑的令牌数量上限。
模型使用 Top-k 和核采样相结合的方式。
Top-k 抽样会考虑 topK 个最可能的 token。默认值为 40。
注意:默认值因模型而异,请参阅 getModel 函数返回的 Model 的 Model.top_k 属性。
响应正文
如果成功,则响应正文包含一个 GenerateTextResponse 实例。
方法:models.countTextTokens
对文本运行模型的分词器,并返回 token 数量。
端点
帖子https: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:countTextTokens
路径参数
model
string
必需。相应模型的资源名称。用作模型使用的 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
路径参数
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
可选。抽样时要考虑的 token 的最大累积概率。
模型使用 Top-k 和核采样相结合的方式。
核采样会考虑概率总和不低于 topP 的最小 token 集。
topK
integer
可选。抽样时要考虑的令牌数量上限。
模型使用 Top-k 和核采样相结合的方式。
Top-k 抽样会考虑概率最高的前 topK 个 token。
响应正文
模型的回答。
这包括候选消息和按时间顺序排列的消息形式的对话历史记录。
如果成功,响应正文将包含结构如下的数据:
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
路径参数
model
string
必需。相应模型的资源名称。用作模型使用的 ID。
此名称应与 models.list 方法返回的某个模型名称相匹配。
格式:models/{model}。其形式为 models/{model}。
请求正文
请求正文中包含结构如下的数据:
prompt
object (MessagePrompt)
必需。要返回其 token 数的提示。
响应正文
来自 models.countMessageTokens 的回答。
它会返回 prompt 的模型 tokenCount。
如果成功,响应正文将包含结构如下的数据:
tokenCount
integer
model 将 prompt 分词为的词元数。
始终为非负数。
| JSON 表示法 |
|---|
{ "tokenCount": integer } |
方法:models.embedText
根据输入消息,通过模型生成嵌入内容。
端点
帖子https: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:embedText
路径参数
model
string
必需。要使用的模型名称,格式为 model=models/{model}。其格式为 models/{model}。
请求正文
请求正文中包含结构如下的数据:
text
string
可选。模型将转换为嵌入的自由格式输入文本。
方法:models.batchEmbedText
通过同步调用,根据输入文本从模型生成多个嵌入。
端点
帖子https: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:batchEmbedText
路径参数
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 } |
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 不为空,则会先将此 context 提供给模型,然后再提供 examples 和 messages。使用 context 时,请务必在每个请求中提供该令牌,以保持连续性。
此字段可以是您向模型发出的提示的说明,有助于提供上下文并引导回答。示例:“将该短语从英语翻译成法语。”或“给定一个陈述,将情感归类为快乐、悲伤或中性。”
如果总输入大小超过模型的 inputTokenLimit,并且输入请求被截断,则此字段中包含的任何内容都将优先于消息历史记录。
examples[]
object (Example)
可选。模型应生成的示例。
这包括用户输入和模型应模拟的回答。
这些 examples 的处理方式与对话消息相同,但它们优先于 messages 中的历史记录:如果总输入大小超过模型的 inputTokenLimit,输入将被截断。商品将从 messages 中下架,时间为 examples 之前。
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 ( |