news 2026/9/13 21:24:11

Gemini 示例应用全景指南:generative-ai 仓库 sample-apps 目录的端到端云端实战参考

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Gemini 示例应用全景指南:generative-ai 仓库 sample-apps 目录的端到端云端实战参考

Gemini 示例应用全景指南:generative-ai 仓库 sample-apps 目录的端到端云端实战参考

【免费下载链接】generative-aiSample code and notebooks for Generative AI on Google Cloud, with Gemini Enterprise Agent Platform项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai

本指南以 gemini/sample-apps/README.md 为骨架,系统梳理该目录下全部 Gemini 示例应用:从金融领域的多模型数据库检索、可信 GenAI 特性落地,到幻觉评估、多智能体科研工具与零代码智能体部署,逐一给出应用定位、技术栈、部署要点与源码级证据。读完本文,你将能根据业务场景在 16+ 个参考实现中准确选型,并掌握统一的 Cloud Shell 环境初始化流程、Cloud Run 部署范式以及每类应用的核心源码入口。

目录定位:Sample Applications 在仓库中的作用

gemini/sample-apps/是 generative-ai 仓库中面向「完整可运行应用」的目录。与大量仅演示单点 API 能力的 Notebook(例如gemini/getting-started/下的模型介绍、gemini/function-calling/下的函数调用示例)不同,这里每个子目录都是一个端到端参考实现——包含前端、后端、部署配置乃至数据准备脚本,直接演示如何在 Gemini Enterprise Agent Platform 上把 Gemini API 组合进真实业务系统。

目录本身附带三个基础设施文件:

  • README.md:全部应用的一览索引(本指南的主体)。
  • SETUP.md:所有应用共用的自定进度环境搭建指南,涵盖 GCP 项目创建、Cloud Shell 初始化、API 启用与仓库克隆。
  • LICENSE:Apache License 2.0 协议文本,所有示例代码均可在此协议下自由使用、修改与分发(演示代码以 "AS IS" 提供,未做生产级加固,详见下文注意事项)。

需要特别说明的是:README 索引中的accelerating_product_innovation/fixmycar/llamadeploy-on-cloud-run/llamaindex-rag/四个条目在当前仓库快照中未包含对应目录(可能在其他分支或已独立托管),本指南将聚焦当前快照中实际存在、可验证的 15 个应用目录,并在文末给出缺失条目的说明。

环境准备:所有示例应用共用的初始化流程

在运行任意示例应用之前,先完成 SETUP.md 规定的四步准备工作。这是下面所有部署步骤的共同前提,请务必先执行。

第一步:创建或选择 Google Cloud 项目并启用计费

  1. 登录 Google Cloud Console,新建项目或复用已有项目(若没有 Gmail 或 Google Workspace 账号,需先注册)。
  2. 明确三个容易混淆的值:
    • Project name:项目的显示名称,仅用于展示,可随时修改,不参与 API 调用。
    • Project ID:全局唯一、创建后不可变更,后续所有命令行操作(PROJECT_ID)都引用它。
    • Project Number:部分 API 使用的数字标识。
  3. 在控制台启用计费(Billing)。本教程的示例应用运行成本通常很低;新用户可参与 $300 USD Free Trial 试用计划。教程结束后删除创建的资源或直接删除项目即可避免后续计费。

第二步:启动 Cloud Shell 并确认认证

Cloud Shell 是运行在 Google Cloud 上的命令行环境,自带开发工具、持久的 5GB 主目录,并已预置认证。从控制台右上角点击 Cloud Shell 图标即可进入。连接后验证认证状态:

gcloud auth list

期望输出(当前账号处于 active 状态):

Credentialed accounts: - <myaccount>@<mydomain>.com (active)

确认当前项目:

gcloud config list project

期望输出:

[core] project = <PROJECT_ID>

如果项目未设置,手动指定:

gcloud config set project <PROJECT_ID>

Cloud Shell 还会预置GOOGLE_CLOUD_PROJECT环境变量,可用echo $GOOGLE_CLOUD_PROJECT查看,后续应用的 Vertex AI 初始化会用到它。

第三步:启用所需的 Google Cloud API

在 Cloud Shell 中执行(一条命令同时启用构建、函数、运行、日志、存储与 AI Platform 六大 API):

gcloud services enable cloudbuild.googleapis.com cloudfunctions.googleapis.com run.googleapis.com logging.googleapis.com storage-component.googleapis.com aiplatform.googleapis.com

执行成功后应看到类似输出:

Operation "operations/acf.5c5ef4f6-f734-455d-b2f0-ee70b5a17322" finished successfully.

