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