テキストを生成

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。

パラメータをテストする

モデルに送信するすべてのプロンプトには、モデルがどのようにレスポンスを生成するかを制御するパラメータが含まれています。パラメータ値が異なると、結果も異なります。さまざまなパラメータ値を試して、タスクに最適な値を取得します。使用可能なパラメータはモデルによって異なる場合があります。パラメータを構成しない場合、モデルはデフォルトのオプションを使用します。

最も一般的なパラメータは次のとおりです。

パラメータ 説明 フィールド名
最大トークン数 レスポンスで生成できるトークンの最大数。

トークンは 4 文字程度です。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 だとします。このとき、モデルは次のトークンとして A か B を温度を使って選択し、C は候補から外します。

ランダム性の低いレスポンスには小さい値を指定し、ランダム性の高いレスポンスには大きい値を指定します。
top_p

次の curl の例は、temperature1.5 の値に、max_completion_tokens800 に構成する方法を示しています。

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 をご覧ください。

次のステップ