Búsqueda de películas con Gemini API, búsqueda vectorial de MongoDB y UI aerodinámica
Descripción:
Este proyecto implementa una aplicación de búsqueda de películas que aprovecha el poder de:
- API de Google Gemini: para una generación eficiente de incrustación de vectores, capturando el significado semántico de las parcelas de películas.
- MongoDB Vector Search: recuperar películas con tramas semánticamente similares a la consulta de búsqueda de un usuario.
- Streamlit: para crear una aplicación web fácil de usar e interactiva.
Características:
- Los usuarios pueden ingresar una consulta de búsqueda para películas.
- La aplicación utiliza la API de Géminis para generar una representación vectorial de la consulta.
- Luego realiza una búsqueda de vectores dentro de MongoDB para encontrar películas con embedidas de trama similares.
- La interfaz de usuario muestra detalles de las películas recuperadas, incluidos el título, el resumen de la trama (si está disponible) y, opcionalmente, los carteles (si las URL están presentes en los datos).
Requisitos:
- Python 3.x
- Bibliotecas requeridas:
-
google-generativeai (para la API de Géminis) -
pymongo (para la interacción MongoDB) -
streamlit (para el desarrollo de aplicaciones web)
Instalación:
- Clon este repositorio.
- Crear un entorno virtual (recomendado):
python -m venv env
source env/bin/activate # Windows: envScriptsactivate.bat
- Instale las bibliotecas requeridas:
pip install google-generativeai pymongo streamlit
Configuración:
- Configurar la API de Géminis:
- Obtenga un proyecto de Google Cloud y habilite la API Gemini.
- Cree una clave API y establezca la variable de entorno
GOOGLE_API_KEY en consecuencia.
- Conéctese a MongoDB:
- Configure una base de datos MongoDB con una colección que contiene datos de la película. La colección debe incluir documentos con campos como
title , plot (para la búsqueda de vectores) y poster opcionalmente (para la pantalla de imagen). - Reemplace los marcadores de posición en
connection_string.py con su cadena de conexión MongoDB y nombres de base de datos/colección.
Uso:
- Ejecute la aplicación:
streamlit run movie_recs.py
- Ingrese una consulta de búsqueda en el campo de entrada de texto y presione "ENTER".
- La aplicación mostrará una lista de películas que coinciden semánticamente su consulta, junto con sus detalles.