Building Cinemind-AI 🎬 | My First AI Movie Chatbot with Flask, Gemini & MongoDB
개요
Cinemind-AI는 영화, 배우, 감독에 대한 질문에 답변하는 영화 전문 AI 챗봇으로, Flask API, Google Gemini API, MongoDB를 사용하여 구축되었습니다.
주요 내용
* Cinemind-AI 기능: 영화 관련 질문 답변, 채팅 기록 저장, ChatGPT와 유사한 인터페이스 제공, AI 기반 지능형 응답 생성.
* 아키텍처: Frontend (HTML + JavaScript) → Backend (Flask API) → AI Model (Google Gemini) → Database (MongoDB) 순서로 구성됩니다.
* 주요 기술 스택: Python, Flask, Google Gemini API, MongoDB, HTML, CSS, JavaScript.
* 핵심 기능 상세:
* ChatGPT-like Interface: 자연스러운 대화 형식 지원.
* Movie Domain Restriction: 영화 관련 질문만 허용하며, 그 외 질문 시 영화 관련 질문을 요청하는 메시지 반환.
* Chat History: 모든 채팅 기록을 MongoDB에 저장하여 추후 재오픈 가능.
* AI-Powered Responses: Gemini API를 통해 스마트한 답변 생성.
* 작동 방식: 사용자 메시지 수신 → Flask 백엔드에서 데이터 수신 → 도메인 필터 적용 (영화 관련성 확인) → AI 모델이 응답 생성 → MongoDB에 채팅 기록 저장.
* 구축 과정 중 직면한 과제: API rate limits (Gemini quota), frontend에서의 JSON parsing 오류, 응답에서 Markdown 형식 처리, 채팅 세션 관리.
* 학습 내용: Frontend와 Backend 간의 통신 (fetch API), Flask API 작동 방식, AI 모델 통합 방법, 데이터베이스를 이용한 채팅 데이터 저장 방식, 실질적인 디버깅 능력 향상.
* 향후 개선 방향: AI 응답 스트리밍 (타이핑 효과), ChatGPT와 같은 채팅 제목 기능, 영화 포스터 통합, UI 디자인 개선.
시사점
Cinemind-AI 프로젝트는 현대 AI 애플리케이션의 구조를 이해하는 데 도움을 주며, 단순한 챗봇을 넘어선 풀스택 AI 프로젝트로서의 가능성을 보여줍니다.
댓글
GitHub Discussions