Este proyecto rápido se construyó como parte de una charla sobre la búsqueda semántica para demostrar la diferencia entre la búsqueda tradicional de palabras clave y la búsqueda semántica en el contexto de las películas. El objetivo es mostrar cómo la búsqueda semántica puede proporcionar resultados más relevantes y precisos en comparación con la búsqueda simple basada en palabras clave que la mayoría de los sitios web como IMDB ofrecen.
Siga estas instrucciones para configurarlo localmente.
Clon el repositorio.
Instale los paquetes requeridos tanto en el cliente como en los directorios del servidor:
npm installConfigurar la base de datos de la película:
Ejecute la aplicación en Docker con docker compose :
docker compose up Agregue las siguientes variables de entorno en un archivo .env en el directorio del servidor.
MONGO_DB_URI =
CHROMA_DB_URI = http://localhost:8000
CHROMA_DB_CREDENTIALS =
CHROMA_DB_AUTH_PROVIDER = chromadb.auth.token_authn.TokenAuthenticationServerProvider Activar la API /api/movies/feed para crear incrustaciones vectoriales del conjunto de datos de la película. (Siéntase libre de buscar y ajustar con la variable BATCH_SIZE a la creación de incrustaciones por lotes De acuerdo con sus especificaciones, lo configuré en 100 en un MacBook Pro M1 16GB)
Prueba la aplicación.
http://localhost:3030 .Boring Search y Cool Search para ver la diferencia en los resultados. ¡Siéntete libre de criar un PR! Su ayuda es apreciada. Siga estos pasos para contribuir:
git checkout -b feature/YourFeature ).git commit -m 'Add some feature' ).git push origin feature/YourFeature ).Si tiene alguna pregunta o retroalimentación, no dude en abrir un problema.
¡Feliz búsqueda!