第四步:克隆仓库

将仓库克隆到 Cloud Shell(所有示例位于sample-apps目录下):

git clone https://gitcode.com/GitHub_Trending/ge/generative-ai.git

克隆后按需进入对应子目录,例如cd generative-ai/gemini/sample-apps/finance-advisor-spanner/

示例应用全景总览

下表汇总了当前仓库快照中实际存在的应用目录、核心定位与关键技术栈(信息来自各子目录 README):

应用目录定位关键技术栈
finance-advisor-spanner金融投顾演示:Spanner 多模型检索(全文/向量/图)Spanner、Vertex AI(text-embedding-005)、Cloud Run、Dataflow、Streamlit
genwealth虚构金融公司的可信 GenAI 特性落地AlloyDB AI、Vertex AI(gemini-2.0-flash-001、textembedding-gecko@003)、Agent Builder、Document AI、Cloud Run、Cloud Functions、Eventarc、Pub/Sub、LangChain、Angular 17
gemini-hallcheck置信度目标化、可弃权感知的幻觉评估器google-genai SDK、Gemini 2.5 Flash-Lite(评判器)、CSV / MMLU 数据源
gemini-mesop-cloudrunMesop UI 框架 + Gemini API on Cloud RunMesop、Vertex AI、Cloud Run
gemini-streamlit-cloudrunStreamlit 框架 + Gemini API on Cloud RunStreamlit、Vertex AI、Cloud Run
gemini-quart-cloudrunQuart 异步框架 + Gemini Live API 非阻塞对话Quart(ASGI)、Gemini Live API、WebSocket、Cloud Run
gemini-live-telephony-app实时双向语音电话 AI 助手Twilio、FastAPI、Gemini Live API、python-samplerate、Cloud Run
image-bash-jam纯 Bash 命令行测试 Gemini(图像/音频)Bash 脚本、gcloud、Gemini API、lolcat(可选)
photo-discovery拍照识物 + Agent 对话(Flutter 多端)Flutter、Vertex AI Search、Agent Engine(Reasoning Engine)
prism-science-explainer科学问题 → 交互式模拟器的多智能体科研工具FastAPI + Google ADK、Gemini 3.7 Flash、Google Search grounding
rosetta-agent-porter把 LangGraph/CrewAI/AutoGen 智能体移植为原生 ADK 智能体FastAPI + Google ADK、Gemini 3.7 Flash、agents-cli
quickbot零编码部署全栈 AI Agent 应用到自有 GCP 账号Angular 前端、FastAPI 后端、Cloud Run、Gemini/Imagen/Agent Builder
swot-agent自动化 SWOT 战略分析 Web 应用Gemini 2.0 Flash、Pydantic AI、FastAPI、HTMX、Tailwind CSS
photo-discovery 之外的 e2e-gen-ai-app-starter-pack端到端 GenAI 应用启动包(已迁移)见迁移说明(README 中仅剩指向新仓库的说明)

金融领域实战:多模型数据库与可信 GenAI

Finvest:用 Spanner 把关系、文本、向量、图四类检索统一到单一数据库

finance-advisor-spanner/README.md 描述了一个完整的金融投顾场景:投资经理需要从结构化数据(费率、基金收益)、复杂数据(资产持仓、行业板块)与非结构化数据(投资理念、客户目标)中筛选合适的基金。演示应用 Finvest 展示了 Spanner 如何把这四类形态的数据放进同一个多模型数据库。

场景推演(README 中的四条检索路径):

  1. 关系 + 全文检索:客户要求「北美和欧洲、投资衍生品」的基金,Spanner 执行关系查询加文本检索返回基金列表。
  2. 模糊匹配(子串全文检索):只记得经理姓名像是 "Liz Peters",Spanner 用 Full Text Search 的子串匹配定位到由 Elizabeth Peterson 管理的基金。
  3. 向量检索(语义匹配):勾选向量搜索后,输入 "socially responsible"(社会责任)能返回 ESG 基金——这是 KNN 向量相似度匹配的效果。
  4. 图检索(穿透式行业敞口计算):基金可再投资于其他基金(fund of funds),Spanner 通过资产知识图谱遍历基金及其持仓的嵌套关系,计算客户对某行业的实际敞口,例如筛选出科技板块敞口 ≥ 20% 的基金。

技术栈:Spanner、Vertex AI LLM(text-embedding-005同时承担嵌入与文本补全)、Cloud Run、Dataflow、Streamlit(前端,见 home.py 中的st.set_page_config宽屏布局与 FinVest Advisor 页面设置)。

