MongoDB 电影推荐 AI 智能代理
MongoDB Agent
基于 OpenAI 和 MongoDB 的智能电影推荐系统,支持自然语言查询电影数据库,提供个性化推荐并管理收藏列表
工作流概述
这是一个基于 OpenAI 和 MongoDB 构建的 AI 智能代理工作流,用于电影推荐和管理。该工作流能够接收聊天消息,通过 MongoDB 聚合框架查询电影数据,并支持将用户喜爱的电影存储回数据库。
工作流名称
MongoDB Agent(MongoDB 智能代理)
核心功能
- 智能对话交互:通过聊天界面接收用户的电影查询请求
- MongoDB 数据查询:使用聚合管道从 MongoDB 电影数据库中检索相关信息
- 电影推荐:基于用户需求提供个性化的电影推荐
- 收藏管理:允许用户保存喜爱的电影到数据库
节点详解
1. When chat message received(聊天消息触发器)
- 类型:
@n8n/n8n-nodes-langchain.chatTrigger - 功能: 工作流的入口点,通过 Webhook 方式接收用户的聊天消息
- 配置:
- 模式:Webhook(公开访问)
- 允许所有来源的请求(
allowedOrigins: "*")
2. AI Agent - Movie Recommendation(AI 电影推荐代理)
- 类型:
@n8n/n8n-nodes-langchain.agent - 功能: 核心 AI 代理,协调整个工作流的逻辑
- 提示词:
- 作为电影上下文助手
- 使用 MongoDBAggregate 工具搜索
- 需要提供 MongoDB 聚合管道代码数组
- 仅在用户确认时使用 insertFavorite 工具保存收藏
3. OpenAI Chat Model(OpenAI 聊天模型)
- 类型:
@n8n/n8n-nodes-langchain.lmChatOpenAi - 功能: 提供 AI 语言理解和生成能力
- 凭证: 连接到 OpenAI API
4. Window Buffer Memory(窗口缓冲记忆)
- 类型:
@n8n/n8n-nodes-langchain.memoryBufferWindow - 功能: 维护对话上下文
- 配置: 保持最近 10 条消息的上下文窗口
5. MongoDBAggregate(MongoDB 聚合工具)
- 类型:
n8n-nodes-base.mongoDbTool - 功能: 执行 MongoDB 聚合查询
- 操作: 聚合(aggregate)
- 集合: movies(电影集合)
- 文档结构: 包含以下字段
plot: 电影剧情简介genres: 电影类型(数组)runtime: 片长cast: 演员阵容poster: 海报链接title: 电影标题fullplot: 完整剧情languages: 语言released: 上映日期directors: 导演rated: 分级awards: 获奖信息year: 年份imdb: IMDb 评分信息
6. insertFavorite(插入收藏工具)
- 类型:
@n8n/n8n-nodes-langchain.toolWorkflow - 功能: 调用子工作流将用户喜爱的电影插入数据库
- 工作流 ID:
6QuKnOrpusQVu66Q(insertMongoDB) - 数据结构:
{"title": "电影标题"}
7-8. Sticky Note(便签说明)
- 功能: 提供工作流的文档说明和流程解释
工作流程
- 接收消息: 用户通过聊天界面发送电影相关查询
- AI 分析: OpenAI 模型分析用户意图和需求
- 数据检索: 根据需要调用 MongoDBAggregate 工具查询电影数据
- 结果增强: AI 代理处理查询结果并生成友好的回复
- 收藏保存: 如果用户确认喜欢某部电影,调用 insertFavorite 工具保存
- 记忆维护: Window Buffer Memory 保持对话连贯性
连接关系
- When chat message received → AI Agent - Movie Recommendation
- OpenAI Chat Model → AI Agent - Movie Recommendation(语言模型)
- Window Buffer Memory → AI Agent - Movie Recommendation(记忆)
- MongoDBAggregate → AI Agent - Movie Recommendation(工具)
- insertFavorite → AI Agent - Movie Recommendation(工具)
技术特点
- 自主代理架构: AI 可以自主决定何时使用哪个工具
- 上下文保持: 通过窗口记忆维护对话连续性
- 灵活查询: 支持复杂的 MongoDB 聚合管道查询
- 双向交互: 既能查询数据,也能写入数据
- 公开访问: 通过 Webhook 方式可以被外部系统调用
应用场景
- 电影推荐聊天机器人
- 电影数据库智能查询系统
- 个性化电影收藏管理
- 电影信息检索助手
状态
- 活跃状态: true(工作流已激活)
- 执行顺序: v1
技术栈
- AI 框架: LangChain
- 语言模型: OpenAI
- 数据库: MongoDB
- 平台: n8n workflow automation