multi-modal-researcher
multi-modal-researcher 是一款基于 LangGraph 和谷歌 Gemini 2.5 模型家族打造的智能研究助手,旨在将复杂的信息搜集转化为直观的报告与播客。只需输入一个研究主题,可选附带 YouTube 视频链接,它便能自动执行网络实时搜索、深度解析视频内容,并将多源信息整合成一份带引用的详细 Markdown 报告,同时生成由两位不同音色主持人对话的自然播客音频。
这款工具有效解决了传统研究中信息碎片化、视频内容难以快速提炼以及成果呈现形式单一的痛点,让用户能同时获得严谨的文字综述和生动的听觉解读。其核心技术亮点在于原生集成了 Gemini 2.5 的视频理解能力、实时谷歌搜索工具以及多说话人文本转语音(TTS)技术,实现了从“搜”到“听”的全流程自动化。
multi-modal-researcher 特别适合需要快速调研新课题的研究人员、希望将视频内容转化为知识摘要的内容创作者,以及想要体验多模态 AI 工作流的开发者使用。无论是为了获取行业洞察,还是制作科普素材,它都能提供高效且富有创意的支持,让知识获取变得更加立体和轻松。
使用场景
某科技媒体编辑需要快速制作一期关于"LLM 作为新型操作系统”的深度播客,并需结合最新网络观点与专家演讲视频进行内容创作。
没有 multi-modal-researcher 时
- 信息搜集割裂:编辑需手动在谷歌搜索文献,再单独打开 YouTube 观看长视频并做笔记,无法将图文信息与视频内容即时关联。
- 内容整合耗时:从分散的搜索结果和视频字幕中提炼核心观点、撰写逐字稿及报告,往往需要数小时的人工梳理与交叉验证。
- 播客制作门槛高:生成音频需额外寻找配音演员或配置复杂的 TTS 工具,难以模拟出自然的双人对话氛围,导致成品缺乏互动感。
- 引用溯源困难:人工整理来源容易遗漏关键出处,导致报告缺乏严谨的引注,增加事实核查的工作量。
使用 multi-modal-researcher 后
- 多模态一键融合:只需输入选题和 YouTube 链接,multi-modal-researcher 即可调用 Gemini 原生能力,同步完成全网搜索与视频深度理解。
- 自动化报告生成:系统自动综合网页资讯与视频洞察,瞬间输出包含执行摘要和详细引用的 Markdown 研究报告,大幅缩短调研周期。
- 拟真双人播客直达:内置多说话人文本转语音功能,直接生成由“专家”与“主持人”角色演绎的自然对话音频文件,无需后期配音。
- 全流程可追溯:生成的报告自动附带清晰的信息来源标注,确保内容可信度,让编辑能将精力集中于内容策划而非基础资料处理。
multi-modal-researcher 通过将搜索、视频分析与音频生成串联为单一工作流,把原本数天的多媒体内容生产周期压缩至分钟级。
运行环境要求
- 未说明
不需要本地 GPU(基于 Google Gemini API 的云端推理)
未说明

快速开始
多模态研究员
该项目是一个简单的研究与播客生成工作流,使用 LangGraph 结合 Google Gemini 2.5 模型系列的独特能力。它整合了 Gemini 2.5 模型系列的三项实用功能。您可以输入一个研究主题,还可选择性地提供一个 YouTube 视频 URL。系统将基于该主题进行网络搜索、分析视频内容、整合洞察,并为您生成一份附有引用的报告以及一段关于该主题的简短播客。此项目充分利用了 Gemini 的几项原生能力:
- 🎥 视频理解与原生 YouTube 工具:集成处理 YouTube 视频
- 🔍 Google 搜索工具:原生集成 Google 搜索工具,获取实时网络结果
- 🎙️ 多说话人文本转语音:生成具有不同说话人声音的自然对话

