| Résumé | Le premier Chatbot IA pour Discourse | |
| Lien du dépÎt | GitHub - merefield/discourse-chatbot: An AI bot with RAG capability for Topics, Chat & Customer Support in Discourse, currently powered by OpenAI · GitHub | |
| Guide dâinstallation | Comment installer des plugins dans Discourse | |
| Sponsoring | Veuillez envisager de devenir un sponsor de mon travail open source de maniĂšre rĂ©guliĂšre, Ă un niveau adaptĂ© aux ressources et besoins de votre organisation, afin de garantir que ce plugin reçoive la maintenance quâil mĂ©rite et continue de fonctionner pour votre site Ă lâavenir. |
Vous aimez ce plugin ? Veuillez
le sur GitHub ! ![]()
Comme il sâagit dâun plugin contribuĂ© de maniĂšre indĂ©pendante, veuillez soumettre vos demandes de support, de bugs, dâUX et de fonctionnalitĂ©s ici dans ce sujet. NB Ce plugin nâest pas disponible sur lâhĂ©bergement Discourse.org. Vous pouvez lâinstaller si vous ĂȘtes auto-hĂ©bergĂ© et possiblement si vous ĂȘtes sur un hĂ©bergement tiers (mais vĂ©rifiez avec votre fournisseur).
Quâest-ce que câest ?
- Le premier Chatbot IA de Discourse !
- Vous pouvez utiliser ce bot pour certaines tĂąches dâinformation de support client (voir ce guide Building a technical support chatbot)
- Discutez avec le bot dans nâimporte quel Sujet ou Canal de Chat, en un Ă un ou avec dâautres ! Prend en charge les Threads.
- Personnalisez le caractĂšre de votre bot pour quâil corresponde Ă votre forum !
- voulez-vous quâil parle comme William Shakespeare ou Winston Churchill ? Câest possible !
- Le bot en âMode RAGâ peut :
- Rechercher dans votre forum ** des réponses pour que le bot soit un expert sur le sujet de votre forum.
- Reclasse les recherches pour favoriser certains groupes dâauteurs ou balises de Sujets
- ne se contente pas dâĂȘtre conscient des informations du Sujet ou du Canal actuel.
- Demander à vos utilisateurs en privé leurs champs utilisateur inachevés.
- Rendre et éditer des images IA
- Rechercher sur Wikipédia
- Rechercher lâactualitĂ©*
- Rechercher sur Google*
- Explorer des sites distants*
- Retourner les données de marché de fin de journée pour les actions.*
- Effectuer des mathĂ©matiques âcomplexesâ avec prĂ©cision (sans rĂ©ponses inventĂ©es ou âhallucinationsâ !)
- Ces âoutilsâ peuvent ĂȘtre Ă©tendus via un plugin, voir ci-dessous.
- Rechercher dans votre forum ** des réponses pour que le bot soit un expert sur le sujet de votre forum.
- Support de la vision - le bot peut voir vos images et répondre à des questions à leur sujet !
- Répond automatiquement aux nouveaux Sujets dans des Catégories spécifiques
- Utilise lâAPI Open AI de pointe et les capacitĂ©s de fonctions de leurs excellents grands modĂšles de langage (LLM) leaders de lâindustrie.
- Inclut un systĂšme de quota spĂ©cial pour gĂ©rer lâaccĂšs au bot : les membres plus fiables et/ou payants peuvent avoir un accĂšs plus important au bot !
- Mesure lâutilisation par requĂȘte ou par jetons.
- Supporte également les connexions Azure et serveur proxy.
- Utilisez des processus proxy tiers pour traduire les appels afin de supporter dâautres LLM comme Gemini par ex. celui-ci
*inscription aux services API externes (non affiliés) requise. Liens dans les paramÚtres.
Le mode RAG est trÚs intelligent et connaßt les faits publiés sur votre forum :
Le mode bot de base peut parfois faire des erreurs, mais est moins coĂ»teux Ă faire fonctionner car il effectue moins dâappels au grand modĂšle de langage :
(Désolé la Chine !
**La âvisionâ du bot - ce quâil peut voir (potentiellement partager) et confidentialitĂ© 
Ce bot peut ĂȘtre utilisĂ© dans des espaces publics de votre forum. Pour rendre le bot particuliĂšrement utile, il existe le mode RAG (un paramĂštre par niveau de confiance du bot). Cela nâest pas activĂ© par dĂ©faut.
Dans ce mode, le bot a, par dĂ©faut, accĂšs Ă tout le contenu quâun utilisateur de Niveau de Confiance 1 verrait, en se basant sur ce paramĂštre :
Ainsi, sâil interagit dans un Sujet public, il y a une possibilitĂ© que le bot âfuiteâ dâinformations si vous avez tendance Ă restreindre le contenu aux niveaux de confiance 0 ou 1 via les permissions de CatĂ©gorie. Ce niveau a Ă©tĂ© choisi car, par expĂ©rience, la plupart des sites ne restreignent pas le contenu sensible aux niveaux de confiance bas, mais cela dĂ©pend de vos besoins spĂ©cifiques.
Pour ce mode, assurez-vous dâavoir au moins un utilisateur avec Niveau de Confiance 1 et aucune autre appartenance Ă un groupe au-delĂ des groupes automatisĂ©s. (gardez Ă lâesprit que le bot saura alors tout ce quâun utilisateur TL1 saurait et pourrait le partager). Vous pouvez choisir de baisser chatbot embeddings benchmark user trust level si vous avez un utilisateur de Niveau de Confiance 0 sans autre appartenance Ă un groupe au-delĂ des groupes automatisĂ©s.
Alternativement :
- Passez
chatbot embeddings strategyĂcategoryet remplissezchatbot embeddings categoriesavec les CatĂ©gories dont vous souhaitez que le bot ait connaissance. (Sachez que si vous ajoutez des CatĂ©gories privĂ©es, il en aura connaissance et tout ce que le bot dit en public, nâimporte oĂč, pourrait fuiter vers des utilisateurs moins privilĂ©giĂ©s, donc soyez prudent sur ce que vous ajoutez). - utilisez le bot uniquement en mode normal (mais le bot ne verra alors aucun message)
- atténuez avec la modération
De plus, notez que tout ce quâil peut âvoirâ est partagĂ© avec Open AI.
Vous pouvez voir que cette configuration est un compromis. Pour rendre le bot utile, il doit ĂȘtre informĂ© du contenu de votre site. Actuellement, il nâest pas possible pour le bot de lire sĂ©lectivement le contenu rĂ©servĂ© aux membres et de le partager uniquement avec les membres, ce que certains administrateurs pourraient trouver limitant, mais il nây a pas de moyen facile de rĂ©soudre cela tant que le bot peut parler en public. Contactez-moi si vous avez des besoins spĂ©cifiques et souhaitez sponsoriser du travail dans ce domaine. La gestion des permissions du bot avec la recherche sĂ©mantique est un problĂšme non trivial. Le systĂšme est actuellement optimisĂ© pour la vitesse. NB Les messages privĂ©s ne sont jamais lus par le bot.
Informations utiles
- Peut ne pas fonctionner sur les installations multi-sites (non testé explicitement), mais les PR sont les bienvenues pour améliorer le support

- La rĂ©ponse de lâAPI Open AI peut ĂȘtre lente par moments sur les modĂšles plus avancĂ©s en raison de la forte demande. Cependant, le Chatbot supporte aussi GPT 3.5 qui est rapide et rĂ©actif et tout Ă fait capable.
- Est extensible et le support dâautres bots cloud est prĂ©vu (dâoĂč le nom gĂ©nĂ©rique du plugin), mais supporte actuellement âuniquementâ lâinteraction avec les grands modĂšles de langage (LLM) Open AI tels que GPT-4 nativement. Veuillez me contacter si vous souhaitez ajouter dâautres types de bots ou me soutenir pour en ajouter dâautres. PR les bienvenues. Peut dĂ©jĂ utiliser des serveurs proxy pour accĂ©der Ă dâautres services sans modifications de code !
- Est extensible pour supporter la recherche dâautres contenus au-delĂ de lâensemble actuel fourni.
Configuration
Prérequis
En plus des changements normaux dans app.yml, vous devez ĂȘtre conscient des points suivants :
Pour compiler avec Chatbot ou AI Topic Summary, vous avez besoin dâau moins la version 0.5.1 de lâextension postgres pgvector.
La plupart des gens ont dĂ©jĂ au moins cette version. Cependant, occasionnellement, certaines installations ont une version plus ancienne. Cela empĂȘchera la compilation avec une erreur similaire Ă : PG::UndefinedObject: ERROR: access method "hnsw" does not exist
Assurez-vous dâabord que votre conteneur est en cours dâexĂ©cution :
./launcher restart app
puis entrez dans votre conteneur
./launcher enter app
puis accédez à la base de données et mettez à jour la version de pgvector :
:/var/www/discourse# su postgres -c 'psql discourse'
\dx
ALTER EXTENSION vector UPDATE;
\dx
exit
quittez maintenant le conteneur avec exit
Vous devriez maintenant pouvoir reconstruire.
Création des Embeddings
Si vous souhaitez que Chatbot connaisse le contenu de votre site, activez ce paramĂštre :
chatbot_embeddings_enabled
NĂ©cessaire uniquement si vous souhaitez utiliser le bot de type RAG et vous assurer quâil est conscient du contenu de votre forum, et pas seulement du Sujet actuel.
Initialement, nous devons crĂ©er les embeddings pour tous les messages concernĂ©s, afin que le bot puisse trouver des informations sur le forum. Cela se fait dĂ©sormais en arriĂšre-plan une fois ce paramĂštre activĂ© et vous nâavez rien Ă faire.
Cette tĂąche de remplissage initial peut prendre plusieurs jours pour les trĂšs grands sites.
Portée des Embeddings
Cela est déterminé par plusieurs paramÚtres :
chatbot_embeddings_strategyqui peut ĂȘtre soit âbenchmark_userâ soit âcategoryâchatbot_embeddings_benchmark_user_trust_leveldĂ©finit le niveau de confiance pertinent pour le premierchatbot_embeddings_categoriessi la stratĂ©giecategoryest dĂ©finie, donne au bot lâaccĂšs pour considĂ©rer tous les messages de la CatĂ©gorie spĂ©cifiĂ©e.
Si vous changez ces paramĂštres, au fil du temps, la population des Embeddings se transformera.
Pour accélérer le remplissage
Entrez dans le conteneur :
./launcher enter app
et exécutez la commande rake suivante :
rake chatbot:refresh_embeddings[1]
qui actuellement sâexĂ©cutera deux fois pour une raison inconnue (dĂ©solĂ© ! nâhĂ©sitez pas Ă faire une PR) mais le [1] assure que la deuxiĂšme fois, il nâajoutera que les embeddings manquants (câest-Ă -dire aucun immĂ©diatement aprĂšs la premiĂšre exĂ©cution) donc câest quelque peu inutile.
Dans le cas improbable oĂč vous seriez limitĂ© par OpenAI (peu probable !), vous pouvez complĂ©ter les embeddings en faisant ceci :
rake chatbot:refresh_embeddings[1,1]
qui remplira les manquants (donc rien nâest perdu suite Ă lâerreur) mais continuera plus prudemment en mettant un dĂ©lai dâune seconde entre chaque appel Ă Open AI.
ComparĂ© aux interactions du bot, les embeddings ne sont pas chers Ă crĂ©er, mais surveillez tout de mĂȘme votre utilisation sur votre tableau de bord Open AI.
NB Les embeddings ne sont créés que pour les Messages et uniquement pour ceux auxquels un utilisateur de Niveau de Confiance Un aurait accĂšs. Cela semblait ĂȘtre un compromis raisonnable. Cela ne crĂ©era pas dâembeddings pour les messages accessibles uniquement aux contenus de Niveau de Confiance 2+.
RequĂȘte Data Explorer utile pour surveiller la population des embeddings
@37Rb Ă©crit : âVoici une requĂȘte SQL que jâutilise avec le plugin Data Explorer pour surveiller et vĂ©rifier les embeddings⊠au cas oĂč cela aiderait quelquâun dâautre.â
SELECT e.id, e.post_id AS post, p.topic_id AS topic, p.post_number,
p.topic_id, e.created_at, e.updated_at, p.deleted_at AS post_deleted
FROM chatbot_post_embeddings e LEFT JOIN posts p ON e.post_id = p.id
Erreur lorsque vous essayez dâobtenir un embedding pour trop de caractĂšres.
Vous pourriez obtenir une erreur comme celle-ci :
OpenAI HTTP Error (spotted in ruby-openai 6.3.1): {"error"=>{"message"=>"This model's maximum context length is 8192 tokens, however you requested 8528 tokens (8528 in your prompt; 0 for the completion). Please reduce your prompt; or completion length.", "type"=>"invalid_request_error", "param"=>nil, "code"=>nil}}
Voici comment la rĂ©soudre âŠ
Comme indiquĂ© dans votre message dâerreur, le modĂšle dâembedding a une limite de :
8192 jetons
cependant vous en avez demandé 8528
Vous devez baisser la valeur actuelle de ce paramĂštre :
chatbot_open_ai_embeddings_char_limit:
dâenviron 4 fois la diffĂ©rence et voir si cela fonctionne (un jeton est environ 4 caractĂšres).
Donc, dans cet exemple, 4 x (8528 - 8192) = 1344
Donc baissez la valeur actuelle de chatbot_open_ai_embeddings_char_limit de 1500 pour ĂȘtre prudent. Cependant, la valeur par dĂ©faut a Ă©tĂ© dĂ©finie selon de nombreux tests pour les messages en anglais, mais pour dâautres langues, elle peut nĂ©cessiter une baisse.
Cela coupera alors plus de texte et demandera des jetons et espĂ©rons que lâembedding passera. Sinon, vous devrez confirmer la diffĂ©rence et la rĂ©duire davantage en consĂ©quence. Finalement, elle sera assez basse pour que vous nâayez plus Ă y penser.
Comment changer le modĂšle dâEmbeddings
Vous nâavez besoin de rien faire dâautre que changer le paramĂštre : le job en arriĂšre-plan sâoccupera des choses, si progressivement.
Si vous voulez vraiment accélérer le processus, faites :
- Changez le paramĂštre
chatbot_open_ai_embeddings_modelvers votre nouveau modĂšle prĂ©fĂ©rĂ© - Il est prĂ©fĂ©rable de dâabord supprimer tous vos embeddings actuels :
- entrez dans le conteneur
./launcher enter app - entrez dans la console rails
rails c - exécutez
::DiscourseChatbot::PostEmbedding.delete_all exit(pour revenir Ă root dans le conteneur)
- entrez dans le conteneur
- exécutez
rake chatbot:refresh_embeddings[1] - si pour une raison quelconque cĂŽtĂ© Open AI cela Ă©choue en cours de route, exĂ©cutez-le Ă nouveau jusquâĂ ce que vous atteigniez 100%
- le nouveau modĂšle est connu pour ĂȘtre plus prĂ©cis, donc vous devrez peut-ĂȘtre baisser
chatbot_forum_search_function_similarity_thresholdou vous nâobtiendrez aucun rĂ©sultat :). Jâai baissĂ© ma valeur par dĂ©faut de0.8Ă0.6, mais vos rĂ©sultats peuvent varier.
Type de Bot
Prenez un moment pour lire lâensemble des paramĂštres du Plugin. Le paramĂštre chatbot bot type est clĂ©, et il y en a un pour chaque âNiveau de Confianceâ du chatbot :
Le mode RAG est supĂ©rieur mais effectuera plus dâappels Ă lâAPI, augmentant potentiellement le coĂ»t. Cela dit, la rĂ©duction de sa propension Ă produire finalement des âhallucinationsâ peut vous permettre de passer de GPT-4 Ă GPT-3.5 et vous finirez peut-ĂȘtre par dĂ©penser moins malgrĂ© lâaugmentation significative de lâutilitĂ© et de la fiabilitĂ© de la sortie. GPT 3.5 est Ă©galement un meilleur ajustement pour le type Agent basĂ© sur les temps de rĂ©ponse. Un potentiel gagnant-gagnant ! ExpĂ©rimentez !
Pour que Chatbot fonctionne dans le Chat, vous devez avoir le Chat activé.
Comment faire répondre le bot
RĂšgles de base
- Si autorisĂ© dans les paramĂštres du plugin, le bot RĂ©pondra Ă chaque Message ou Message si invoquĂ© dans un Sujet ou Canal de Chat avec un seul Utilisateur jusquâĂ ce que dâautres personnes rejoignent.
- le bot sera toujours invoqué si vous le mentionnez avec @
Auto-répondeur spécial par Catégorie
- Par CatĂ©gorie, vous pouvez faire en sorte que Chatbot RĂ©ponde Ă chaque nouveau Sujet et vous pouvez lui donner des instructions spĂ©ciales sur ce quâil doit faire, rĂ©gies par un prompt spĂ©cifique Ă la CatĂ©gorie que vous configurez dans les paramĂštres de la CatĂ©gorie.
Devrait commencer quelque chose comme :
âBienvenue-moi en disant bonjour et prĂ©sentez-vous. Partagez avec moi 5 messages du forum en utilisant la recherche locale du forum pertinents Ă mon premier message, incluez des liensâ
câest-Ă -dire que vous devez lâĂ©crire Ă la premiĂšre personne comme si lâutilisateur demandait de lâaide. Ce nâest pas un prompt systĂšme. Il ne dĂ©crit pas comment le bot devrait se comporter (câest pour le prompt systĂšme qui est toujours envoyĂ©). Câest un utilisateur demandant de lâaide spĂ©cifique (bien que cachĂ©). Fondamentalement, vous lâĂ©crivez comme si câĂ©tait un message dâutilisateur sans avoir Ă mentionner le bot.
Vitesse de réponse du Bot
Cela est rĂ©gi principalement par un paramĂštre : âchatbot_reply_job_time_delayâ sur lequel vous avez discrĂ©tion.
Lâintention dâavoir ce paramĂštre est de :
- vous protĂ©ger contre lâatteinte des limites de taux dâOpen AI
- protĂ©ger votre site contre les utilisateurs qui voudraient spammer le bot et vous coĂ»ter de lâargent.
- permettre à Discourse assez de temps pour télécharger les images liées afin que le bot puisse les voir.
Câest maintenant par dĂ©faut â2â secondes et peut maintenant ĂȘtre rĂ©duit Ă zĂ©ro
, mais soyez conscient des risques ci-dessus. La vision du bot (si vous lâutilisez) est particuliĂšrement sensible Ă ce paramĂštre. Si vous trouvez que le bot ne voit pas vos images, essayez dâaugmenter cette valeur.
Mettre cela Ă zĂ©ro et le bot, mĂȘme en mode âagentâ, devient beaucoup plus ârĂ©actifâ.
Ăvidemment, cela peut ĂȘtre un peu artificiel et aucune personne rĂ©elle ne taperait aussi vite ⊠mais rĂ©glez-le selon vos goĂ»ts et la taille de votre portefeuille.
NB Je ne peux pas contrĂŽler directement la vitesse de rĂ©ponse de lâAPI dâOpen AI - et la rĂšgle gĂ©nĂ©rale Ă©tait que plus le modĂšle que vous dĂ©finissez est sophistiquĂ©, plus cette rĂ©ponse sera lente. Ce qui est plus gĂ©nĂ©ralement le cas maintenant est que les modĂšles âminiâ ont tendance Ă ĂȘtre plus rapides.
Collecte de Champs Utilisateur alimentĂ©e par lâIA (expĂ©rimental)
Si un Utilisateur a certains Champs Utilisateur Facultatifs qui sont actuellement vides, lâactivation de ce paramĂštre fera en sorte que le bot commence Ă demander ces informations Ă lâutilisateur. Il progressera Ă travers les Champs Utilisateur en attente jusquâĂ ce quâils soient complĂ©tĂ©s puis reviendra au comportement normal.

