Ce projet rapide a été construit dans le cadre d'une conférence sur la recherche sémantique pour démontrer la différence entre la recherche traditionnelle de mots clés et la recherche sémantique dans le contexte des films. L'objectif est de montrer comment la recherche sémantique peut fournir des résultats plus pertinents et précis par rapport à la recherche simple basée sur les mots clés que la plupart des sites Web comme IMDB offrent.
Suivez ces instructions pour le configurer localement.
Clone le référentiel.
Installez les packages requis dans les répertoires du client et du serveur:
npm installConfigurer la base de données du film:
Exécutez l'application sur Docker avec docker compose :
docker compose up Ajoutez les variables d'environnement suivantes dans un fichier .env dans le répertoire du serveur.
MONGO_DB_URI =
CHROMA_DB_URI = http://localhost:8000
CHROMA_DB_CREDENTIALS =
CHROMA_DB_AUTH_PROVIDER = chromadb.auth.token_authn.TokenAuthenticationServerProvider Déclenchez l'API /api/movies/feed pour créer des incorporations vectorielles de l'ensemble de données de film. (N'hésitez pas à rechercher et à modifier avec la variable BATCH_SIZE à la création de lots en fonction de vos spécifications, je l'ai réglé sur 100 sur un MacBook Pro M1 16 Go)
Testez l'application.
http://localhost:3030 .Boring Search et Cool Search pour voir la différence de résultats. N'hésitez pas à élever un PR! Votre aide est appréciée. Veuillez suivre ces étapes pour contribuer:
git checkout -b feature/YourFeature ).git commit -m 'Add some feature' ).git push origin feature/YourFeature ).Si vous avez des questions ou des commentaires, n'hésitez pas à ouvrir un problème.
Bonne recherche!