Models

借助“models”端点,您可以以编程方式列出可用模型,并检索支持的功能和上下文窗口大小等扩展元数据。如需了解详情,请参阅“模型”指南

方法:models.get

获取特定 Model 的相关信息,例如其版本号、令牌限制、参数和其他元数据。如需了解详细的模型信息,请参阅 Gemini 模型指南

端点

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

网址采用 gRPC 转码语法。

路径参数

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

网址采用 gRPC 转码语法。

查询参数

pageSize integer

要返回的 Models 的数量上限(每页)。

如果未指定,则每页会返回 50 个模型。此方法每页最多返回 1, 000 个模型,即使您传递较大的 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)

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.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 抽样

核采样会考虑概率总和至少为 topP 的最小一组 token。此值指定后端在调用模型时要使用的默认值。

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
}