部署步骤(核心命令完整保留):

  1. 在控制台创建 Spanner 实例并记下实例名
  2. 从公开 GCS Bucket(github-repo/generative-ai/sample-apps/finance-advisor-spanner/spanner-fts-mf-data-export/)导入数据,记下数据库名
  3. 执行目录下的 Schema-Operations.sql 附加 DDL。首先必须把嵌入模型的 endpoint 改为你自己的项目与实例所在区域:
    ALTER MODEL EmbeddingsModel SET OPTIONS ( endpoint = '//aiplatform.googleapis.com/projects/'YOUR PROJECT ID HERE'/locations/'YOUR SPANNER INSTANCE LOCATION HERE'/publishers/google/models/text-embedding-005' ) ;

    其余 DDL 语句无需修改即可继续执行。

  4. 编辑同目录下的.env文件,填入步骤 1、2 记录的名称:
    instance_id='YOUR INSTANCE ID' database_id='YOUR DATABASE ID'
  5. 构建并部署:
    gcloud builds submit --tag gcr.io/'YOUR PROJECT ID HERE'/finance-advisor-app gcloud run deploy finance-advisor-app --image gcr.io/'YOUR PROJECT ID HERE'/finance-advisor-app --platform managed --region 'YOUR SPANNER REGION' --allow-unauthenticated

源码级纵深:Schema-Operations.sql如何支撑上述四种检索

这份 DDL(Schema-Operations.sql)是理解 Spanner 多模型能力的关键证据:

  • 全文检索的基石——TOKENLIST 生成列:为fund_namecategoryinvestment_strategyinvestment_managersfund_benchmarkmorningstar_benchmarktop5_regionstop5_holdings等列创建TOKENIZE_FULLTEXT分词列(HIDDEN 隐藏列),供全文搜索使用。
  • 子串模糊匹配的两种形态TOKENIZE_SUBSTRING(investment_managers)提供普通子串分词;更精细的 NGRAM 变体使用ngram_size_min=>2, ngram_size_max=>3,并限定relative_search_types=>["word_prefix","word_suffix"]——这正是演示中输入 "Liz Peters" 能命中 "Elizabeth Peterson" 的实现原理。
  • 向量检索的底座:大量UPDATE EU_MutualFunds SET investment_strategy_Embedding_vector = ...语句把预生成的嵌入向量回填到表中。
  • 检索加速:对每个 TOKENLIST 列创建SEARCH INDEX(见同文件 L65-L80 的CREATE SEARCH INDEX category_Tokens_IDX ON EU_MutualFunds(category_Tokens)等语句)。

前端侧,pages 目录按功能拆分为四个 Streamlit 页面:1_Asset_Search.py(资产搜索)、2_Semantic_Search.py(语义搜索)、3_Graph_Visualization.py(图可视化)、4_Exposure_Check.py(行业敞口核查),与 README 中演示的四种检索路径一一对应;后端查询逻辑集中在database.pygraph_viz.py

清理资源:演示完成后删除项目即可彻底清理(注意该命令会永久销毁项目内所有资源,务必确认 PROJECT_ID 无误):

PROJECT_ID='YOUR PROJECT ID HERE' gcloud projects delete ${PROJECT_ID}

GenWealth:在存量应用中叠加三个可信 GenAI 特性

genwealth/README.md 演示了如何用「已有的数据 + 已有的技能」组合 AlloyDB AI、Vertex AI、Cloud Run 与 Cloud Functions,为虚构金融公司 GenWealth 的现有投资顾问软件新增三个 GenAI 特性:

  1. 投资搜索体验升级:面向理财顾问,基于 AlloyDB AI 的语义搜索。
  2. 客户分群:面向市场分析师,识别新产品/服务的潜在客户。
  3. GenAI 聊天机器人:面向理财顾问的 RAG 助手,以应用数据为 grounding 提升生产力。

技术栈(README 明确列出):AlloyDB for PostgreSQL 14+;Vertex AI LLM(gemini-2.0-flash-001textembedding-gecko@003);Vertex AI Agent Builder;Document AI(OCR 处理器);Cloud Run(第二代);Cloud Functions(Python 3.11+);Cloud Storage;Eventarc;Pub/Sub;LangChain 0.1.12+;Node 20+;Angular 17+。

部署入口:项目根目录提供install.shenv.sh(环境变量配置)、deployment/(9 个部署脚本)、function-scripts/(4 个 Cloud Functions 脚本)、api/(TypeScript 后端)、ui/(Angular 前端)、database-files/(SQL 建库脚本)与alternate-configs/(替代配置)。部署同样从创建新项目开始,其余步骤参见其 README 与 SETUP.md。