(désolé pour la lenteur de la réponse - cela a été enregistré en dev)
NB Cette fonctionnalité ne supporte que :
- Texte
- Menus déroulants
- Confirmations
La sĂ©lection multiple nâest pas encore supportĂ©e.
Les champs doivent ĂȘtre facultatifs
Lâordre des Champs Utilisateur dĂ©termine la prioritĂ©.
Support Ollama & llama3
Le support Ollama pour (le complĂštement GĂNIAL !) llama3 est maintenant disponible :
Câest pour lorsque le bot est exĂ©cutĂ© localement en dev ou dans le cloud avec un serveur ollama ⊠et en mode Basic :
- assurez-vous que le modĂšle est
llama3:
- lâURL personnalisĂ©e doit ĂȘtre dĂ©finie sur
http://localhost:11434:

Si vous avez un serveur assez puissant, vous pourriez servir ollama dans le cloud lĂ -bas.
Hype DeepSeek 
Rejoignez lâaction avec Chatbot ![]()
Vous pouvez utiliser le bot au moins en mode Basic au moins pour accéder à V3 et R1
Jâai utilisĂ© :
(pas dâaffiliation)
qui héberge leurs modÚles.
Configurez comme suit :
Assurez-vous de définir le mode bot Basic et de substituer votre clé.
Mais vous pourriez ĂȘtre en mesure dâutiliser DeepSeek AI directement si vous pouvez accĂ©der Ă leur site web pour vous inscrire ![]()
LâURL de base serait âhttps://api.deepseek.comâ.
OpenAI
Vous devez obtenir un jeton depuis https://platform.openai.com/ pour utiliser le bot actuel. Un modĂšle de langage par dĂ©faut est dĂ©fini (lâun des plus sophistiquĂ©s), mais vous pouvez essayer une alternative moins chĂšre, la liste est ici
Il y a une partie automatisĂ©e de la configuration : lors de lâajout Ă un Discourse, le plugin configure actuellement un utilisateur bot IA avec les attributs suivants
- Nom : âChatbotâ
- Id Utilisateur : -4
- Bio : âSalut, je ne suis pas une vraie personne. Je suis un bot qui peut discuter avec vous. Ne me prenez pas trop au sĂ©rieux. Parfois, jâai mĂȘme raison sur des choses !â
- Nom du Groupe : âai_bot_groupâ
- Nom Complet du Groupe : âAI Botsâ
Vous pouvez Ă©diter le nom, lâavatar et la bio (voir la chaĂźne locale dans admin â customize â text) comme vous le souhaitez mais rendez-le facile Ă mentionner.
Ce nâest pas gratuit, donc il y a un systĂšme de quota, et vous devez le configurer
Initialement, personne nâaura accĂšs au bot, mĂȘme pas le personnel.
Appeler lâAPI Open AI nâest pas gratuit aprĂšs lâexpiration dâune allocation initiale gratuite ! Donc, jâai implĂ©mentĂ© un systĂšme de quota pour garder cela sous contrĂŽle, rĂ©duire les coĂ»ts et prĂ©venir les abus. Le coĂ»t nâest pas fou avec ces petites interactions, mais cela peut sâadditionner si cela devient populaire. Vous pouvez en lire plus sur la tarification OpenAI sur leur page de tarification.
Pour interagir avec le bot, vous devez appartenir Ă un groupe qui a Ă©tĂ© ajoutĂ© Ă lâun des trois niveaux de ensembles de groupes de confiance, faible, moyen et Ă©levĂ©. Vous pouvez modifier chacun du nombre dâinteractions autorisĂ©es par semaine par ensembles de groupes de confiance dans les paramĂštres correspondants.
Vous devez Ă©galement remplir les groupes. Cette configuration vous appartient entiĂšrement. Ils commencent vides donc initialement personne nâaura accĂšs au bot :
Dans cet exemple, jâai donnĂ© Ă staff un accĂšs haute confiance, tandis que trust_level_0 a une faible confiance. Ils obtiennent les quotas correspondants dans trois paramĂštres supplĂ©mentaires.
Notez que lâutilisateur obtient le quota basĂ© sur le groupe de confiance le plus Ă©levĂ© auquel il appartient.
âIngĂ©nierie des Promptsâ
Il y a plusieurs paramÚtres de texte local qui influencent ce que le bot reçoit et comment le bot répond.
Le plus important que vous devriez envisager de changer est le prompt system du bot. Il est envoyé chaque fois que vous parlez au bot.
Pour le bot de base, vous pouvez essayer un prompt systĂšme comme :
âVous ĂȘtes un fan extrĂȘme de Formule 1, vous aimez tout ce qui touche au sport automobile et ses niveaux dâexcitation Ă lâoctane Ă©levĂ©â au lieu du dĂ©faut.
(Pour le bot rag, vous devez garder tout ce qui suit âVous ĂȘtes un assistant utile.â ou vous pourriez briser le comportement de lâagent. RĂ©initialisez-le si vous rencontrez des problĂšmes. Encore une fois, expĂ©rimentez !)
Essayez-en un qui est le plus approprié pour le sujet de votre forum. Soyez créatif !
Notez quâil y a maintenant deux prompts systĂšme pour chaque type de bot. Lâun .open est utilisĂ© lors de la discussion avec le bot en âpublicâ. Lâautre .private est appliquĂ© lors de la discussion avec le bot dans des Messages Personnels ou Chat de Message Direct. Câest pour que vous puissiez personnaliser le comportement privĂ© pour par ex. un bot de support.
Changer ces chaĂźnes locales peut faire se comporter le bot trĂšs diffĂ©remment mais ne peut pas ĂȘtre modifiĂ© Ă la volĂ©e. Je recommande de changer uniquement le prompt systĂšme car les autres jouent un rĂŽle important dans le comportement de lâagent ou fournissent des informations sur qui a dit quoi au bot.
NB Dans les Sujets, le premier Message et le Titre du Sujet sont envoyĂ©s en plus de la fenĂȘtre de Messages (dĂ©terminĂ©e par le paramĂštre de lookback) pour donner plus de contexte au bot.
Vous pouvez Ă©diter ces chaĂźnes dans Admin â Customize â Text sous chatbot.prompt., les plus importants Ă©tant les prompts systĂšme qui sont dans : chatbot.prompt.system.
Supporte Ă la fois les Messages & Messages de Chat !
Le bot supporte les Messages de Chat et les Messages de Sujet, y compris les Messages Privés (si configurés).
Vous pouvez inciter le bot Ă rĂ©pondre en lui rĂ©pondant, ou en le mentionnant avec @. Vous pouvez dĂ©finir jusquâoĂč le bot regarde en arriĂšre pour obtenir du contexte pour une rĂ©ponse. Plus la valeur est grande, plus chaque appel sera coĂ»teux.
Il y a un bouton de chat rapide flottant qui vous connecte immĂ©diatement au bot. Son style est un peu expĂ©rimental (modifiant certaines valeurs z-index de votre forum de base sur mobile) et il peut entrer en conflit sur certaines pages. Cela peut ĂȘtre dĂ©sactivĂ© dans les paramĂštres. Vous pouvez choisir si vous voulez charger le bot dans un chat 1 Ă 1 ou un Message Personnel.
Maintenant, vous pouvez choisir votre icÎne préférée (défaut
) ou si le paramĂštre est laissĂ© vide, il prendra lâavatar de lâutilisateur bot ! ![]()
avatar :
OU icĂŽne :Et rappelez-vous, vous pouvez Ă©galement personnaliser le texte qui apparaĂźt lorsquâil est dĂ©veloppĂ© :

