Discord LLMCord - Quand les chatbots s'invitent dans Discord

par Korben -

Vous êtes fan de Discord et vous aimez bidouiller des trucs ?? Alors préparez-vous à découvrir Discord LLMCord. C’est un petit bout de code qui va vous permettre de causer avec des IA directement dans vos canaux, comme si c’étaient vos potes. Et ça marche avec à peu près tous les modèles de langage, qu’ils soient hébergés à distance ou en local sur votre bécane.

Pour lancer une conversation, il suffit de tagger le bot et hop, c’est parti mon kiki. Vous pouvez continuer la discussion en répondant aux messages et ainsi construire des fils de discussion complets. Vous pouvez par exemple :

  • Poursuivre votre propre conversation ou celle de quelqu’un d’autre.
  • Rembobiner” une discussion en répondant à un vieux message.
  • Poser une question sur n’importe quel message de votre serveur en taguant le bot.

En plus, si vous envoyez plusieurs messages à la suite, ils seront automatiquement mis bout à bout et si vous répondez juste au dernier, le bot verra tous les précédents. Vous pouvez aussi déplacer une conversation dans un fil sans perdre le fil (lol). Il vous suffit de créer un thread à partir d’un message et de tagger le bot dedans pour continuer à papoter.

Côté compatibilité, ça supporte les modèles distants d’OpenAI, Mistral, Anthropic et plein d’autres grâce à LiteLLM. Si vous voulez faire tourner un modèle en local, pas de souci non plus puisque ça marche avec OLLaMa, OobaBooga, Jan, LM Studio ou n’importe quel serveur d’API compatible OpenAI.

Le bot gère même les images si vous utilisez un modèle de vision comme GPT-4, Claude-3 ou LLaVA. Il a un prompt système personnalisable et vous pouvez lui parler en DM pour plus d’intimité (pas besoin de le tagger).

Si vous utilisez l’API OpenAI, LLMCord est également capable de reconnaître l’identité des utilisateurs. De plus, les réponses s’affichent en temps réel, avec un joli dégradé de vert quand c’est fini et s’il cause trop, il coupe automatiquement ses messages en plusieurs morceaux. Pratique pour éviter de se faire ban par Discord ! Il affiche aussi des avertissements utiles si besoin, genre “J’utilise seulement les 20 derniers messages” quand vous dépassez la limite. Bref, c’est un bot bien élevé.

Sous le capot, il utilise un dico global avec des mutex pour mettre en cache les données des messages de manière efficace et thread-safe, comma ça, ça réduit les appels à l’API Discord et ça évite les fuites de mémoire. Le tout totalement en asynchrone.

Pour l’installer, c’est fastoche. Vous clonez le repo GitHub, vous installez les dépendances Python avec pip et vous créez un fichier .env avec vos clés d’API et les paramètres du bot. Lancez le script et tada, l’URL d’invitation de votre bot s’affiche dans la console. Pour plus de détails, suivez ce guide :

  1. Installer Python : Téléchargez et installez Python à partir de python.org.
  2. Cloner le dépôt git : Ouvrez un terminal et clonez le dépôt : bash git clone https://github.com/jakobdylanc/discord-llm-chatbot.git cd discord-llm-chatbot
  3. Installer les packages nécessaires : bash pip install -r requirements.txt
  4. Créer un fichier .env : bash cp .env.example .env
  5. Configurer les variables d’environnement : Ouvrez .env et remplissez les champs nécessaires : plaintext DISCORD_BOT_TOKEN=YOUR_DISCORD_BOT_TOKEN OPENAI_API_KEY=your-openai-api-key MODEL_NAME=local/openai/YOUR_MODEL_NAME
  6. Exécuter le script : Dans le terminal, lancez : bash python llmcord.py

Ah et j’oubliais, LLMCord est open source (vive le libre !), donc si vous voulez contribuer ou l’adapter à vos besoins, forkez et PR sans modération.

Avec ça, votre Discord ne sera plus jamais pareil et je sens que vous allez bien vous marrer ! Alors merci à Lorenper pour l’info car c’est une chouette découverte !

Source