Models

模型端點可讓您透過程式列出可用模型,並擷取擴充的中繼資料 (例如支援的功能和背景視窗大小)。詳情請參閱模型指南

方法:models.get

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

端點

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

路徑參數

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)

貝殼

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

查詢參數

pageSize integer

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

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

pageToken string

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

將一個要求傳回的 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)

貝殼

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.01.5)

displayName string

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

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

description string

模型的簡短說明。

inputTokenLimit integer

這個模型允許的輸入符記數量上限。

outputTokenLimit integer

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

supportedGenerationMethods[] string

模型支援的產生方法。

對應的 API 方法名稱會定義為 Pascal 大寫字母字串,例如 generateMessagegenerateContent

temperature number

控制輸出的隨機性。

值的範圍為 [0.0,maxTemperature] 以上 (包含 [0.0,maxTemperature])。值越大,產生的回應就越多元;而越接近 0.0 的值,則通常不會使模型產生出乎意料的回應。這個值會指定後端在呼叫模型時使用的預設值。

maxTemperature number

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

topP number

用於 Nucleus 取樣

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
  ],
  "temperature": number,
  "maxTemperature": number,
  "topP": number,
  "topK": integer
}