方法: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 ( |