快速开始
前提条件
- Python 3.11+
- uv 包管理器
- Google Gemini API 密钥
设置步骤
- 克隆并进入项目目录:
git clone https://github.com/langchain-ai/multi-modal-researcher
cd mutli-modal-researcher
- 设置环境变量:
cp .env.example .env
编辑 .env 文件,并添加您的 Google Gemini API 密钥:
GEMINI_API_KEY=your_api_key_here
- 运行开发服务器:
# 安装 uv 包管理器
curl -LsSf https://astral.sh/uv/install.sh | sh
# 安装依赖并启动 LangGraph 服务器
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.11 langgraph dev --allow-blocking
- 访问应用程序:
LangGraph 将在您的浏览器中打开。
╦ ┌─┐┌┐┌┌─┐╔═╗┬─┐┌─┐┌─┐┬ ┬
║ ├─┤││││ ┬║ ╦├┬┘├─┤├─┘├─┤
╩═╝┴ ┴┘└┘└─┘╚═╝┴└─┴ ┴┴ ┴ ┴
- 🚀 API: http://127.0.0.1:2024
- 🎨 Studio UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
- 📚 API 文档: http://127.0.0.1:2024/docs
- 传入一个
topic,并可选地提供一个video_url。
示例:
topic: 给我介绍一下 LLM 就像一种新型操作系统这一观点的概述。video_url: https://youtu.be/LCEmiRjPEtQ?si=raeMN2Roy5pESNG2
结果:
架构
该系统实现了一个 LangGraph 工作流,包含以下节点:
- 搜索研究节点:使用 Gemini 的 Google 搜索集成执行网络搜索
- 分析视频节点:在提供 YouTube 视频时对其进行分析(条件性)
- 创建报告节点:将研究结果综合成一份全面的 Markdown 报告
- 创建播客节点:利用 TTS 音频生成一段双人播客讨论
工作流
START → search_research → [analyze_video?] → create_report → create_podcast → END
如果提供了 YouTube URL,工作流会条件性地包含视频分析;否则直接进入报告生成阶段。
输出
系统生成:
- 研究报告:包含执行摘要和参考文献的综合性 Markdown 报告
- 播客脚本:由 Sarah 博士(专家)和 Mike(采访者)之间的自然对话组成
- 音频文件:多说话人 TTS 音频文件(
research_podcast_*.wav)
配置
系统通过 Configuration 类支持运行时配置:
模型设置
search_model: 用于网络搜索的模型(默认:“gemini-2.5-flash”)synthesis_model: 用于报告合成的模型(默认:“gemini-2.5-flash”)video_model: 用于视频分析的模型(默认:“gemini-2.5-flash”)tts_model: 用于文本转语音的模型(默认:“gemini-2.5-flash-preview-tts”)
温度设置
search_temperature: 用于事实性搜索查询(默认:0.0)synthesis_temperature: 用于平衡性合成(默认:0.3)podcast_script_temperature: 用于创造性对话(默认:0.4)
TTS 设置
mike_voice: 采访者的语音(默认:“Kore”)sarah_voice: 专家的语音(默认:“Puck”)- 音频格式设置用于控制输出质量
项目结构
├── src/agent/
│ ├── state.py # 状态定义(输入/输出模式)
│ ├── configuration.py # 运行时配置类
│ ├── utils.py # 工具函数(TTS、报告生成)
│ └── graph.py # LangGraph 工作流定义
├── langgraph.json # LangGraph 部署配置
├── pyproject.toml # Python 包配置
└── .env # 环境变量
关键组件
状态管理
- ResearchStateInput: 输入模式(主题,可选视频 URL)
- ResearchStateOutput: 输出模式(报告,播客脚本,播客文件名)
- ResearchState: 包含中间结果的完整状态
工具函数
- display_gemini_response(): 处理带有来源元数据的 Gemini 响应
- create_podcast_discussion(): 生成剧本化对话并转换为 TTS 音频
- create_research_report(): 将多模态研究整合为报告
- wave_file(): 将音频数据保存为 WAV 格式
部署
该应用程序已配置用于以下部署方式:
- 本地开发:使用 LangGraph CLI 和内存存储
- LangGraph 平台:生产环境部署,使用持久化存储
- 自托管:使用 Docker 容器
依赖项
核心依赖项通过 pyproject.toml 管理:
langgraph>=0.2.6:工作流编排google-genai:Gemini API 客户端langchain>=0.3.19:LangChain 集成rich:增强终端输出python-dotenv:环境变量管理
许可证
MIT 许可证——详情请参阅 LICENSE 文件。
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
Deep-Live-Cam
Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。