可靠性工程:面向幻觉的可弃权评估器 gemini-hallcheck

gemini-hallcheck/README.md 是一个置信度目标化(confidence-targeted)、可弃权感知(abstention-aware)的 Gemini 幻觉评估器,基于google-genaiSDK 实现。它把 Kalai 等人论文中的思想工程化落地:「只有当你置信度 > t 时才回答,否则输出 IDK」(论文编号 arXiv:2509.04664,详见其 README 的 Citation 一节)。

核心打分机制:

  • 以弃权感知损失函数给每个条目打分:回答且正确 = +1;回答但错误 = −t/(1−t);弃权(IDK)= 0
  • 输出风险–覆盖率曲线(risk–coverage curve):x 轴为覆盖率(模型实际作答、没说 IDK 的条目占比),y 轴为条件准确率(作答时答对的频率),曲线上每个点都标注对应的 t 值。

判读规则:t 升高 ⇒ 覆盖率下降、条件准确率上升。若「t 对应的条件准确率远低于 t」,说明模型过度自信或未遵守弃权指令,此时应提高 t、加固提示词、引入检索或转交机制、或重新校准。

安装与认证:

python -m venv .venv && source .venv/bin/activate pip install -e .

Gemini API(开发者 API)方式:

export GOOGLE_API_KEY=YOUR_KEY # 或 GEMINI_API_KEY

Vertex AI 方式(两者二选一,勿同时设置 API Key):

export GOOGLE_GENAI_USE_VERTEXAI=true export GOOGLE_CLOUD_PROJECT=your-gcp-project export GOOGLE_CLOUD_LOCATION=us-central1 # 或 europe-west1 等

快速开始(CSV 模式):

gemhall run --data examples/toy.csv --thresholds 0.5 0.75 0.9 --model gemini-2.5-flash-lite --progress --out outputs

直接跑 MMLU(Hugging Face 数据集)并混入 IDK-only 样本:

gemhall mmlu --thresholds 0.5 0.75 0.9 --model gemini-2.5-flash-lite --split test --subjects all --limit 200 --judge llm --async --concurrency 16 --progress --out outputs/mmlu --idk-frac 0.3

其中--idk-frac 0.3会把 30% 的抽样条目转换成「不可回答」的 IDK-only 样本——唯一正确行为就是输出 IDK,从而真正检验模型的弃权能力

输出产物:results.csv(每个 条目×t 一行的预测、弃权标记、正确性、得分)、metrics.json(覆盖率、条件准确率、回答中的幻觉率、期望得分均值)、behavior.json(简单行为检查,如覆盖率随 t 单调性)、rc_curve.png(带 "t=…" 标注的风险–覆盖率曲线)、report.md(汇总报告并内嵌图表)。

CLI 参考(完整保留):

共享参数(runmmlu均适用):

--thresholds FLOAT... 置信度阈值(如 0.5 0.75 0.9)[必填] --model TEXT Gemini 模型 ID(默认 gemini-2.5-flash) --temperature FLOAT 采样温度(默认 0.0) --thinking-budget INT 可选的思考预算(默认 0) --seed INT 抽样用 RNG 种子(默认 1234) --judge {exact,llm} 有效性评判器(exact 或 llm;默认 exact) --async 异步客户端并发请求 --concurrency INT 异步模式最大并发数(默认 8) --progress 显示进度条 --out PATH 输出目录(默认 outputs) --rpm-limit INT 客户端每分钟请求数上限(可选) --max-retries INT 429 退避重试次数(默认 6)

run(CSV)专有:--data PATH(CSV 需含id, question, gold, unknown_ok列)。

mmlu专有:

--split TEXT 数据集划分(test、dev 等)[默认 test] --subjects STR... 科目名或 'all' [默认 all] --limit INT 按科目过滤后随机抽样 N 条 --idk-frac FLOAT 转为 IDK-only 条目的比例 [0..1](默认 0.0)

评判器与限流细节:exact评判器对选择题做字母(A/B/C/D)严格匹配,对自由形式做数值/文本等价匹配;llm评判器用 Gemini 2.5 Flash-Lite 做 "YES/NO" 评分,且unknown_ok=1时只有 IDK 才算正确(不发起 LLM 调用)。不设--rpm-limit时仍会遵守服务端RetryInfo做带抖动的指数退避重试;高并发时建议--async --concurrency 12 --rpm-limit 180 --max-retries 8这类稳定组合。

