HN le révèle : créer un clone de « Perplexity » qui s’exécute en local
(github.com/nilsherzig)Qu’est-ce que LLocalSearch ?
- Un moteur de recherche entièrement exécuté en local, qui utilise des agents LLM.
- Lorsqu’un utilisateur pose une question, le système cherche une réponse à l’aide d’une chaîne LLM.
- L’utilisateur peut voir la progression de l’agent ainsi que la réponse finale.
- Aucune clé API OpenAI ou Google n’est nécessaire.
- La fonctionnalité de questions de suivi a maintenant été ajoutée : demo.mp4
Fonctionnalités
- 🕵️ Fonctionne entièrement en local, donc aucune clé API n’est nécessaire.
- 💸 Fonctionne sur du matériel LLM « modeste » (la vidéo de démonstration utilise un modèle 7b).
- 🤓 Fournit des journaux de progression pour mieux comprendre le processus de recherche.
- 🤔 Permet les questions de suivi.
- 📱 Interface adaptée au mobile.
- 🚀 Déploiement rapide et facile avec Docker Compose.
- 🌐 Interface web facilement accessible depuis n’importe quel appareil.
- 💮 Interface artisanale prenant en charge les modes clair et sombre.
État
- Ce projet en est encore à ses débuts. Il peut contenir certains bugs.
Comment ça fonctionne
- Pour obtenir les informations les plus récentes, consultez la documentation infra.
Auto-hébergement & développement
Prérequis
- Un serveur Ollama en cours d’exécution, accessible depuis les conteneurs.
- Le GPU n’est pas obligatoire, mais recommandé.
- Docker Compose
Exécuter la dernière release
- Recommandé si vous n’avez pas l’intention de développer ce projet.
git clone https://github.com/nilsherzig/LLocalSearch.git cd ./LLocalSearch # 🔴 Vérifiez les variables d’environnement dans le fichier compose et ajoutez le host:port du serveur ollama docker-compose up 🎉 - Vous pouvez maintenant ouvrir l’interface web par défaut sur http://localhost:3000.
- Par défaut, rien d’autre n’est exposé.
Exécuter la version git actuelle
- Vous pourrez utiliser des fonctionnalités plus récentes, mais avec potentiellement moins de stabilité.
git clone https://github.com/nilsherzig/LLocalsearch.git # 1. Vérifiez impérativement les variables d’environnement dans `docker-compose.dev.yaml`. # 2. Vérifiez bien que vous avez consulté le fichier compose de dev, et non le fichier compose standard. # 3. Construisez les conteneurs et démarrez les services make dev - Si
maken’est pas installé, vous pouvez exécuter manuellement les commandes du Makefile. - Vous pouvez maintenant accéder au frontend sur http://localhost:3000.
L’avis de GN⁺
- LLocalSearch mérite l’attention comme alternative moderne aux moteurs de recherche axée sur la protection de la vie privée des utilisateurs. En offrant des fonctions de recherche sans envoyer les données des utilisateurs vers des serveurs externes, il peut répondre aux inquiétudes liées à la confidentialité.
- Ce projet offre aussi une opportunité attrayante aux développeurs de la communauté open source. En y contribuant, ils peuvent mieux comprendre les technologies de moteur de recherche et renforcer leur portfolio.
- Mais comme il s’agit d’un projet encore à un stade précoce, il peut y avoir des bugs et des problèmes de stabilité. Cela signifie qu’il faut rester prudent si l’on envisage une utilisation en environnement réel.
- Si LLocalSearch évolue avec succès, il pourrait contribuer à réduire la dépendance aux grands moteurs de recherche existants et à apporter davantage de diversité au marché des moteurs de recherche.
- D’un point de vue technique, la recherche utilisant des agents LLM est très innovante, mais pour l’exploiter efficacement, il faut disposer de ressources de calcul suffisantes et de connaissances techniques.
1 commentaires
Commentaire Hacker News
Contexte : les LLMs (Large Language Models) sont des grands modèles de langage utilisés en traitement du langage naturel, et une base de données vectorielle stocke les données sous forme de vecteurs afin de permettre une recherche rapide. Perplexity est aussi une métrique d’évaluation des performances des modèles en traitement du langage naturel, mais ici le terme semble désigner un produit ou un service spécifique.