Ceci est un guide destiné à exécuter vos propres instances des services qui alimentent les modules d’IA de Discourse.
Introduction
Si vous souhaitez utiliser l’IA de Discourse sur votre instance auto-hébergée, vous devrez peut-être également exécuter les services compagnons pour les modules que vous souhaitez activer.
Chaque module a un ou plusieurs services compagnons nécessaires, et ces services utilisent plus de CPU / GPU / espace disque que Discourse lui-même. Gardez donc à l’esprit que cela n’est pas recommandé pour les personnes peu familières avec l’administration de serveurs Linux et Docker.
Résumé / Assistant IA / Bot IA
Embeddings
Sentiment
Exécution en production
Vous voudrez peut-être placer ce service derrière un proxy inverse pour activer des fonctionnalités telles que l’équilibrage de charge, TLS, les vérifications d’état, les limites de débit, etc. lors de l’exécution sur un site en direct.
Une fois le service opérationnel, configurez le module pour qu’il se connecte au domaine où le service s’exécute en utilisant le paramètre de site approprié, puis activez le module.
Composer Helper ne fonctionne pour l’instant qu’avec les API OpenAI ou Anthropic, il fonctionnera donc très bien dans des situations auto-hébergées à condition que vous disposiez de l’une de ces API.
La résumé nécessite-t-il un service de classification local ? Ou fonctionnera-t-il avec une simple clé API OpenAI si j’utilise le modèle ChatGPT3.5 ? Je l’ai activé mais je ne le vois pas sur les sujets.
Selon Discourse AI - Summarization, vous pouvez l’utiliser avec OpenAI en configurant la clé OpenAI (ce que vous avez déjà fait), en sélectionnant l’un des modèles GPT comme modèle de résumé et en activant le module de résumé.
Le bouton de résumé ne s’affiche actuellement que pour les sujets comportant plus de 50 réponses, mais nous l’activerons bientôt pour tous les sujets.
Pouvez-vous s’il vous plaît partager des exemples de requêtes ? J’essaie actuellement de configurer cela dans un groupe de mise à l’échelle automatique AWS (ASG) sur une instance EC2 et je n’arrive pas à le faire fonctionner ; je ne vois que des erreurs « 400 Bad Request » dans les journaux Discourse.
De plus, une URL de vérification de l’état serait formidable, / génère une erreur 404.
Pouvez-vous suggérer d’utiliser un service de résumé sur localhost avec une vérification d’état du module Nginx si nous sommes satisfaits des limites et de la charge ?
Je veux juste essayer des modèles open-source, nous avons déjà réussi avec les clés API OpenAI.
Y a-t-il des plans pour activer le multilinguisme sur le résumé en utilisant des modèles comme ChatGPT3.5 qui sont rendus compatibles ?
Si c’est ce que vous voulez, cela devrait fonctionner, oui.
La résumé fonctionne déjà avec les API OpenAI et Anthropic, ce qui vous donnera des capacités multilingues. Vous devrez peut-être un peu bidouiller pour traduire l’invite afin qu’elle reste plus ancrée dans la langue du sujet.
@Falco Auriez-vous l’obligeance de donner un exemple de configuration de serveur qui dispose de « beaucoup de CPU / GPU / disque » et qui peut exécuter l’IA auto-hébergée aux côtés d’un forum Discourse moyen ?
J’aimerais voir ça aussi, s’il vous plaît. De plus, compte tenu des exigences en matière de ressources, serait-il préférable (possible, plus rentable ?) de décharger les services d’IA compagnons sur un VPS séparé ?
Dépend des modèles et modules exacts de Discourse AI que vous souhaitez exécuter. Par exemple, le module de toxicité utilise 5 Go et le module NSFW utilise 1 Go de RAM. L’espace disque est similaire, et le CPU/GPU est utilisé pour l’inférence, donc vos besoins dépendent du nombre de requêtes par seconde que vous attendez.
1 utilisateur utilise en moyenne environ 100 mots (ou jetons) par jour sur chaque module IA
Utilisation des 6 modules IA
0,0008 * 6 = 0,0048
Coût mensuel total par utilisateur : 0,0048 * 30 = 0,144
Les exigences minimales du serveur pour l’auto-hébergement sont d’environ :
16 Go de RAM libre, 32 Go préférés
CPU de 3,5 GHz ou plus et 8 cœurs ou plus
SSD de 100 Go
Le serveur le moins cher qui répond à ces exigences sur Digital Ocean est :
16 Go de RAM
8 vCPU Intel Premium (plus de 3,5 GHz)
Bande passante : 6 000 Gio
SSD : 2x 200 Gio
Coût mensuel : 244,00 $
Ainsi, l’auto-hébergement de ChatGPT4 sera plus rentable que l’utilisation de son service API lorsque Discourse comptera environ 2 000 utilisateurs actifs par mois.
Avec des arrondis assez approximatifs et généreux. Est-ce que cela semble correct @Falco
Certains LLM sont open source comme Falcon ou divers modèles basés sur LLaMA (qui soulèvent des questions de licence) peuvent être auto-hébergés, mais à ce jour, ils sont tous moins performants que GPT 4 ou même 3.5.
Votre calcul approximatif est complètement faux. Si vous envisagez d’auto-héberger un LLM, vous aurez probablement besoin d’un A100 ou d’un H100, peut-être plusieurs… essayez de rechercher les prix…
Quoi qu’il en soit, j’essaierai de contribuer quelque chose et je reviendrai pour mettre à jour lorsque j’aurai des données utilisateur à comparer.
Voici les calculs que j’ai effectués pour l’utilisation de l’API de ChatGPT3.5 avec les modules ci-dessus, basés sur l’hypothèse très vague qu’un utilisateur actif moyen par mois générera en moyenne 100 mots par exécution :
Coûts de l’API ChatGPT3.5
0,0003 $ pour 100 mots en une exécution
1 utilisateur actif génère en moyenne environ 100 mots par jour sur chaque module d’IA
Coût mensuel moyen par plugin/composant d’IA : 0,009
6 = 0,054 $
Cela donne un coût mensuel total par utilisateur pour les 6 plugins de 0,054 $ s’ils fonctionnent sur ChatGPT3.5.
Merci. Les prix actuels sont indiqués ici pour ceux qui se demandent ce qu’est un g4dn.xlarge. J’espère que vous pourrez publier des données d’utilisation à un moment donné afin que nous puissions avoir une idée des coûts réels.