了解如何在 Agno 中使用 Gemini 模型。
通过 Google AI Studio 或 Google Cloud Vertex AI 使用 Google 的 Gemini 模型,这些平台提供了对大型语言模型和其他服务的访问。
我们建议进行实验以找到最适合您用例的模型。以下是 Gemini 2.x
系列模型的一些通用建议:
gemini-2.0-flash
适用于大多数用例。gemini-2.0-flash-lite
是最具成本效益的模型。gemini-2.5-pro-exp-03-25
是最强大的多模态模型。有关可用模型版本的信息,请参阅 Google AI Studio 文档和 Vertex AI 文档。
您可以通过 Google AI Studio 或 Google Cloud 的 Vertex AI 来使用 Gemini 模型:
设置 GOOGLE_API_KEY
环境变量。您可以 从 Google AI Studio 获取。
要在 Google Cloud 中使用 Vertex AI:
请参阅 Vertex AI 文档来设置项目和开发环境。
安装 gcloud
CLI 并进行身份验证(更多详细信息,请参阅 快速入门):
Agent
配置中设置 project_id
):导出以下变量:
或者更新您的 Agent 配置:
将 Gemini
与您的 Agent
结合使用:
Gemini 模型通过可选参数支持 grounding 和搜索功能。这会自动将 grounding 或搜索工具发送到 Gemini。在此处 查看详细信息。
要启用这些功能,请在初始化 Gemini 模型时设置相应的参数:
要使用 grounding:
要使用搜索:
在您的 Agent 配置中设置 show_tool_calls=True
以在输出中查看 grounding 或搜索结果。
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
id | str | "gemini-2.0-flash-exp" | 要使用的特定 Gemini 模型 ID。 |
name | str | "Gemini" | 此 Gemini 模型实例的名称。 |
provider | str | "Google" | 模型提供商。 |
function_declarations | Optional[List[FunctionDeclaration]] | None | 用于模型的函数声明列表。 |
generation_config | Optional[Any] | None | 文本生成的配置。 |
safety_settings | Optional[Any] | None | 模型的安全设置。 |
generative_model_kwargs | Optional[Dict[str, Any]] | None | 生成模型的其他关键字参数。 |
grounding | bool | False | 是否使用 grounding。 |
search | bool | False | 是否使用搜索。 |
grounding_dynamic_threshold | Optional[float] | None | grounding 的动态阈值。 |
api_key | Optional[str] | None | 用于认证的 API 密钥。 |
vertexai | bool | False | 是否使用 Vertex AI 而不是 Google AI Studio。 |
project_id | Optional[str] | None | Vertex AI 的 Google Cloud 项目 ID。 |
location | Optional[str] | None | Vertex AI 的 Google Cloud 区域。 |
client_params | Optional[Dict[str, Any]] | None | 客户端的其他参数。 |
client | Optional[GeminiClient] | None | 底层的生成模型客户端。 |
temperature | Optional[float] | None | 控制输出的随机性。较高的值(例如 0.8)使输出更随机,而较低的值(例如 0.2)使输出更集中和确定性。 |
top_p | Optional[float] | None | 核心采样参数。只考虑累积概率超过此值的 token。 |
top_k | Optional[int] | None | 只考虑文本生成的前 k 个 token。 |
max_output_tokens | Optional[int] | None | 响应中要生成的最大 token 数。 |
stop_sequences | Optional[list[str]] | None | 模型应停止生成后续 token 的序列列表。 |
logprobs | Optional[bool] | None | 是否返回输出 token 的对数概率。 |
presence_penalty | Optional[float] | None | 根据新 token 是否已出现在当前文本中对其进行惩罚。 |
frequency_penalty | Optional[float] | None | 根据新 token 在当前文本中的出现频率对其进行惩罚。 |
seed | Optional[int] | None | 用于确定性文本生成的随机种子。 |
request_params | Optional[Dict[str, Any]] | None | 请求的其他参数。 |
Gemini
是 Model 类的子类,并且可以访问相同的参数。