Models

模型端点提供了一种以编程方式列出可用模型并检索扩展元数据(例如支持的功能和上下文窗口大小)的方法。如需了解详情,请参阅模型指南

方法:models.get

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

端点

领取 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)

Shell

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

响应正文

如果成功,则响应正文包含一个 Model 实例。

方法:models.list

列出通过 Gemini API 提供的 Model

端点

获取 https://generativelanguage.googleapis.com/v1beta/models

查询参数

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