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