Gemini API Cookbook Examples 进阶示例实战指南:从多模态理解到自主 Agent 的全景导航

原创2026-09-30 19:05:25842 阅读
文章标签:示例工程人工智能大模型

Gemini API Cookbook Examples 进阶示例实战指南:从多模态理解到自主 Agent 的全景导航

本文是 Gemini API Cookbook 仓库中 examples/ 目录的完整实战指南,系统梳理了仓库内 35+ 个进阶示例的用途、核心技术栈与运行方式,并深入剖析其中最具代表性的实现细节(Batch 批处理、RAG 引用校验、混合检索路由、成本可观测性与自主视频生产等)。读完本文,你将掌握如何按功能标签快速定位示例、如何把多模态、结构化输出、函数调用、Grounding、Live API 等能力组合成真实可运行的应用,并理解每个示例在源码层面的实现逻辑。

目录定位:Examples 在 Cookbook 中的角色

整个 Gemini API Cookbook 仓库分为两大主线:quickstarts/(逐步教学的功能入门)与 examples/(进阶实战用例)。仓库根 README 明确指出:examples/ 中的示例演示的是"如何组合多个 Gemini API 特性或第三方工具来构建更复杂的应用"。

examples/README.md 的开篇也强调:这些是进阶示例,通常同时使用一种或多种 Gemini 能力,因此可能相当复杂。对于不熟悉相关特性的读者,官方建议先学习 Quickstarts 指南,特别是 Get started 入门教程,再回到这里做能力组合。

运行这些示例通常需要:

  1. 一个 Google 账号;
  2. 在 Google AI Studio 创建的 API Key(可参考 Authentication 完成配置);
  3. 大多数 notebook 可直接在 Google Colab 中打开运行,也可以下载后在本地 Jupyter 环境执行。

核心示例全景:能力组合的 35 个实战样板

下表完整罗列了 examples/ 目录中当前维护的核心示例,包含各自的用途描述与所涉及的功能标签(功能标签即表格中 Features 列,用于快速识别该示例依赖哪些 Gemini 能力):

