ค้นหาภาพยนตร์ด้วย Gemini API, MongoDB Vector Search และ Streamlit UI
คำอธิบาย:
โครงการนี้ใช้แอพพลิเคชั่นค้นหาภาพยนตร์ที่ใช้ประโยชน์จากพลังของ:
- Google Gemini API: สำหรับการสร้างการฝังเวกเตอร์ที่มีประสิทธิภาพจับภาพความหมายเชิงความหมายของแปลงภาพยนตร์
- การค้นหาเวกเตอร์ MongoDB: เพื่อดึงภาพยนตร์ที่มีพล็อตความหมายคล้ายกับคำค้นหาของผู้ใช้
- Streamlit: สำหรับการสร้างเว็บแอปพลิเคชันที่ใช้งานง่ายและอินเทอร์แอคทีฟ
คุณสมบัติ:
- ผู้ใช้สามารถป้อนคำค้นหาสำหรับภาพยนตร์
- แอปพลิเคชันใช้ Gemini API เพื่อสร้างการแสดงเวกเตอร์ของแบบสอบถาม
- จากนั้นทำการค้นหาเวกเตอร์ภายใน MongoDB เพื่อค้นหาภาพยนตร์ที่มีการฝังพล็อตที่คล้ายกัน
- อินเทอร์เฟซผู้ใช้แสดงรายละเอียดของภาพยนตร์ที่ดึงมารวมถึงชื่อเรื่องสรุปการพล็อต (ถ้ามี) และเป็นทางเลือกโปสเตอร์ (หาก URL มีอยู่ในข้อมูล)
ความต้องการ:
- Python 3.x
- ห้องสมุดที่จำเป็น:
-
google-generativeai (สำหรับ Gemini API) -
pymongo (สำหรับการโต้ตอบ MongoDB) -
streamlit (สำหรับการพัฒนาเว็บแอป)
การติดตั้ง:
- โคลนที่เก็บนี้
- สร้างสภาพแวดล้อมเสมือนจริง (แนะนำ):
python -m venv env
source env/bin/activate # Windows: envScriptsactivate.bat
- ติดตั้งไลบรารีที่ต้องการ:
pip install google-generativeai pymongo streamlit
การตั้งค่า:
- กำหนดค่า Gemini API:
- รับโครงการ Google Cloud และเปิดใช้งาน Gemini API
- สร้างคีย์ API และตั้งค่าตัวแปรสภาพแวดล้อม
GOOGLE_API_KEY ตามนั้น
- เชื่อมต่อกับ MongoDB:
- ตั้งค่าฐานข้อมูล MongoDB พร้อมคอลเลกชันที่มีข้อมูลภาพยนตร์ คอลเลกชันควรมีเอกสารที่มีฟิลด์เช่น
title plot (สำหรับการค้นหาเวกเตอร์) และ poster ทางเลือก (สำหรับการแสดงภาพ) - แทนที่ตัวยึดตำแหน่งใน
connection_string.py ด้วยสตริงการเชื่อมต่อ MongoDB ของคุณและชื่อฐานข้อมูล/การรวบรวม
การใช้งาน:
- เรียกใช้แอปพลิเคชัน:
streamlit run movie_recs.py
- ป้อนคำค้นหาในฟิลด์อินพุตข้อความแล้วกด "Enter"
- แอพจะแสดงรายการภาพยนตร์ที่ตรงกับการสืบค้นของคุณกับรายละเอียดของพวกเขา