Guide auto-hébergé pour Discourse AI

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.

40 « J'aime »

L’aide du compositeur n’est pas possible en auto-hébergement pour le moment ?

Félicitations à l’équipe pour ce développement et cette mise en œuvre :fire::raising_hands:

5 « J'aime »

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.

7 « J'aime »

J’ai Composer Helper opérationnel, merci !

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.

3 « J'aime »

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.

7 « J'aime »

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.

1 « J'aime »

/srv/ok et /health sont les points d’accès de vérification de l’état de santé.

De mémoire, quelque chose comme :

jo -p model=bart-large-cnn-samsum content="Longue phrase à résumer va ici" | \
  curl --json @- -XPOST http://service/api/v1/classify

Pour le service de résumé, cela devrait fonctionner.

4 « J'aime »

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 ?

1 « J'aime »

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.

3 « J'aime »

Bonne nouvelle d’AWS : Amazon RDS for PostgreSQL now supports pgvector for simplified ML model integration - AWS

2 « J'aime »

@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 ?

1 « J'aime »

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é ?

exemple de configuration de serveur

1 « J'aime »

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.

Oui, c’est probablement la meilleure façon.

5 « J'aime »

Estimations sur serviette :

API ChatGPTv4

  • 0,0008 $ pour 100 mots
  • 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

1 « J'aime »

GPT-4 ou 3.5 ne peuvent pas être auto-hébergés.

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…

3 « J'aime »

C’est ce qu’on obtient quand on utilise ChatGPT pour calculer les coûts d’auto-hébergement de ChatGPT.

7 « J'aime »

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.

Nous venons de commencer à exécuter les services d’IA ici pour Meta dans un g4dn.xlarge, je peux donc maintenant le recommander comme référence.

1 « J'aime »

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.

1 « J'aime »

La machine est essentiellement inactive avec uniquement le trafic Meta. Elle pourrait gérer quelques Meta de trafic sans problème.

1 « J'aime »