如要使用 Gemini Chat Completions API 生成文字,最簡單的方法就是提供單一文字輸入內容給模型。您可以在 REST API 中使用對話完成端點,並使用 HTTP 用戶端或 OpenAI 的 Python 官方 SDK。
如要進一步瞭解如何使用 Gemini 生成文字,以及傳送 API 要求的逐步操作說明,請參閱「傳送文字提示」。
如要進一步瞭解 OpenAI,以及 Gemini 在 Google Distributed Cloud (GDC) Air-Gapped 中實作的 Chat Completions 端點,請參閱 https://platform.openai.com/docs/api-reference/chat。
根據提示生成文字
下列範例顯示 Gemini Chat Completions API 要求,其中使用 OpenAI 的官方 Python 或 curl SDK,以純文字形式輸入單一內容。
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。
實驗參數
您傳送給模型的每個提示都包含參數,用來控制模型生成回覆的方式。參數值不同,生成的結果也可能會不同。實驗不同參數值,取得最適合工作目標的結果。不同模型可用的參數不盡相同。如未設定參數,模型會使用預設選項。
最常見的參數如下:
| 參數 | 說明 | 欄位名稱 |
|---|---|---|
| 權杖數量上限 | 回覆內可以生成的詞元數量上限。 一個詞元約為四個字元。100 個權杖約等於 60 到 80 個字。 如要取得較短的回覆,請指定較低的值;如要取得可能較長的回覆,請調高此值。 |
max_completion_tokens |
| 溫度參數 | 選取詞元時的隨機程度。系統會在生成回覆時 (即套用 top_p 時) 採用溫度參數進行取樣。如果提示需要較不具創意或開放性的回覆,請使用較低的值;如果提示需要較多元或有創意的結果,請使用較高的值。 溫度參數為 0 時,模型一律會選取可能性最高的詞元。在這種情況下,特定提示的回覆大多是確定性的,但仍可能出現少量差異。如果回覆太普通、太短或模型提供備用回覆,請調高溫度。 以下是 GDC 中 Gemini 模型的溫度範圍和預設值:
|
temperature |
| Top-P | 門檻機率值,會影響模型選取輸出符記的方式。 模型會按照機率最高到最低的順序選取符記,直到所選符記的機率總和等於「Top-P」值。舉例來說,假設詞元 A、B 和 C 的可能性分別為 0.3、0.2 和 0.1,而「Top-P」值為 0.5,模型會依據 temperature 選擇 A 或 B 做為下一個詞元,並排除 C。如要減少隨機性,請指定較低的值;如要增加隨機性,請指定較高的值。 |
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。