多模态RAG与金融Agent生产级架构设计全指南:Gen-AI-Experiments实战解析

发布时间:2026/10/27 9:58:05
多模态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

项目地址:https://gitcode.com/gh_mirrors/ge/gen-ai-experiments
点击查看免费下载

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,免 OCRCohere Embed v4 + Gemini Flash
rag__system_using_llama_3_405b.ipynb大模型文本 RAGLlama 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 直接影响召回质量,建议按文档类型调参,而非照搬默认值。

五、新手学习路线建议

  1. 先跑通文本 RAG:rag__system_using_llama_3_405b.ipynb 掌握检索增强基本流程;
  2. 升级多模态:用 MultiModal_RAG_.ipynb 理解图表如何进入向量库;
  3. 动手做金融 Agent:克隆仓库后运行 apps/stock-market-agent/app.py,输入 3 个股票代码观察多 Agent 协同;
  4. 扩展进阶:参考 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

项目地址:https://gitcode.com/gh_mirrors/ge/gen-ai-experiments
点击查看免费下载
上一篇:Apache Calcite 1.31.0 版本解读:多态表函数、SQL Hint 扩展与 Firebolt 方言
下一篇:解密.NET程序集:dnSpyEx如何实现无源码调试与逆向工程

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