Models

models エンドポイントを使用すると、使用可能なモデルをプログラムでリストし、サポートされている機能やコンテキスト ウィンドウのサイズ設定などの拡張メタデータを取得できます。詳しくは、モデル ガイドをご覧ください。

メソッド: models.get

特定の Model に関する情報(バージョン番号、トークンの上限、パラメータ、その他のメタデータなど)を取得します。モデルの詳細については、Gemini モデル ガイドをご覧ください。

エンドポイント

get https://generativelanguage.googleapis.com/v1beta/{name=models/*}

この URL は gRPC Transcoding 構文を使用します。

パスパラメータ

name string

必須。モデルのリソース名。

この名前は、models.list メソッドから返されたモデル名と一致する必要があります。

形式: models/{model} 形式は models/{model} です。

リクエストの本文

リクエストの本文は空にする必要があります。

リクエスト例

Python

import google.generativeai as genai

model_info = genai.get_model("models/gemini-1.5-flash-latest")
print(model_info)

Shell

curl https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash?key=$GOOGLE_API_KEY

レスポンスの本文

成功した場合、レスポンスの本文には Model のインスタンスが含まれます。

メソッド: models.list

Gemini API で使用可能な Model を一覧表示します。

エンドポイント

get https://generativelanguage.googleapis.com/v1beta/models

この URL は gRPC Transcoding 構文を使用します。

クエリ パラメータ

pageSize integer

返される Models の最大数(ページあたり)。

指定しない場合、1 ページあたり 50 個のモデルが返されます。このメソッドは、大きな pageSize を渡しても、ページあたり最大 1, 000 個のモデルを返します。

pageToken string

前回の models.list 呼び出しから受け取ったページトークン。

1 つのリクエストで返された pageToken を次のリクエストの引数として指定して、次のページを取得します。

ページ分割を行う場合、models.list に指定する他のすべてのパラメータは、ページトークンを提供した呼び出しと一致する必要があります。

リクエストの本文

リクエストの本文は空にする必要があります。

リクエスト例

Python

import google.generativeai as genai

print("List of models that support generateContent:\n")
for m in genai.list_models():
    if "generateContent" in m.supported_generation_methods:
        print(m.name)

print("List of models that support embedContent:\n")
for m in genai.list_models():
    if "embedContent" in m.supported_generation_methods:
        print(m.name)

Shell

curl https://generativelanguage.googleapis.com/v1beta/models?key=$GOOGLE_API_KEY

レスポンスの本文

ListModel からのレスポンス。モデルのページネーション リストが含まれます。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

フィールド
models[] object (Model)

返されたモデル。

nextPageToken string

次のページを取得するために pageToken として送信できるトークン。

このフィールドを省略すると、それ以上ページはありません。

JSON 表現
{
  "models": [
    {
      object (Model)
    }
  ],
  "nextPageToken": string
}

REST リソース: models

リソース: Model

生成言語モデルに関する情報。

フィールド
name string

必須。Model のリソース名。使用できる値については、モデル バリエーションをご覧ください。

形式: models/{model}{model} の命名規則は次のとおりです。

  • 「{baseModelId}-{version}」

例:

  • models/gemini-1.5-flash-001
baseModelId string

必須。ベースモデルの名前。生成リクエストに渡します。

例:

  • gemini-1.5-flash
version string

必須。モデルのバージョン番号。

メジャー バージョン(1.0 または 1.5)を表します。

displayName string

モデルの人間可読名。例: 「Gemini 1.5 Flash」。

名前は最大 128 文字で、UTF-8 文字を含めることができます。

description string

モデルの簡単な説明。

inputTokenLimit integer

このモデルで許可される入力トークンの最大数。

outputTokenLimit integer

このモデルで使用できる出力トークンの最大数。

supportedGenerationMethods[] string

モデルでサポートされている生成方法。

対応する API メソッド名は、パスカルケースの文字列(generateMessagegenerateContent など)として定義されます。

temperature number

出力のランダム性を制御します。

値の範囲は [0.0,maxTemperature] です。値が高いほど、より多様なレスポンスが生成されます。一方、値が 0.0 に近づくほど、モデルからのレスポンスは驚くほどのものではなくなります。この値は、モデルへの呼び出し中にバックエンドで使用されるデフォルトを指定します。

maxTemperature number

このモデルで使用できる最大温度。

topP number

Nucleus サンプリングの場合。

核サンプリングでは、確率の合計が topP 以上の最小のトークンセットが考慮されます。この値は、モデルへの呼び出し中にバックエンドで使用されるデフォルトを指定します。

topK integer

Top-K サンプリングの場合。

Top-k サンプリングでは、最も確率の高い topK 個のトークンのセットが考慮されます。この値は、モデルへの呼び出し中にバックエンドで使用されるデフォルトを指定します。空の場合、モデルはトップ K サンプリングを使用しません。topK は生成パラメータとして使用できません。

JSON 表現
{
  "name": string,
  "baseModelId": string,
  "version": string,
  "displayName": string,
  "description": string,
  "inputTokenLimit": integer,
  "outputTokenLimit": integer,
  "supportedGenerationMethods": [
    string
  ],
  "temperature": number,
  "maxTemperature": number,
  "topP": number,
  "topK": integer
}