Cookbook 示例 描述 功能标签
Sketch2Paint 使用 Gemini 原生图像生成能力,把随手画的草图转换成精美的艺术画作 Image Generation
Processing datasets with the Batch API 使用 Batch API 处理收集到的日志数据集 Batch API, Datasets
Audio chord extraction 借助 Gemini 的音频理解与结构化输出,从音频文件中提取和弦进行 Audio, JSON mode, File API
Browser as a tool 演示 3 种把网页浏览器作为工具与 Gemini API 配合使用的方式 Tools, Live API
Multi-spectral remote sensing 学习用 Gemini 的图像理解能力做多光谱分析与遥感 Multimodal
Illustrate a book 用 Gemini 为开源书籍创作插图 Gemini Image, structured output
Check citation faithfulness in RAG 用"零 token 逐字校验门 + 可选的举证责任裁判"确定性验证 RAG 引用是否忠实于原文 RAG, structured output, evaluation
Animated Story Generation 通过组合故事生成、图像与音频,制作动画视频 Imagen, Live API, structured output
Plotting and mapping Live 用 Live API 让 Gemini 实时绘制复杂图表 Live API, Code execution
Search grounding for research report 用 Grounding 提升研究报告的质量 Grounding
Market a Jet Backpack 从一张产品草图出发,生成一整套营销方案 Multimodal
3D Spatial understanding 使用 Gemini 的 3D 空间能力理解 3D 场景并回答问题 Multimodal, Spatial understanding
Video Analysis - Classification 用 Gemini 多模态能力对视频中的动物物种进行分类 Video, Multimodal
Video Analysis - Summarization 用 Gemini 生成视频内容摘要 Video, Multimodal
Video Analysis - Event Recognition 识别视频片段中发生的历史事件 Video, Multimodal
Gradio and live API 用 Gradio 部署你自己的 Live API 实例(Python 代码文件) Live API
Gemini with Google ADK and Model Guardrails 用 Google 的 Agent Development Kit(ADK)、Gemini 与云服务构建带全面安全护栏的生产级 Agentic AI 系统 Model Armor, GDK, Gemini API
Pramagent trust layer for Gemini agents 用 Pramagent 中间件为 Gemini Agent 循环增加确定性工具策略、人工介入(HITL)升级与哈希链审计追踪 Gemini API, Tools, Guardrails
Apollo 11 - long context example 在 400 页的阿波罗 11 号登月任务实录中转检索 File API
Anomaly Detection 用 Embeddings 检测数据集中的异常 Embeddings
Invoice and Form Data Extraction 用 Gemini API 从 PDF 中提取信息 File API, Structured Outputs
Opossum search 代码生成示例:让模型创建名为 "Opossum Search" 的 Web 应用,在查询词后追加 "opossum" 再调用 Google 搜索 Code generation
Virtual Try-on 虚拟试穿应用:用 Gemini 2.5 生成分割掩码识别衣物,再用 Imagen 3 生成与修补新衣服 Spatial Understanding
Talk to documents 用 Embeddings 在自定义数据库中检索对话 Embeddings
Entity extraction 用 Gemini API 加速任务处理,例如在文本中检索提取所需信息;实体提取只是一次简单查询,可要求模型以任意偏好形式返回结果 Embeddings
Google I/O 2025 Live coding session 复现 Google I/O 2025 现场编程直播使用的 notebook:实践 Gemini API SDK、GenMedia 模型、具备思考能力的模型与 Gemini API 工具 Gemini API and its models and features
Gemini MultimodalBot Text & Image Tutorial 学习用 Gemini 多模态能力同时处理文本与图像输入 Multimodal
EU AI Act Compliance with Agent Module 用 Gemini 函数调用 + Agent Module API 做欧盟 AI 法案合规检查 Function Calling, Tools
GitHub issue analyzer 用 Gemini API 对接 PyGitHub API,从这个仓库中提取有价值的洞察 Gemini API, Tools
Cost Estimation and Health Monitoring 用 Token 用量元数据跟踪 USD 成本并监控 API 健康状况 Observability, Usage metadata
Gemini as a co-scientist (quantum biology) Gemini 为鸟类"自由基对罗盘"设计量子电路,在模拟器与真实 IBM 硬件上运行,并诚实地评估这个问题到底需不需要量子计算机 Interactions API, System instructions, Thinking
Multimodal Semantic Search 使用 gemini-embedding-2 实现文本与图像间的多模态语义搜索与跨模态检索 Embeddings, Multimodal
Upload files to Colab 演示在 Google Colab 中为 Gemini API 工作流上传与处理文件 File API, Colab
Hybrid File Search + Google Search grounding 混合 RAG:演示确定性回退路由与原生多工具路由两种模式,把私有文档搜索与 Web Grounding 结合起来 File Search, Grounding, Tools
Autonomous Video Production with Omni and Agents 端到端视频生产:视频生成、静态与 Agentic 双模式质检、以质量门控驱动的扩展重试循环,以及托管 Agent 执行 Gemini Omni, Video Understanding, Managed Agents, Skills

重点示例深度解析

1. Datasets:用 Batch API 批量处理日志数据集

Datasets.ipynb 演示了如何把下载到的 JSONL 日志数据集交给 Batch API 批量处理。从 notebook 源码结构看,其核心流程如下:

  • 数据来自 Logging:使用 Batch API 前需要先开启日志记录并把日志收集成数据集,细节见官方 Logging and Datasets 文档。
  • 批次要求模型同质:Batch API 要求每个批次内部模型名称保持一致,而数据集可能由多个模型产生,因此 notebook 会先清空既有输出的模型字段,再按模型拆分对比两个批次。
  • 创建批量任务:通过 client.batches.create() 提交,同一个数据集可复用到多个批次,从而并排比较不同模型的表现。
  • 轮询完成状态:批次任务最长可能需要 24 小时完成,代码通过 client.batches.get(name=batch.name) 轮询 JOB_STATE_SUCCEEDED / JOB_STATE_FAILED / JOB_STATE_CANCELLED 等状态;成功后在 batch_job.dest.file_name 拿到结果文件。

