PaLM (decommissioned)

方法: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 (Message)
    }
  ],
  "messages": [
    {
      object (Message)
    }
  ],
  "filters": [
    {
      object (ContentFilter)
    }
  ]
}

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

可选。模型将转换为嵌入的自由格式输入文本。

响应正文

对 EmbedTextRequest 的响应。

如果成功,响应正文将包含结构如下的数据:

字段
embedding object (Embedding)

仅限输出。根据输入文本生成的嵌入。

JSON 表示法
{
  "embedding": {
    object (Embedding)
  }
}

方法: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 (Embedding)
    }
  ]
}

EmbedTextRequest

请求从模型获取文本嵌入。

字段
model string

必需。要使用的模型名称,格式为 model=models/{model}。

text string

可选。模型将转换为嵌入的自由格式输入文本。

JSON 表示法
{
  "model": string,
  "text": string
}

ContentFilter

与处理单个请求相关联的内容过滤元数据。

ContentFilter 包含一个原因和一个可选的支持字符串。原因可能未指定。

字段
reason enum (BlockedReason)

在处理请求期间内容被屏蔽的原因。

message string

一个字符串,用于更详细地描述过滤行为。

JSON 表示法
{
  "reason": enum (BlockedReason),
  "message": string
}

BlockedReason

内容可能被屏蔽的原因列表。

枚举
BLOCKED_REASON_UNSPECIFIED 未指定屏蔽原因。
SAFETY 内容已被安全设置屏蔽。
OTHER 内容已被屏蔽,但原因未分类。

嵌入

表示嵌入的浮点数列表。

字段
value[] number

嵌入值。

JSON 表示法
{
  "value": [
    number
  ]
}

消息

结构化文本的基本单元。

Message 包含 author 和 Message 的 content。

author 用于在将消息作为文本馈送到模型时标记消息。

字段
author string

可选。相应消息的作者。

当此消息作为文本馈送到模型时,此属性可作为标记此消息内容的键。

作者可以是任何字母数字字符串。

content string

必需。结构化 Message 的文本内容。

citationMetadata object (CitationMetadata)

仅限输出。相应 Message 中模型生成的 content 的引用信息。

如果此 Message 是模型生成的输出,则此字段可能会填充 content 中包含的任何文本的提供方信息。此字段仅用于输出。

JSON 表示法
{
  "author": string,
  "content": string,
  "citationMetadata": {
    object (CitationMetadata)
  }
}

MessagePrompt

作为提示传递给模型的所有结构化输入文本。

MessagePrompt 包含一组结构化字段,用于提供对话的上下文;包含用户输入/模型输出消息对的示例,用于引导模型以不同方式回答;还包含对话历史记录或消息列表,用于表示用户与模型之间交替进行的对话回合。

字段
context string

可选。应该先将文本提供给模型以打下响应的基础。

如果此 context 不为空,则会先将此 context 提供给模型,然后再提供 examples 和 messages。使用 context 时,请务必在每个请求中提供该令牌,以保持连续性。

此字段可以是您向模型发出的提示的说明,有助于提供上下文并引导回答。示例:“将该短语从英语翻译成法语。”或“给定一个陈述,将情感归类为快乐、悲伤或中性。”

如果总输入大小超过模型的 inputTokenLimit,并且输入请求被截断,则此字段中包含的任何内容都将优先于消息历史记录。

examples[] object (Example)

可选。模型应生成的示例。

这包括用户输入和模型应模拟的回答。

这些 examples 的处理方式与对话消息相同,但它们优先于 messages 中的历史记录:如果总输入大小超过模型的 inputTokenLimit,输入将被截断。商品将从 messages 中下架,时间为 examples 之前。

messages[] object (Message)

必需。按时间顺序排序的近期对话记录的快照。

轮流由两位作者撰写。

如果总输入大小超过模型的 inputTokenLimit,输入将被截断:系统会从 messages 中舍弃最旧的项目。

JSON 表示法
{
  "context": string,
  "examples": [
    {
      object (Example)
    }
  ],
  "messages": [
    {
      object (Message)
    }
  ]
}

示例

用于指示模型的输入/输出示例。

它展示了模型应如何回答或设置回答的格式。

字段
input object (Message)

必需。用户输入 Message 的示例。

output object (Message)

必需。模型在获得输入后应输出的内容示例。

JSON 表示法
{
  "input": {
    object (Message)
  },
  "output": {
    object (Message)
  }
}

GenerateTextResponse

模型的回答,包括候选补全内容。

字段
candidates[] object (TextCompletion)

模型给出的候选回答。

filters[] object (ContentFilter)

提示和回答文本的一组内容过滤元数据。

这表示哪些 SafetyCategory 屏蔽了相应回答中的候选内容、触发屏蔽的最低 HarmProbability,以及相应类别的 HarmThreshold 设置。这表示为解除至少 1 个响应的阻塞状态,SafetySettings 需要进行的最小更改。

阻塞由请求中的 SafetySettings(或 API 的默认 SafetySettings)配置。

safetyFeedback[] object (SafetyFeedback)

返回与内容过滤相关的任何安全反馈。

JSON 表示法
{
  "candidates": [
    {
      object (TextCompletion)
    }
  ],
  "filters": [
    {
      object (ContentFilter)
    }
  ],
  "safetyFeedback": [
    {
      object (SafetyFeedback)
    }
  ]
}

TextCompletion

从模型返回的输出文本。

字段
output string

仅限输出。模型返回的生成文本。

safetyRatings[] object (SafetyRating)

回答的安全评级。

每个类别最多只能有一个分级。

citationMetadata object (CitationMetadata)

仅限输出。相应 TextCompletion 中模型生成的 output 的引用信息。

此字段可能会填充 output 中包含的任何文本的提供方信息。

JSON 表示法
{
  "output": string,
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "citationMetadata": {
    object (CitationMetadata)
  }
}

SafetyFeedback

针对整个请求的安全反馈。

如果输入和/或响应中的内容因安全设置而被屏蔽,系统会填充此字段。并非每个 HarmCategory 都有对应的 SafetyFeedback。每个 SafetyFeedback 都会返回请求使用的安全设置,以及为了返回结果而应允许的最低 HarmProbability。

字段
rating object (SafetyRating)

根据内容评估的安全等级。

setting object (SafetySetting)

应用于请求的安全设置。

JSON 表示法
{
  "rating": {
    object (SafetyRating)
  },
  "setting": {
    object (SafetySetting)
  }
}

TextPrompt

作为提示提供给模型的文本。

模型将使用此 TextPrompt 生成文本补全。

字段
text string

必需。提示文本。

JSON 表示法
{
  "text": string
}