Un simple bot de discorde qui vous permet de rechercher des messages sémantiquement.
Je n'ai commencé ce projet que parce que je voulais en savoir plus sur les incorporations de mots et les bases de données vectorielles, donc je ne sais pas si je vais jamais le terminer. Si vous souhaitez l'utiliser, vous devrez trouver comment l'héberger vous-même.
Il s'agit clairement d'un travail en cours. A encore besoin de beaucoup de travail, en particulier du côté de la base de données. Les bases de données vectorielles sont relativement faciles à utiliser, mais difficiles à maintenir.
De plus, la raison pour laquelle je l'ai encadré en tant que bot Discord est parce que autant que j'aime la plate-forme, sa fonctionnalité de recherche n'est pas aussi bonne. Je ne sais pas si j'arriverai jamais à un point où je peux héberger ce bot pour que les autres puissent utiliser, mais si je le fais, je mettrai à jour cette section.
Une dernière chose, je ne sais pas si j'utilise les bonnes abstractions / structure car je ne suis pas très expérimenté avec TypeScript. Cependant, j'ai essayé de tirer parti d'une abstraction pour faciliter l'échange de la base de données et du service d'intégration. Si vous avez des suggestions, faites-le moi savoir.
Son objectif principal est de vous aider à trouver des messages que vous savez être dans un serveur (ou non), mais vous ne vous souvenez pas exactement de la façon dont ils ont été formulés. Il utilise le modèle ADA d'OpenAI pour générer des intégres pour chaque message et les stocker dans une base de données vectorielle (QDRANT).
Vous pouvez ensuite rechercher des messages sémantiquement similaires à une requête donnée.
Vous devez créer un bot Discord et l'ajouter à votre serveur.
Vous devez également créer un compte OpenAI et obtenir une clé API.
cp .env.template .env # And fill in the missing valuesEn supposant que le nœud et le docker soient installés, vous pouvez exécuter les commandes suivantes pour démarrer le bot en mode développement:
npm install
npm run commands:deploy # Deploys bot commands to your dev server (you need to do this every time you add a new command)
bash start-db.sh # Starts a docker container with a vector database
npm run start:dev