⊠en utilisant Admin â Customize â Text
(bien que vous deviez peut-ĂȘtre personnaliser un peu le CSS pour accommoder les couleurs et la taille que vous voulez).
Un peu dâaide au dĂ©bogage
- assurez-vous que le paramĂštre
chatbot include inner thoughts in private messagesest ACTIVĂ - assurez-vous que le paramĂštre
chatbot enable verbose rails loggingest ACTIVĂ - ssh sur votre serveur
cd /var/discourse/shared/standalone/log/rails- en parallĂšle, demandez quelque chose au bot dans le MP
- retournez immédiatement à la console
- cherchez ce genre de messages :
- chat général =
tail -n 2000 production.log | grep {\"model\":\" - appels vision =
tail -n 2000 production.log | grep {\"type\":\"image_url\"
- chat général =
- vĂ©rifiez les âpensĂ©es intĂ©rieuresâ dans le MP
Extension de la boĂźte Ă outils du Chatbot avec des plugins
Le plugin Chatbot a la capacitĂ© dâajouter dâautres fonctions dans des plugins sĂ©parĂ©s, donc vous nâavez pas Ă maintenir une fourche du dĂ©pĂŽt Chatbot.
Exemple de plugin de fonction ici :
mais bien sĂ»r, vous pourriez ajouter cela Ă nâimporte quel plugin âŠ
Cette fonctionnalité a été ajoutée dans cette PR
Si vous avez besoin dâaide pour Ă©tendre Chatbot, vous pouvez mâembaucher pour vous aider.
Désinstallation du plugin - Important !
En raison des efforts récents pour simplifier le plugin, les seules étapes nécessaires pour désinstaller le plugin sont maintenant de supprimer la déclaration de clone.
Merci pour votre intĂ©rĂȘt pour le plugin !
Avertissement : Je ne suis pas responsable de ce que le bot rĂ©pond. ConsidĂ©rez le plugin comme Ă©tant au stade Beta et des choses peuvent mal tourner. Il sâamĂ©liorera avec les retours. Mais pas nĂ©cessairement la rĂ©ponse du bot
Veuillez comprendre les avantages et inconvĂ©nients dâun LLM et ce quâils sont et ne sont pas capables de faire et leurs limitations. Ils sont trĂšs bons pour crĂ©er du texte convaincant mais peuvent souvent ĂȘtre factuellement faux.
Note de ConfidentialitĂ© Importante : tout ce que vous Ă©crivez sur votre forum peut ĂȘtre transfĂ©rĂ© Ă Open AI dans le cadre de la scan du bot des derniers messages une fois quâil est incitĂ© Ă rĂ©pondre (Ă©videmment, cela est limitĂ© au Sujet ou Canal de Chat actuel). Bien quâil soit presque certain quâil ne sera pas incorporĂ© dans leurs modĂšles prĂ©-entraĂźnĂ©s, ils utiliseront les donnĂ©es dans leurs analyses et journaux. Assurez-vous dâajouter ce fait dans les CGU et dĂ©clarations de confidentialitĂ© de votre forum. Liens connexes : https://openai.com/policies/terms-of-use, https://openai.com/policies/privacy-policy, https://platform.openai.com/docs/data-usage-policies
Droits dâauteur : Open AI a fait une dĂ©claration sur les Droits dâauteur ici : https://help.openai.com/en/articles/5008634-will-openai-claim-copyright-over-what-outputs-i-generate-with-the-api
TODO/ĂlĂ©ments de la Feuille de Route
- Ajouter des tests front-end et back-end

- Ajouter un indicateur âbot en train de taperâ et âdiffusion de la rĂ©ponseâ (@Aizada_M, @MarcP)

- oublié de mentionner le bot ? Faire en sorte que le bot réponde aux éditions qui ajoutent sa mention @ (@frold )
- Ajouter un badge ? Vous avez mentionné @botname (@frold )
- Ajouter un paramĂštre pour inclure le prompt de CatĂ©gorie et Messages ĂpinglĂ©s ? (@Ed_S)
- Idem Bios Ă chaque prompt dâhistorique de message ? (@Ed_S , @codergautam). Est-ce que cela fonctionnera mĂȘme. Obtenez des preuves.
- Mettre Ă jour Discourse Frotz avec cette meilleure base de code ?
Passer Ă utiliser.pgvectoren faveur depgembeddingpour la recherche vectorielle maintenant que le premier supporte la recherche HNSW rapide
Ajouter la recherche sĂ©mantique pour que le bot puisse lire vos Messages de forum et devenir un âexpertâ

Ajouter un comportement agent pour rĂ©duire les hallucinations et tirer parti dâinformations fiables et factuelles.
Ajouter une logique supplĂ©mentaire pour convertir les noms dâutilisateur suspects en mentions @ (@frold )
Ajouter le support GPT-4 (quand Open AI me jugera assez digne dâaccĂšs !
)
Ajouter le support du nom de modÚle personnalisé.
Ajouter une option pour supprimer les citations des Messages avant de passer le texte Ă lâAPI.
AmĂ©liorer la transparence et la gestion des erreurs quand Open AI retourne un Ă©tat dâerreur
Ajouter la capacitĂ© de rĂ©essayer pour les requĂȘtes API expirĂ©es
Ajouter le support pour ChatGPT
Linter le plugin aux standards du cĆur Discourse
Ajouter des workflows CI
Ajouter des paramÚtres pour influencer la nature de la réponse du bot (ex. à quel point il est fou).
inclure le Titre du Sujet & premiers Messages au prompt
Ajouter un paramĂštre pour passer des donnĂ©es brutes Message/Message Ă cuit pour potentiellement tirer meilleur parti des donnĂ©es dâentraĂźnement web (suggestion par @MarcP). NB Peut coĂ»ter plus cher et limiter ce qui est retournĂ© car les jetons dâentrĂ©e sont comptĂ©s et cuit est beaucoup plus gros.pensons que nous avons abandonnĂ© cette idĂ©e
Crédits :
- Merci à @MarcP pour son support enthousiaste et ses retours de test détaillés.
- Les gars qui ont contribuĂ© Ă lâAPI Ruby Ă©mergente standard pour Open AI que cela utilise
- La conception du bouton flottant est principalement tirée du propre thÚme de Discourse GitHub - discourse/material-design-stock-theme · GitHub (donc ils ne sont pas actuellement compatibles, oh !)
- Le code des fixtures est basé sur le travail de @vinothkannans ici
- Si @P16 ne mâavait pas embauchĂ© il y a longtemps pour lâaider avec un chat bot, cela nâexisterait peut-ĂȘtre pas
*Il utilise toujours le moteur chat GPT dâOpenAI, mais peut maintenant tirer parti de fonctions locales et de donnĂ©es dâappels API pour limiter les hallucinations.















