生成文字

如要使用 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 模型的溫度範圍和預設值:
  • 溫度範圍:0.0 - 2.0
  • 預設值:1.0
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

後續步驟