2. Audio chord extraction:音频理解 × 结构化输出的组合

Audio_chord_extraction.ipynb 展示了三个递进场景:用简单 prompt 从 YouTube 音乐视频中提取和弦、用类型化 schema 的结构化输出获得可预测的和弦数据、上传自己的音频文件并提取和弦。

其 prompt 要求模型返回包含 progression(和弦进行字符串)和 chords(元素含 root_note、chord_type、chord_notation 的列表)的 JSON 对象。从源码看,示例输出的典型结构形如:

{
  "chords": [
    {"chord_type": "minor", "chord_notation": "Em"},
    {"chord_type": "major", "chord_notation": "C"},
    {"chord_type": "major", "chord_notation": "G"},
    {"chord_type": "dominant 7th", "chord_notation": "B7"}
  ]
}

音频文件通过 File API 上传,再用 JSON mode 拿到结构化结果——这是"音频 + JSON 结构化输出"两个能力叠加的典型范式。

3. Citation_Faithfulness_Check:确定性校验 RAG 引用忠实性

Citation_Faithfulness_Check.ipynb 解决的是 RAG 系统中"模型声称引用了某文档,但引用内容并不可靠"这一信任问题。其方案由两级组成:

  1. 零 Token 逐字校验门(verbatim gate):纯 Python 实现、不调用模型、不需要 API Key,做大小写/排版/空白不敏感(case/typography/whitespace-insensitive)的逐字匹配,判定引用是否真的出现在源文档中。示例会刻意植入"忠实引用 + 三种失败模式"来验证门的判别能力,例如 "quote": "context window of up to 1 million tokens" 被标记为忠实。
  2. 可选的举证责任裁判(burden-of-proof judge):仅对通过逐字门但语义模糊的引用调用,默认将举证责任置于引用方——外部知识无法证实时就判为不支持。

4. Cost_Estimation_And_Health_Monitoring:Token 用量可观测性

Cost_Estimation_And_Health_Monitoring.ipynb 为 Gemini API 应用提供了一个可复用的 GeminiObservability 类,实现三个目标:从 API 响应中提取 Token 用量元数据、基于模型定价实时计算 USD 成本、执行健康检查验证 API 可用性与配额。

从源码看,成本估算的核心是读取 usage_metadata.prompt_token_count 与 usage_metadata.candidates_token_count,各自除以 1,000,000 后乘以对应模型的每百万 Token 单价(不同模型自动适配不同定价);健康检查则是发起一次最小化的 API 调用,返回 True 表示 API 正常。这个类可以直接集成进任何 Gemini API 应用做成本与健康监控。

5. hybrid_file_search_and_google_search:混合 RAG 的两种路由模式

hybrid_file_search_and_google_search.ipynb 展示如何把两种 Grounding 工具组合成混合 RAG 系统:

  • 确定性回退路由(Deterministic fallback routing):先只启用 File Search 查询私有文档,检查返回内容;若没有命中的引用,再回退到 Google Search Grounding。路由决策完全由代码控制,可审计、推理成本低。
  • 原生多工具路由(Native multi-tool routing):在同一请求中同时传入两个工具,让 Gemini 自行决定用哪一个。

两种模式都依赖 response.candidates[0].grounding_metadata 中的引用信息:File Search 填充 chunk.retrieved_context(检索到的文本、文档标题等),Google Search 填充对应的引用字段。notebook 提供了一个辅助函数把两者归一化为统一的 dict。另外值得注意:File Search 会把上传文档关联到 API Key 所属的云项目,因此创建 store 与上传文档涉及长时运行任务,需要保存 store 名称供后续调用与清理使用。

