> ## Documentation Index
> Fetch the complete documentation index at: https://ikun.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Gemini

> 了解如何在 Agno 中使用 Gemini 模型。

通过 [Google AI Studio](https://ai.google.dev/gemini-api/docs) 或 [Google Cloud Vertex AI](https://cloud.google.com/vertex-ai/generative-ai/docs/overview) 使用 Google 的 Gemini 模型，这些平台提供了对大型语言模型和其他服务的访问。

我们建议进行实验以找到最适合您用例的模型。以下是 Gemini `2.x` 系列模型的一些通用建议：

* `gemini-2.0-flash` 适用于大多数用例。
* `gemini-2.0-flash-lite` 是最具成本效益的模型。
* `gemini-2.5-pro-exp-03-25` 是最强大的多模态模型。

有关可用模型版本的信息，请参阅 [Google AI Studio 文档](https://ai.google.dev/gemini-api/docs/models)和 [Vertex AI 文档](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models)。

## 模型认证

您可以通过 Google AI Studio 或 Google Cloud 的 Vertex AI 来使用 Gemini 模型：

### Google AI Studio

设置 `GOOGLE_API_KEY` 环境变量。您可以 [从 Google AI Studio 获取](https://ai.google.dev/gemini-api/docs/api-key)。

<CodeGroup>
  ```bash Mac theme={null}
  export GOOGLE_API_KEY=***
  ```

  ```bash Windows theme={null}
  setx GOOGLE_API_KEY ***
  ```
</CodeGroup>

### Vertex AI

要在 Google Cloud 中使用 Vertex AI：

1. 请参阅 [Vertex AI 文档](https://cloud.google.com/vertex-ai/docs/start/cloud-environment)来设置项目和开发环境。

2. 安装 `gcloud` CLI 并进行身份验证（更多详细信息，请参阅 [快速入门](https://cloud.google.com/vertex-ai/generative-ai/docs/start/quickstarts/quickstart-multimodal)）：

```bash theme={null}
gcloud auth application-default login
```

3. 启用 Vertex AI API 并设置项目 ID 环境变量（或者，您可以在 `Agent` 配置中设置 `project_id`）：

导出以下变量：

```bash theme={null}
export GOOGLE_GENAI_USE_VERTEXAI="true"
export GOOGLE_CLOUD_PROJECT="your-gcloud-project-id"
export GOOGLE_CLOUD_LOCATION="your-gcloud-location"
```

或者更新您的 Agent 配置：

```python theme={null}
agent = Agent(
    model=Gemini(
        id="gemini-1.5-flash",
        vertexai=True,
        project_id="your-gcloud-project-id",
        location="your-gcloud-location",
    ),
)
```

## 示例

将 `Gemini` 与您的 `Agent` 结合使用：

<CodeGroup>
  ```python agent.py theme={null}
  from agno.agent import Agent
  from agno.models.google import Gemini

  # 使用 Google AI Studio
  agent = Agent(
      model=Gemini(id="gemini-2.0-flash"),
      markdown=True,
  )

  # 或者使用 Vertex AI
  agent = Agent(
      model=Gemini(
          id="gemini-2.0-flash",
          vertexai=True,
          project_id="your-project-id",  # 如果设置了 GOOGLE_CLOUD_PROJECT，则为可选
          location="us-central1",  # 可选
      ),
      markdown=True,
  )

  # 在终端中打印响应
  agent.print_response("写一个两句话的恐怖故事。")
  ```
</CodeGroup>

<Note> 在 [这里](../examples/models/gemini) 查看更多示例。 </Note>

## grounding 和搜索

Gemini 模型通过可选参数支持 grounding 和搜索功能。这会自动将 grounding 或搜索工具发送到 Gemini。在此处 [查看详细信息](https://ai.google.dev/gemini-api/docs/grounding?lang=python)。

要启用这些功能，请在初始化 Gemini 模型时设置相应的参数：

要使用 grounding：

<CodeGroup>
  ```python theme={null}
  from agno.agent import Agent
  from agno.models.google import Gemini

  agent = Agent(
      model=Gemini(id="gemini-2.0-flash", grounding=True),
      show_tool_calls=True,
      markdown=True,
  )

  agent.print_response("有美国那边的新闻吗？")
  ```
</CodeGroup>

要使用搜索：

<CodeGroup>
  ```python theme={null}
  from agno.agent import Agent
  from agno.models.google import Gemini

  agent = Agent(
      model=Gemini(id="gemini-2.0-flash", search=True),
      show_tool_calls=True,
      markdown=True,
  )

  agent.print_response("法国有什么新鲜事？")
  ```
</CodeGroup>

在您的 Agent 配置中设置 `show_tool_calls=True` 以在输出中查看 grounding 或搜索结果。

## 参数

<Snippet file="model-google-params.mdx" />

`Gemini` 是 [Model](/reference/models/model) 类的子类，并且可以访问相同的参数。
