生成文本

使用 Gemini Chat Completions API 生成文本的最简单方法是为模型提供单个纯文本输入。您可以使用 REST API 中的聊天补全端点,并使用 HTTP 客户端或 OpenAI 的官方 Python SDK。

如需详细了解如何使用 Gemini 生成文本,以及有关发送 API 请求的分步说明,请参阅发送文本提示

如需详细了解 OpenAI 和 Gemini 在 Google Distributed Cloud (GDC) 隔离环境中实现的 Chat Completions 端点,请参阅 https://platform.openai.com/docs/api-reference/chat

根据提示生成文本

以下示例展示了使用 OpenAI 的官方 Python 或 curl SDK 发出的 Gemini Chat Completions API 请求,其中包含单个纯文本输入。

Python

import openai

client = openai.OpenAI(
  base_url = "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT",
)

model_response = client.chat.completions.create(
  model = "MODEL_ID",
  messages = [{"role": "user", "content": "Write a story about a magic backpack." }]
)

print(model_response)

MODEL_ID 替换为要生成回答的模型的端点 ID。

curl

curl \
  -X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
  -d '{
      "model_id": "MODEL_ID",
      "messages": [
          {
              "role": "user",
              "content": "Write a story about a magic backpack."
          }
      ]
  }'

替换以下内容:

  • ENDPOINT:您组织使用的 API 端点。
  • PROJECT:您的项目 ID。
  • MODEL_ID:要生成回答的模型的端点 ID。

对参数进行实验

您向模型发送的每个提示都包含控制模型如何生成回答的参数。不同的参数值可能会生成不同的结果。因此请尝试不同的参数值,以获得任务的最佳值。不同模型的可用参数可能有所不同。如果您未配置这些参数,模型将使用默认选项。

最常见的参数如下:

参数 说明 字段名称
token 数上限 回答中可生成的 token 数量上限。

一个 token 约为 4 个字符。100 个 token 相当于 60-80 个字词。

指定较低的值可获得较短的回答,指定较高的值可获得可能较长的回答。
max_completion_tokens
温度 词元选择的随机程度。温度用于在回答生成期间进行采样,这会在应用 top_p 时进行。

对于需要较少创造性或开放性回答的提示,请使用较低的值;较高的值可以带来更具多样性或创造性的结果。

温度为 0 表示始终选择概率最高的 token。在这种情况下,给定提示的回复大多是确定的,但可能仍然有少量变化。

如果回答过于笼统、过于简短,或者模型给出后备回答,请调高温度。

以下是 GDC 中 Gemini 模型的温度范围和默认值:
  • 温度范围:0.0 - 2.0
  • 默认值:1.0
temperature
Top-P 一个概率阈值,用于更改模型选择输出 token 的方式。

系统会按照概率从最高到最低的顺序选择 token,直到所选 token 的概率总和等于 Top-P 的值。例如,如果 token A、B 和 C 的概率分别为 0.3、0.2 和 0.1,并且 top-P 值为 0.5,则模型将选择 A 或 B 作为下一个 token(通过温度确定),并会排除 C,将其作为候选 token。

指定较低的值可获得随机性较低的回答,指定较高的值可获得随机性较高的回答。
top_p

以下 curl 示例展示了如何将 temperature 配置为 1.5 的值,并将 max_completion_tokens 配置为 800

curl \
  -X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
  -d '{
      "model_id": "MODEL_ID",
      "messages": [
          {
              "role": "user",
              "content": "Write a story about a magic backpack."
          }
      ],
      "temperature": 1.5,
      "max_completion_tokens": 800
  }'

如需详细了解如何使用 OpenAI 的聊天补全端点来实验参数,请参阅 https://platform.openai.com/docs/api-reference/chat/create

后续步骤