6. Autonomous_video_production_with_omni_and_agents:自主视频生产流水线

Autonomous_video_production_with_omni_and_agents.ipynb 构建了一条自主、带质量控制的视频生产流程,组合了五项核心能力:

  • Gemini Omni Flash(gemini-omni-1.1-flash):单次调用生成 10 秒开场镜头,包含富有表现力的台词、自然的音频节奏与连续运镜。
  • 双模式质检:静态质检直接通过 previous_interaction_id 复用交互上下文,由 gemini-2.5-pro 以"严格的法医级 VFX 质量主管"身份审查(捕捉背景纹理漂移、反向行走步态、亚秒级拟音不同步等问题);Agentic 质检则走独立的交互审查路径。
  • 质量门控的扩展重试循环:通过向 client.interactions.create() 传入 previous_interaction_id=turn1.id 原生续接片段,模型检查上一段结尾后追加连续的 10 秒延续,扩展结果必须再次通过质检才会被采纳。
  • Agent Skills 与托管 Agent:把生产工具封装进 Agent Skill,用托管 Agent 环境编排出一条完整的 30 秒连续镜头序列。

7. avian_magnetoreception:Gemini 作为科研协作者

avian_magnetoreception.ipynb 让 Gemini 扮演量子生物学研究伙伴:由 Gemini 从哈密顿量与可观测量出发设计量子电路(三自旋 1/2 粒子模型,模拟自由基对机制,需要 google-genai>=2.9.0 支持 Interactions API),配套使用 qiskit 构建/模拟电路、qiskit-ibm-runtime 对接真实 IBM 硬件。notebook 预录了真实 IBM 硬件与经典基准结果(每个数 KB 的 JSON),因此整份 notebook 无需 IBM Quantum 账号即可从笔记本完整跑通。最有趣的是结尾:Gemini 被要求诚实地评估"这个问题真的需要量子计算机吗",而答案是不需要——把"为什么不需要"讲清楚恰恰是本例最有价值的部分。

旧版 SDK 示例:仍然值得借鉴的思路库

examples/README.md 还保留了一批基于旧版 SDK 的示例,它们应该仍可运行,且是获取创作灵感的好来源:

第三方生态集成:向量数据库与可观测性工具

examples/ 下还按目录组织了与第三方生态的集成示例,把 Gemini API 与向量数据库、检索框架、可观测性平台组合使用:

专题目录:按能力方向组织的进阶资源

examples/ 目录还包含若干按主题聚合的子目录,适合按学习路径系统性阅读:

如何高效使用这份示例清单

把 examples/ 目录当作一本"能力组合字典"来用会最高效:

  1. 按功能标签反查:如果你只关心 Embeddings,看 Talk to documents、Anomaly Detection、Multimodal Semantic Search 即可;如果做 Agent 相关开发,则优先看 Browser as a tool、EU AI Act Compliance with Agent Module、gemini_google_adk_model_guardrails.ipynb 与 Autonomous_video_production_with_omni_and_agents.ipynb。
  2. 先 Quickstart 后 Examples:表格中每个能力(File API、JSON mode、Grounding、Live API、Embeddings 等)在 quickstarts/ 中都有单点入门教程,先在 Quickstart 里弄清单一能力,再对照本文的示例组合。
  3. 区分新旧代码:表格上半部分是当前维护的核心示例,下半部分标注为 legacy SDK 的示例更偏思路参考,移植到新版 SDK 时注意 API 差异。
  4. 关注可复用的代码:GeminiObservability 类(成本/健康监控)、verbatim citation gate(引用校验)、混合路由辅助函数(grounding 归一化)等都是可以直接提取复用到自己项目中的工程组件。

总而言之,examples/ 目录是 Gemini API 从"会调用"走向"会组合"的最佳进阶素材库。沿着本文的功能标签与源码剖析,你可以按图索骥,把多模态输入、结构化输出、检索增强、函数调用与实时交互等能力组合成真正可落地的应用。

登录后查看全文
cookbook