Models

您可以使用 Models 端點,以程式輔助方式列出可用模型,並擷取擴充中繼資料,例如支援的功能和內容視窗大小。詳情請參閱模型指南

方法:models.get

取得特定 Model 的相關資訊,例如版本號碼、權杖限制、參數和其他中繼資料。如需詳細模型資訊,請參閱 Gemini 模型指南

端點

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

路徑參數

name string

必要欄位。模型的資源名稱。

這個名稱應與 models.list 方法傳回的模型名稱相符。

格式:models/{model},形式為 models/{model}

要求主體

要求主體必須為空白。

要求範例

Python

from google import genai

client = genai.Client()
model_info = client.models.get(model="gemini-2.0-flash")
print(model_info)

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

modelInfo, err := client.Models.Get(ctx, "gemini-2.0-flash", nil)
if err != nil {
	log.Fatal(err)
}

fmt.Println(modelInfo)

貝殼

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

回應主體

如果成功,回應主體會包含 Model 的執行例項。

方法:models.list

列出透過 Gemini API 提供的 Models

端點

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

查詢參數

pageSize integer

要傳回的 Models 數量上限 (每頁)。

如未指定,每頁最多會傳回 50 個模型。即使您傳遞較大的 pageSize,這個方法每頁最多只會傳回 1000 個模型。

pageToken string

屬於接收自前一個 models.list 呼叫的網頁權杖。

將一個要求傳回的 pageToken 做為下一個要求的引數,即可擷取下一頁。

進行分頁時,提供至 models.list 的所有其他參數須與提供網頁權杖的呼叫相符。

要求主體

要求主體必須為空白。

要求範例

Python

from google import genai

client = genai.Client()

print("List of models that support generateContent:\n")
for m in client.models.list():
    for action in m.supported_actions:
        if action == "generateContent":
            print(m.name)

print("List of models that support embedContent:\n")
for m in client.models.list():
    for action in m.supported_actions:
        if action == "embedContent":
            print(m.name)

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}


// Retrieve the list of models.
models, err := client.Models.List(ctx, &genai.ListModelsConfig{})
if err != nil {
	log.Fatal(err)
}

fmt.Println("List of models that support generateContent:")
for _, m := range models.Items {
	for _, action := range m.SupportedActions {
		if action == "generateContent" {
			fmt.Println(m.Name)
			break
		}
	}
}

fmt.Println("\nList of models that support embedContent:")
for _, m := range models.Items {
	for _, action := range m.SupportedActions {
		if action == "embedContent" {
			fmt.Println(m.Name)
			break
		}
	}
}

貝殼

curl https://generativelanguage.googleapis.com/v1beta/models?key=$GEMINI_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.01.5)

displayName string

模型的使用者可解讀名稱。例如「Gemini 1.5 Flash」。

名稱長度上限為 128 個字元,可以使用任何 UTF-8 字元。

description string

模型的簡短說明。

inputTokenLimit integer

這個模型允許的輸入權杖數量上限。

outputTokenLimit integer

這個模型可用的輸出權杖數量上限。

supportedGenerationMethods[] string

模型支援的生成方法。

對應的 API 方法名稱定義為大駝峰式命名法字串,例如 generateMessagegenerateContent

thinking boolean

模型是否支援思考。

temperature number

控制輸出內容的隨機程度。

值的範圍為 [0.0,maxTemperature],包含這兩者。值越高,模型生成的回覆就越多元;值越接近 0.0,模型生成的回覆就越不令人意外。這個值指定後端在呼叫模型時使用的預設值。

maxTemperature number

這個模型可使用的最高溫度。

topP number

適用於 Nucleus 取樣

核心取樣會考慮機率總和至少為 topP 的最小符記集。這個值指定後端在呼叫模型時使用的預設值。

topK integer

適用於 Top-K 取樣。

Top-k 取樣會考慮topK機率最高的符記組合。這個值指定後端在呼叫模型時使用的預設值。如果為空白,表示模型不會使用 top-k 抽樣,且 topK 不得做為生成參數。

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