使用 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 模型的温度范围和默认值:
|
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。