推广顾问——基于LangGraph+MongoDB Atlas的多代理系统
人工智能驱动的推广包准备:定义你的目标角色,记录你的项目,生成影响分析,并发现类似的专业人员——所有这些都是与 LangGraph,坚持 MongoDB 阿特拉斯,并包裹在 格拉迪奥 UI。
______________________________________________________________________
🎯 这有什么作用
A. 实用的人工智能工作流程 这有助于你为职业发展做好准备:
- 🎯 目标角色生成器 → 定义你的晋升目标(例如。, *资深工程师*, *高级项目经理*, *AI副总裁*)
- 📁 项目策划人 → 从自由文本中提取带有指标的结构化项目记录
- 📊 冲击分析仪 → 生成具有优势、差距和建议的执行就绪报告
- 👥 导师查找器 → 在LinkedIn上发现类似的专业人士(通过Tavily搜索)
- ⬇️ 出口 → 在Markdown中下载完整的推广包
______________________________________________________________________
🎬 在行动中看到它
📺 观看完整的演示演练: AI驱动的推广顾问-完整演示(3分钟)
📸 More Screenshots
初始界面
完成工作流程
Top Panel
Middle Panel
生成的影响报告
Impact report with industry data
代理执行跟踪
______________________________________________________________________
🚀 快速开始
1.克隆存储库
git clone https://github.com/mikikob-mongodb/datacamp-mcp-multiagent-demo.git
cd datacamp-mcp-multiagent-demo
git checkout v1_webinar_version2.设置环境变量
cp env.template .env编辑 .env 并添加您的API密钥:
OPENAI_API_KEY=sk-your-key-here
MONGODB_URI=mongodb+srv://your-connection-string
TAVILY_API_KEY=tvly-your-key-here # Optional获取API密钥:
- OpenAI: https://platform.openai.com/api-keys(最低信用额5美元)
- MongoDB 阿特拉斯: https://www.mongodb.com/cloud/atlas/register(免费M0集群)
- 塔维利 *(可选)*: https://tavily.com(每月1000次免费搜索)
3.安装依赖项
make setup这将:
- 终止端口7860上的所有进程
- 创建虚拟环境
- 安装所有必需的软件包
- 设置开发工具(linters/formatter)
4.运行应用程序
source .venv/bin/activate # Windows: .venv\Scripts\activate
make run打开浏览器: http://localhost:7860
______________________________________________________________________
📋 运作原理
- 开始 → 聊天界面询问: *“你的目标是什么角色?”*
- 定义角色 → AI解析你的目标并设定期望(重点领域、责任、成功指标)
- 添加项目 → 粘贴项目描述;AI提取上下文、动作、结果和指标
- 生成报告 → 通过以下方式进行高管准备的影响分析:
- 有具体证据支持的优势 - 需要解决的差距 - 可采取行动的建议 - 行业薪资数据(如果启用了Tavily)
- 人指导 *(可选)* → 发现类似职位的专业人士的LinkedIn个人资料
- 下载 → 将完整的促销包导出为Markdown
______________________________________________________________________
🛠️ 开发命令
可用的生成命令
make setup # Create venv and install all dependencies
make run # Run the application (kills port first)
make lint # Check code for issues
make format # Auto-fix and format code
make clean # Remove cache files
make clean-all # Remove cache files AND venv
make kill-ports # Kill process on port 7860
make help # Show all available commands完整重置脚本
为了重新开始(在开发或调试过程中很有用):
./reset.sh什么 reset.sh 做:
- 检查您是否处于虚拟环境中并发出警告
- 停用venv(在脚本上下文中)
- 跑
make clean-all删除所有缓存和venv目录 - 跑
make setup创建新环境并安装依赖项 - 提供激活新环境的明确说明
运行后 reset.sh,激活新环境:
source .venv/bin/activate && make run注: 脚本无法自动激活终端中的venv(这是基本的shell限制)。您的终端提示可能仍然显示 (.venv) 重置后,旧环境已被删除,并创建了一个新的环境。只需运行上面的激活命令即可使用新环境。
______________________________________________________________________
📁 项目结构
promotion_tycoon/
├── main.py # Application entry point
├── config.py # Environment configuration
├── storage.py # MongoDB operations & checkpointer
├── models.py # Pydantic data models
├── prompts.py # System prompts
├── tracing.py # Execution logging
└── ui.py # Gradio interface
├── env.template # Environment variables template
├── Makefile # Build and run commands
├── reset.sh # Development reset script
└── README.md # This file______________________________________________________________________
🔧 配置
环境变量(.env)
# Required
OPENAI_API_KEY=sk-...
MONGODB_URI=mongodb+srv://...
# Optional
TAVILY_API_KEY=tvly-... # For industry research
DATABASE_NAME=promotion_advisor # Default database name
GRADIO_SERVER_PORT=7860 # Default portMongoDB Atlas设置
- 创建一个免费的M0集群 在https://www.mongodb.com/cloud/atlas
- 创建数据库用户 具有读/写权限
- 获取您的连接字符串 (看起来像
mongodb+srv://username:password@cluster.mongodb.net/) - 将您的IP列入白名单 在网络访问设置中
- 添加到
.env文件
回退行为: 如果MongoDB不可用,应用程序会自动回退到内存存储,并在日志中显示警告消息。
______________________________________________________________________
🎓 关键概念展示
该项目展示了构建生产就绪AI应用程序的几种先进模式:
- 多代理编排 → LangGraph管理专用代理之间的路由
- 中断/恢复模式 → 具有检查点/恢复功能的人在循环工作流程
- 结构化数据抽取 → Pydantic模型确保类型安全和验证
- 持久存储器 → MongoDB Atlas存储对话状态和检查点
- 产业研究一体化 → 基于Tavily的MCP(模型上下文协议)用于实时数据
- 交互式用户界面 → Gradio提供具有生产就绪界面的快速原型制作
- 故障弱化 → 即使外部服务失败,应用程序仍能继续运行
______________________________________________________________________
🐛 故障排除
端口已在使用中
如果您看到“找不到空端口”错误:
make kill-ports
make run或者在中指定其他端口 .env:
GRADIO_SERVER_PORT=7861MongoDB连接失败
症状: Authentication failed 或 Connection timeout
解决:
- 在中验证您的连接字符串
.env是正确的 - 检查数据库用户是否具有适当的读/写权限
- 确保您的IP地址在Atlas网络访问中被列入白名单
- 使用MongoDB Compass测试连接字符串
如果MongoDB不可用,该应用程序将自动回退到内存存储。
未安装依赖项
请确保您已安装Python 3.10+:
python3 --version如果您遇到依赖冲突:
./reset.sh # Full clean reinstallTavily搜索不起作用
症状: 报告中没有行业研究或薪酬数据
解决:
- 验证
TAVILY_API_KEY在中设置正确.env - 检查您是否未超过免费等级限制(每月1000次搜索)
- 监视UI中的执行跟踪面板,查看Tavily特定的错误
注: 该应用程序可以在没有Tavily的情况下运行,但不会在报告中包含行业研究。
虚拟环境问题
如果你看到 (.venv) 在提示符中,但命令失败:
deactivate
./reset.sh
source .venv/bin/activate
make run或者简单地打开一个新的终端窗口:
cd datacamp-mcp-multiagent-demo
source .venv/bin/activate
make run______________________________________________________________________
💡 灵感
这个项目的灵感来自Julia Evans的概念 Brag文档 -一种系统的方法来跟踪你的成就,以便进行绩效评估和晋升。
Julia发现的问题:
“有一种观点认为,如果你在工作中做得很好,人们会(或应该!)自动认可你的工作,并用晋升/加薪来奖励你。在实践中,这往往比这更复杂。”
我们的解决方案: 虽然Julia的吹嘘文档是一个手动过程, Promotion Advisor自动化了困难部分:
- ✅ 结构化提取 → 将自由形式的项目描述转化为有组织、有指标支持的记录
- ✅ 差距分析 → 将你的成就与目标角色要求进行比较
- ✅ 行业标杆 → 包括薪资数据和实际角色期望
- ✅ 导师发现 → 找到成功完成类似转换的人
- ✅ 执行就绪输出 → 生成经理们实际阅读的精美报告
我们正在用AI工具构建Julia的智慧,让你更容易保持你的专业叙事,并有效地为自己辩护。
阅读Julia的原始帖子: 让你的工作得到认可:写一份吹嘘文件
______________________________________________________________________
🎯 未来的增强功能
计划功能:
- 矢量和混合搜索 → MongoDB Atlas矢量搜索用于语义项目/导师匹配
- 文件上传 → 简历和职位描述解析
- 嵌入和重新排序 → Voyage AI集成,提高搜索质量
- PDF导出 → 专业推广包文件
- 团队协作 → 多用户评论和评论功能
- 高级导师筛选 → 按公司、地点、资历级别搜索
- 监测和可观察性 → LLM成本跟踪、延迟指标、质量仪表板
- 模型灵活性 → 支持其他LLM提供商和本地模型
______________________________________________________________________
📺 演示与教程
此项目是为 DataCamp多代理系统网络研讨会.
涵盖的关键主题:
- 用LangGraph构建多智能体系统
- MongoDB Atlas的持久内存
- 人工智能工作流程
- MCP集成用于实时数据丰富
- 生产部署模式
______________________________________________________________________
🤝 贡献
欢迎问题和拉取请求!对于重大更改,请先打开一个问题来讨论您想要更改的内容。
开发工作流程:
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 进行更改
- 运行过梁:
make format && make lint - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
______________________________________________________________________
📄 许可证
如果这个演示激发了人们的想法, 查看Gen AI展示 更多实践示例 代理模式, 存储器体系结构,以及 MongoDB支持的AI应用程序.\ 👉 [Gen AI展示]()
______________________________________________________________________
🌟 探索更多
🔧 MongoDB人工智能资源
有兴趣用MongoDB构建生产级AI应用程序吗?
👉 MongoDB GenAI展示 -生产就绪的人工智能应用模式和示例集合
👉 LangChain+MongoDB集成 -使用MongoDB Atlas和LangChain的官方文档
👉 MongoDB AI用例 -基于MongoDB构建的现实世界AI应用程序
📚 核心技术
LangGraph和多代理系统:
- LangGraph检查点MongoDB -LangGraph工作流的持久状态管理
- LangGraph监控模式 -基于路由器的多代理编排(用于本项目)
- LangGraph中断 -暂停/恢复工作流程以供人工审查(为我们的中断/恢复模式提供动力)
- 人在循环工作流程 -具有用户批准门的交互式人工智能系统
- 用LangGraph构建多智能体系统 -代理协调和监控教程
模型上下文协议(MCP):
- MCP文件 -MCP官方规范和指南
- LangChain MCP适配器 -整合外部工具和数据源(Tavily、GitHub等)
- **** -实施细节和示例
UI和部署:
- Gradio文件 -快速ML/AI UI原型
- 基于LangGraph的代理RAG -高级检索模式
📖 教程和灵感
MongoDB+MCP集成:
- 使用MongoDB MCP构建AI代理 -分步代理建设
- 带MCP的MongoDB聊天代理 -具有持久内存的LangGraph教程
搜索与研究:
- 使用Tavily搜索LinkedIn个人资料 -按角色查找专业人员(用于Mentor Finder代理)
职业发展:
- Brag文档 Julia Evans-该工具自动化的手动过程
🎓 了解更多
想更深入地了解多智能体系统吗?
- 从 LangGraph监控模式 了解路由
- 了解 中断 和 人在循环 此项目中使用的模式
- 探索 MongoDB Atlas矢量搜索 用于语义搜索
- 看看 GenAI展示 了解更多生产模式
有问题或想贡献?
- 打开一个
- 加入 MongoDB社区论坛
- 连接上 领英
