2.x 系列模型的一些通用建议:
gemini-2.0-flash适用于大多数用例。gemini-2.0-flash-lite是最具成本效益的模型。gemini-2.5-pro-exp-03-25是最强大的多模态模型。
模型认证
您可以通过 Google AI Studio 或 Google Cloud 的 Vertex AI 来使用 Gemini 模型:Google AI Studio
设置GOOGLE_API_KEY 环境变量。您可以 从 Google AI Studio 获取。
Vertex AI
要在 Google Cloud 中使用 Vertex AI:- 请参阅 Vertex AI 文档来设置项目和开发环境。
-
安装
gcloudCLI 并进行身份验证(更多详细信息,请参阅 快速入门):
- 启用 Vertex AI API 并设置项目 ID 环境变量(或者,您可以在
Agent配置中设置project_id):
示例
将Gemini 与您的 Agent 结合使用:
在 这里 查看更多示例。
grounding 和搜索
Gemini 模型通过可选参数支持 grounding 和搜索功能。这会自动将 grounding 或搜索工具发送到 Gemini。在此处 查看详细信息。 要启用这些功能,请在初始化 Gemini 模型时设置相应的参数: 要使用 grounding: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 类的子类,并且可以访问相同的参数。