业务映射(README 建议的 t 值档位):t≈0.5 用于草稿与分流(高覆盖率、人在回路);t≈0.75 用于辅助性回答(支持建议、带引用的 FAQ);t≈0.9 用于自助回复(非监管流程的公开答复);t≈0.95 用于高风险场景(受监管/品牌关键,否则转人工)。

UI 框架三件套:Mesop、Streamlit 与 Quart on Cloud Run

Gemini with Mesop on Cloud Run

gemini-mesop-cloudrun/README.md 演示 Mesop UI 框架(Google 出品的 Python 原生 Web UI 框架)运行在 Cloud Run 上,通过 Vertex AI 调用 Gemini。

本地运行(Cloud Shell):

python3 -m venv gemini-mesop . gemini-mesop/bin/activate pip install -r requirements.txt export GOOGLE_CLOUD_PROJECT=$(gcloud config get project) # 当前项目 ID export GOOGLE_CLOUD_REGION='us-central1' # 改成区域时请确认受支持 mesop --port 8080 main.py

启动后用 Cloud Shell 的 Web 预览打开返回的 URL 即可交互。

构建并部署到 Cloud Run:

export SERVICE_NAME='mesop-gemini' gcloud run deploy $SERVICE_NAME \ --source . \ --port=8080 --allow-unauthenticated \ --project=$GOOGLE_CLOUD_PROJECT --region=$GOOGLE_CLOUD_REGION \ --set-env-vars=GOOGLE_CLOUD_PROJECT=$GOOGLE_CLOUD_PROJECT \ --set-env-vars=GOOGLE_CLOUD_REGION=$GOOGLE_CLOUD_REGION

要点:GOOGLE_CLOUD_PROJECTGOOGLE_CLOUD_REGION两个环境变量是 Vertex AI 初始化所必需,本地与部署时都要注入。

Gemini with Streamlit on Cloud Run

gemini-streamlit-cloudrun/README.md 是同样模式下的 Streamlit 版本(数据科学团队最熟悉的 Python UI 框架):

python3 -m venv gemini-streamlit source gemini-streamlit/bin/activate pip install -r requirements.txt export GOOGLE_CLOUD_PROJECT='<Your Google Cloud Project ID>'

随后按 README 选择标准 Vertex AI 或旧版aiplatformSDK 的对应配置,本地streamlit run验证后再部署到 Cloud Run(部署命令与 Mesop 版本同构,见其 README)。

Gemini with Quart on Cloud Run:非阻塞对话与 Live API

gemini-quart-cloudrun/README.md 是三者中最具架构深度的一个:它用Quart(基于 ASGI 标准的异步 Python Web 框架)承载Gemini Live API的双向实时语音/文本流。

为什么选 Quart:

  • 异步架构:基于asyncio的事件循环高效处理并发 I/O,不会在等待 Gemini 响应时阻塞进程。
  • 原生 WebSocket 支持:为实时 AI 应用所需的持久双向通道提供一等公民支持。
  • Flask 风格 API:API 设计与广泛采用的 Flask 一致,学习曲线低。
  • 为多模态流式数据优化:擅长高效处理生成式 AI 模型的大体积流式输出。

Flask(阻塞)vs Quart(非阻塞):README 明确对比了两者的行为差异——Flask 一次处理一个请求,等待 Gemini 时整个请求被阻塞,客户端必须等前一个响应才能发下一条消息,交互缓慢;Quart 则在全双工 WebSocket 上非阻塞收发,用户可连续发送文本/语音消息,且支持对正在生成的回复进行打断(interruption),延迟更低、服务器资源利用率更高、并发与扩展性更好。

上图是 README 中用来对照说明的 Flask 处理流程示意(该图片位于仓库根目录 seq_flask.png):客户端发出 HTTP Request,WSGI Server 通过environ将请求交给 FlaskApp,依次执行路由匹配与视图函数后返回 HTTP Response——整个过程是同步阻塞的,这正是与 Quart 异步模型形成对比的基线。

语音电话:AI Care Assistant(Twilio + Gemini Live API)

gemini-live-telephony-app/README.md 提供了一个实时双向语音到 AI 应用的完整架构蓝图与实现:Twilio负责电话接入、FastAPI后端做实时处理、Google Gemini Live API提供对话能力,整体部署在 Cloud Run 上。

关键设计决策(README 明确记录):

  • 使用python-samplerate做高质量流式音频重采样,解决电话音频编码与 Live API 输入之间的格式转换。
  • Cloud Run 部署通过min-instances=1缓解冷启动,并利用会话亲和(session affinity)保存内存中的 DSP 状态。

