多模态RAG与金融Agent生产级架构设计全指南:Gen-AI-Experiments实战解析
【免费下载链接】gen-ai-experiments
Collection of Jupyter notebooks is designed to provide you with a comprehensive guide to various AI tools and technologies
Gen-AI-Experiments 是一个系统整理大模型、Agent 与 RAG 实战案例的开源实验库,其中多模态 RAG(检索增强生成)与金融多Agent应用是两类最具生产价值的方向。本文以该项目的 cookbooks/rag/ 与 apps/stock-market-agent/ 为例,讲解「文档→向量检索→答案生成」和「行情数据→多Agent协同→投资报告」的生产级架构设计思路,帮助新手快速建立可落地的 AI 工程认知 🚀
一、多模态RAG:为什么生产环境不能只做纯文本检索
传统 RAG 只处理文本,而真实业务文档(财报、研报、白皮书)大量包含图表和信息图,纯文本方案会直接丢失这些信息。Gen-AI-Experiments 在 cookbooks/rag/ 目录中给出了完整的进阶路线,核心资料包括:
| 资料 | 定位 | 关键组件 |
|---|---|---|
| MultiModal_RAG_.ipynb | 多模态 RAG 完整实现 | GPT-4o + pypdf + ChromaDB |
| MultiModal_RAG_without_library.ipynb | 不依赖 LangChain 的从零实现 | OpenAI SDK 原生调用 |
| vision_rag_with_cohere_embed_v4__gemini_flash.ipynb | 纯视觉 RAG,免 OCR | Cohere Embed v4 + Gemini Flash |
| rag__system_using_llama_3_405b.ipynb | 大模型文本 RAG | Llama 3 405B + 语义检索 |
架构总览可以在 cookbooks/rag/README.md 中找到,它把生产级 RAG 拆成了四个标准环节:文档处理 → 嵌入与索引 → 检索机制 → 生成管线,这也是企业级 RAG 系统的通用分层方式。
二、多模态RAG的四段式流水线拆解
1. 摄取层:PDF 解析 + 图像摘要
MultiModal_RAG_.ipynb 用美国林务局野火年度报告作为真实语料,流程为:
- 逐页解析 PDF:
pypdf抽取每页纯文本; - 图像智能摘要:页面中的图表交给 GPT-4o,生成不超过 60 词的文字描述,重点覆盖图表与数字;
- 文本分块:用
tiktoken按 token 切分(750 token/块、100 token 重叠),保证分块边界对齐词元而非字符。
这套「文本 + 图像摘要」双轨摄取策略,是让图表信息进入向量库的关键设计。
2. 嵌入与索引层:ChromaDB 向量库
所有文本块与图像摘要统一走text-embedding-3-small生成向量,写入 ChromaDB。生产环境如果数据量变大,可以无缝切换到托管方案——仓库中 apps/chroma-cloud-rag/app.py 就演示了 Chroma Cloud + OpenAI 嵌入的云端部署写法,只需替换 token 与租户配置。
3. 检索层:语义召回 + 来源追踪
检索函数将查询向量化后在向量库中做语义搜索,默认召回 4 个文档块;回答时同时打印来源页码与关联图片,实现答案可溯源。这是生产级 RAG 与「玩具 Demo」的最大区别:没有 citation tracking,业务方不敢信。
4. 生成层:纯视觉 RAG 进阶
vision_rag_with_cohere_embed_v4__gemini_flash.ipynb 更进一步:完全跳过 OCR,直接把页面截图嵌入向量库,由 Gemini Flash 这类多模态模型做跨模态问答。对信息图密集的场景(金融研报、仪表盘截图)尤其有效。
三、金融Agent:多Agent协同的生产级架构
1. 三个专职Agent + 一个Team Lead
apps/stock-market-agent/ 是一个基于 Agno 框架 + Gemini 2.5 Flash 的 Stock Market AI Agent 应用,其架构分层清晰(详见 README.md):
| Agent | 职责 | 数据源 |
|---|---|---|
| Market Analyst | 拉取 6 个月行情、计算涨跌幅、排名 | Yahoo Finance(yfinance) |
| Company Researcher | 公司画像、市值、最新新闻摘要 | Yahoo Finance 信息接口 |
| Stock Strategist | 综合趋势与基本面,给出投资建议 | 前两个 Agent 的输出 |
| Team Lead | 汇总生成最终投资报告 | 全量中间结果 |
仓库里的多Agent协作并非只有金融场景,例如 apps/openai-gemini-chess/ 就让 GLM 与 Gemini 两个 Agent 对弈,Move History 面板完整展示了每一步决策过程,很适合用来直观理解「Agent 之间如何交替决策」:
2. 代码结构:从数据到报告的主链路
核心逻辑集中在 apps/stock-market-agent/app.py:
- 市场分析师 Agent 定义(app.py#L30-L40):通过
instructions明确「获取数据、计算涨跌幅、排名」三步职责; - 战略师 Agent(app.py#L91-L100):消费上游分析结果,输出投资标的;
- 最终报告链路(app.py#L125-L137):
get_final_investment_report串联三个 Agent 的输出,由 Team Lead 生成排序后的买入清单; - 前端:Streamlit + Plotly 渲染 6 个月股价对比图,侧边栏输入 Gemini API Key 即可运行。
值得注意的工程细节:每个 Agent 的instructions都写清了输入、动作、输出格式,这比堆 prompt 更可控,是多 Agent 系统可维护性的基础。
四、生产级部署的关键要点
1. 用 AgentOS 管理多Agent与共享状态
apps/finance-agno-agentos/app.py#L8-L36 展示了更完整的金融 Agent 组织方式:多个 Agent(理财顾问、预算追踪)共享同一个SqliteDb数据库,再统一挂载到 Agno AgentOS,一行finance_os.serve()即可暴露为 FastAPI 服务。共享数据库是「Agent 之间记忆互通」的关键设计。
2. 常见坑位清单
- API Key 管理:统一走环境变量(
GOOGLE_API_KEY、OPENAI_API_KEY),不要硬编码进代码; - 数据异常处理:行情接口可能返回空数据,app.py#L13-L25 中对无效 ticker 做了跳过与异常捕获,避免整个报告链路崩溃;
- 依赖版本:Streamlit 应用需 Python 3.13+ 与 Streamlit 1.48+,先
pip install -r requirements.txt再启动; - RAG 分块参数:chunk_size 与 overlap 直接影响召回质量,建议按文档类型调参,而非照搬默认值。
五、新手学习路线建议
- 先跑通文本 RAG:rag__system_using_llama_3_405b.ipynb 掌握检索增强基本流程;
- 升级多模态:用 MultiModal_RAG_.ipynb 理解图表如何进入向量库;
- 动手做金融 Agent:克隆仓库后运行 apps/stock-market-agent/app.py,输入 3 个股票代码观察多 Agent 协同;
- 扩展进阶:参考 cookbooks/workshops/🚀_Build_a_Stock_Market_AI_Agent_in_Minutes.ipynb 补充 LangChain + Yahoo Finance 的工具调用写法。
总结
Gen-AI-Experiments 的价值在于把「生产级」拆成了可复制的组件:多模态 RAG 靠摄取→嵌入→检索→溯源生成四段流水线保证答案可信;金融 Agent 靠专职分工 + Team Lead 汇总 + 共享状态保证多 Agent 协同可控。沿着本文的路径走一遍,你就能拥有一套可迁移到自己业务的 AI 架构设计方法论。
【免费下载链接】gen-ai-experiments
Collection of Jupyter notebooks is designed to provide you with a comprehensive guide to various AI tools and technologies
相关推荐
Gen-AI-Experiments全景指南:130+个生产级AI应用与Agent实验库一文读懂
Gen AI Experiments全景指南:130+个生产级AI应用与Agent实验库一文读懂 Gen AI Experiments 是由 BuildFast
多Agent系统实战:基于Gen-AI-Experiments的CrewAI与LangGraph编排深度解析
多Agent系统实战:基于Gen AI Experiments的CrewAI与LangGraph编排深度解析 gen ai experiments 是一个收录了
如何从零构建RAG系统:Gen-AI-Experiments检索增强生成实战完全教程
如何从零构建RAG系统:Gen AI Experiments检索增强生成实战完全教程 Gen AI Experiments 是一个开源的生成式 AI 实验仓库,
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考