环境准备要点:创建项目并启用 Vertex AI API;gcloud auth logingcloud auth application-default login完成账号与应用双重认证;基于.env.example创建.env文件配置环境变量。完整的系统架构说明(组件拆解、数据流、技术论证、分步实现指南)在其 design_doc.md 中,工具代码位于utils/目录。

命令行与脚本:用 Bash 直接测 Gemini(image-bash-jam)

image-bash-jam/README.md 提供一套纯 Bash 脚本,让你在终端里直接调用 Gemini,覆盖图像与音频示例,非常适合快速验证 API 行为或做演示。

目录内容一览:01-setup.sh(认证与初始化)、_common.sh(公共函数,含_lolcat彩色输出检测)、annotate-all.shgemini-explain-image.sh(解释图像)、gemini-explain-image-italian.shgemini-generic.shgemini-generic-two-pics.sh(两图对比)、gemini-why-is-the-sky-blue.shtts.sh(语音合成),以及Makefile统一封装。

快速上手:

cd generative-ai/gemini/sample-apps/image-bash-jam/ # 可选:安装 lolcat 获得彩色输出;不装也会自动回退到默认颜色 gem install lolcat # 认证(Cloud Shell 环境可跳过,一键授权) gcloud auth login # 用本地密钥方式配置项目 cp .envrc.dist .envrc vim .envrc # 修改 PROJECT_ID 与 ACCOUNT ./01-setup.sh # 完成认证并执行 `make images` 下载本地资源

多智能体前沿:Prism 与 Rosetta

这两个应用代表了当前仓库中最先进的多智能体参考实现,均由单一模型驱动全部流水线阶段。

Prism:问一个科学问题,得到一台交互式模拟器

prism-science-explainer/README.md 描述的应用接受一个朴素科学问题(如 "彩虹是怎么形成的?"),先在实时网络上研究答案,然后现场编写一个可拖拽控件的交互式模拟器来解释它——没有模板库、没有预制答案,全程约 45 秒。整条流水线跑在同一个模型 Gemini 3.7 Flash 上(该模型链接为仓库 README 原文标注,当前实现以仓库内app/config.py的配置为准)。

五阶段流水线:

  1. Gatekeeper(守门人):检查问题是否属于可教学的科学主题,并设定受众水平。
  2. Planner(规划器):把问题拆解为五个研究角度。
  3. Research swarm(研究蜂群):基于 ADKParallelAgent并行启动五个搜索智能体,分别研究机制、关键数字、常见误解、边界与一个可计算示例,全部以 Google Search 为 grounding。
  4. Build instrument(构建模拟器):写出PRISM_SPEC规格与PRISM_SIM模拟器。
  5. Verify(验证):静态检查模拟器确实会动画、控件能驱动它,失败则通过修复循环回到构建阶段。

源码级纵深:不同阶段改变的不是模型而是思考级别(thinking level)——gatekeeper、planner 与五个并行搜索者运行在LOW以保持速度,模拟器构建者使用MEDIUM(见 app/config.py 中的THINKMODES)。最后三步是最有趣的部分:让模型产出一个真正能跑的模拟器(t=30s 时仍在运动、拖拽滑块会改变正在播放的动画)本质上是个「提示词 + 验证」问题——app/fill_prompt.txt 承载了硬性的运动契约(hard motion contract),而 app/render.py 会静态拒绝step()为空实现的仪器——这正是经典失败模式:画面很美,但点击 Play 毫无反应。

前置条件:Python 3.11–3.13、uv(依赖与虚拟环境管理),以及两种后端之一(Gemini API 或 Vertex AI,按其 README 配置)。

Rosetta:把任何智能体移植成原生 ADK 智能体

rosetta-agent-porter/README.md 描述一个「移植智能体的智能体」:把用LangGraph、CrewAI 或 AutoGen构建的智能体仓库指给它,它读代码、用Google ADK重建为原生智能体、自我修复构建直到通过(green)、校验移植后的行为与原版一致,然后交付一个可对话的在线智能体——全程约一分钟。同样全程使用单一模型 Gemini 3.7 Flash。

六阶段流水线:intake(代码摄入)→ 基于 ADKParallelAgent的六智能体分析蜂群(分别覆盖 graph、prompts、tools、state、models、inputs 六个维度)→ port plan(移植方案)→ codegen(代码生成)→ verify(带修复循环的构建验证)→ fidelity eval(保真度评估),最终以原生 ADK 智能体形式运行在adk api_server上。

源码级纵深:与 Prism 相同的设计哲学——高吞吐的仓库读取运行在LOW思考预算上,移植规划器与代码生成器运行在MEDIUM(见 app/config.py 中的ROLE_THINKING)。前置条件为 Python 3.11–3.13、uvgit(Rosetta 需要克隆目标仓库);其余依赖(包括负责脚手架与 lint 生成 ADK 项目的agents-cli)由make setup安装。

零代码智能体部署:Quickbot

quickbot/README.md 定位为「开箱即用」解决方案:用户无需任何编码经验,即可把成熟的 AI Agent 以全栈云应用形式部署到自己名下的 GCP 账号中,且部署完成后代码归用户所有、可自由定制。

核心特性(README 所列):预置模板快速创建定制 Agent;官方 README 声称可在 10 分钟内完成部署(该数字为项目方标称,建议以实际验证为准);完全开源可定制(Angular 前端 + Python FastAPI 后端);每个模板可独立部署到 Cloud Run;模板架构标准化(前端 Angular、后端 FastAPI);复用默认 Google Cloud 凭证;按模板复杂度自动开通所需云资源;集成最新 AI 能力(Gemini、Imagen、Vertex AI Search 等);模板生态多样化(自有模板 + 借鉴 Agent Garden、A2A 等)。

标准架构:frontend/(Angular 用户界面)与backend/(FastAPI 智能体逻辑,与 Google Cloud 服务交互)分离,便于独立开发与扩展。当前仓库快照中共有 7 个可直接选用的模板,覆盖多剧本/单剧本对话应用、基于 Agent Builder 的文档/网站搜索、基于 Imagen 3 的图片背景替换、LinkedIn 头像生成、文生图等场景(详见其 README 的 Available Templates 一节)。

自动化 SWOT 分析:swot-agent

swot-agent/README.md 用 Gemini 2.0 Flash 与 Pydantic AI 智能体框架实现自动化 SWOT 分析(优势、劣势、机会、威胁),前端为 FastAPI + HTMX + Tailwind CSS(该模型链接为仓库 README 原文标注)。

智能体的三个工具:

  • Content Extraction:根据 URL 抽取网页内容。
  • Community Insights:调用 Reddit API 获取相关 subreddit 的社区洞察。
  • Competitive Analysis:调用 Gemini API 生成竞争分析。

前置条件:Python 3.10+、Google Cloud API 凭证、可选 Reddit API 凭证(用于社区内容抽取)。

安装:

pip install -r requirements.txt export GOOGLE_CLOUD_PROJECT=your_project_id export GOOGLE_APPLICATION_CREDENTIALS=path_to_service_account.json

核心实现集中在 agent.py(Pydantic AI 智能体与工具定义)与 main.py(FastAPI 入口),测试位于tests/,另有 Dockerfile 与templates/中的 HTML 模板。

拍照识物 + Agent 对话:photo-discovery

photo-discovery/README.md 把Vertex AI Agent与多平台Flutter应用集成:Flutter 作为客户端框架、Vertex AI Search 作为向量数据库、Agent Engine(Reasoning Engine)负责构建与部署智能体。用户拍照或上传地标照片后,应用识别主体名称并给出简介;点 "tell me more" 可与 Agent 对话追问历史;还能识别 Google Merchandise Store 的商品并提供名称、描述、价格与购买链接。

Vertex AI Search 数据准备要点:在 Agent Builder 中创建数据存储,数据源选 Cloud Storage 的结构化 JSONL(文件gcp-samples-ic0-ag/src/google_merch_shop_items.json),区域选择us,命名gms;创建后确认文档数为 204 条并记录 Data store ID(即 search engine ID);随后创建名为gms_test的 Search 应用(关闭 Enterprise edition 与 Advanced LLM features)。Flutter 应用代码位于app/目录(多端工程),云端逻辑见ag-web/

已迁移项目:e2e-gen-ai-app-starter-pack

e2e-gen-ai-app-starter-pack/README.md 仅保留一条迁移声明:该项目已整体迁移至 GoogleCloudPlatform 下的agent-starter-pack新仓库(README 中给出指向新仓库的外部链接,本文按规范不转载)。若你关注「端到端 GenAI 应用启动包」这一形态,可直接在其 README 中查看迁移目标,当前快照内不再包含其代码。

README 索引中当前快照缺失的条目

README.md 中还列出了以下四个应用,但在本仓库快照中找不到对应目录(可能位于其他分支、已迁移或独立托管),本文不杜撰其内容:

  • Accelerating Product Innovationaccelerating_product_innovation/):README 描述其为面向产品品类/品牌方、用生成式 AI 加速产品创新的解决方案。
  • FixMyCarfixmycar/):README 描述其为基于车主手册做故障排查的 RAG 示例应用。
  • LlamaDeploy on Cloud Runllamadeploy-on-cloud-run/):README 描述其为用llama-deploy库部署 LlamaIndex Workflow 到 Cloud Run 的示例。
  • LlamaIndex RAGllamaindex-rag/):README 描述其为基于 LlamaIndex 与 Gemini Enterprise Agent Platform 的进阶 RAG 原型系统。

如需使用上述四个应用,建议在仓库更新后重新拉取,或在官方 generative-ai 仓库中按 README 描述核对。

选型参考:如何根据目标挑选示例应用

你的目标推荐应用学习要点
学习多模型数据库(全文+向量+图)统一检索finance-advisor-spannerSchema-Operations.sql的 TOKENLIST/SEARCH INDEX/嵌入回填
在存量系统上叠加可信 GenAI 特性genwealthAlloyDB AI 语义搜索、RAG 聊天机器人、事件驱动架构
评估并缓解模型幻觉gemini-hallcheck弃权感知损失、风险–覆盖率曲线、IDK 数据增强
快速搭一个 Python UI 的 Gemini 应用gemini-mesop-cloudrun / gemini-streamlit-cloudrunCloud Run 环境变量注入、本地→云端一致部署
构建实时双向语音/文本对话gemini-quart-cloudrun / gemini-live-telephony-appQuart 非阻塞模型、WebSocket、Live API、电话集成
终端快速验证 Gemini 多模态能力image-bash-jamBash 脚本化调用、图像/音频示例
学习多智能体流水线与并行蜂群prism-science-explainer / rosetta-agent-porterADK ParallelAgent、思考预算分层、验证/修复循环
零代码部署全栈 AI AgentquickbotAngular + FastAPI 模板架构、Cloud Run 一键部署
结构化智能体业务分析swot-agentPydantic AI 工具调用、FastAPI + HTMX 前端
多端移动应用 + Agent 集成photo-discoveryFlutter 客户端、Vertex AI Search 数据准备、Agent Engine

注意事项与资源清理

  • 演示代码非生产就绪:finance-advisor-spanner 的 README 明确提示,演示代码「过度宽松、未经安全与可靠性加固」,以 "AS IS" 提供,不得在未做自有测试与安全加固的情况下用于生产。其他应用同理,均以教学演示为目标。
  • 认证方式二选一:gemini-hallcheck 等支持双后端的应用,使用 Gemini API Key 与 Vertex AI 环境变量(GOOGLE_GENAI_USE_VERTEXAI=true)不可同时设置,否则行为未定义。
  • 成本控制:教程类应用运行成本通常很低,但涉及 Spanner 实例、Cloud Run 常驻实例(如min-instances=1)时请留意持续计费;完成后删除资源或删除整个演示项目(gcloud projects delete <PROJECT_ID>,注意该命令不可逆)。
  • 环境变量前置:多数 Cloud Run 应用依赖GOOGLE_CLOUD_PROJECTGOOGLE_CLOUD_REGION(或GOOGLE_CLOUD_LOCATION),本地与云端部署前务必按各自 README 注入。

至此,你已经掌握了 generative-ai 仓库gemini/sample-apps目录的全景:从统一的环境初始化(SETUP.md),到金融、UI、语音、命令行、多智能体、零代码与移动端等各类参考实现的选择路径、部署命令与核心源码入口。下一步,按上文选型表选定一个应用,在 Cloud Shell 中完成环境搭建并跑通部署,即可把其中的模式迁移到你的真实业务中。

【免费下载链接】generative-aiSample code and notebooks for Generative AI on Google Cloud, with Gemini Enterprise Agent Platform项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 21:22:25

企业IT服务创新:模块化设计与生产力转化实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/13 21:22:20

高并发秒杀库存超卖?AI实时对账与自动补偿方案实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/13 21:20:29

用MATLAB实现PQ分解法潮流计算:从IEEE 14节点到N-1分析

简介&#xff1a;IEEE标准14节点PQ分解法MATLAB程序&#xff08;.m&#xff09;是一份面向电力系统专业学生、研究人员与工程初学者的仿真算法源码&#xff0c;用于在14节点标准算例上进行快速潮流计算与稳态分析。程序基于PQ分解思想&#xff0c;将潮流方程组拆分为P-θ与Q-V两…

作者头像 李华