| Riepilogo | Il primo Chatbot AI per Discourse | |
| Link al Repository | GitHub - merefield/discourse-chatbot: An AI bot with RAG capability for Topics, Chat & Customer Support in Discourse, currently powered by OpenAI · GitHub | |
| Guida all’installazione | Come installare i plugin in Discourse | |
| Sponsorizzazione | Considera la possibilità di diventare un sponsor del mio lavoro open source con un livello adeguato alle risorse e alle esigenze tue o della tua organizzazione, per garantire che questo plugin riceva le cure necessarie e continui a funzionare sul tuo sito in futuro. |
Ti piace questo plugin? Metti una
su GitHub! ![]()
Poiché si tratta di un plugin contribuito in modo indipendente, effettua richieste di supporto, segnalazione bug, UX e funzionalità qui in questo argomento. NB Questo plugin non è disponibile sull’hosting di Discourse.org. Puoi installarlo se sei self-hosted e forse se sei su hosting di terze parti (ma verifica con il tuo provider).
Che cos’è?
- Il primo Chatbot AI per Discourse!
- Puoi usare questo bot per alcune attività di supporto clienti (vedi questa guida Building a technical support chatbot)
- Conversa con il bot in qualsiasi Topic o Canale Chat, uno a uno o con altri! Supporta i Thread.
- Personalizza il carattere del tuo bot per adattarlo al tuo forum!
- vuoi che suoni come William Shakespeare o Winston Churchill? fattibile!
- Il bot in “Modalità RAG” può:
- Cercare nel tuo forum** risposte, così il bot può diventare un esperto sull’argomento del tuo forum.
- Riclassificare le ricerche per favorire particolari gruppi di autori o tag dei Topic
- non limitarsi a essere a conoscenza delle informazioni sull’attuale Topic o Canale.
- Chiedere ai tuoi utenti in privato i loro campi utente incompleti.
- Generare e modificare immagini AI
- Cercare su Wikipedia
- Cercare notizie attuali*
- Cercare su Google*
- Fare il crawling di siti remoti*
- Restituire i dati di mercato End Of Day per le azioni.*
- Eseguire calcoli “complessi” in modo accurato (senza risposte inventate o “allucinazioni”!)
- Questi “strumenti” possono essere estesi con un plugin, vedi sotto.
- Cercare nel tuo forum** risposte, così il bot può diventare un esperto sull’argomento del tuo forum.
- Supporto Vision - il bot può vedere le tue immagini e rispondere a domande su di esse!
- Rispondere automaticamente ai nuovi Topic in Categorie specifiche
- Utilizza l’API Open AI all’avanguardia e le funzionalità delle loro eccellenti Large Language Models (LLM) leader del settore.
- Include un sistema di quote speciale per gestire l’accesso al bot: membri più fidati e/o paganti possono avere un accesso maggiore al bot!
- Misurare l’utilizzo per Query o per Token.
- Supporta anche connessioni Azure e server proxy.
- Usa processi proxy di terze parti per tradurre le chiamate per supportare LLM alternativi come Gemini, ad esempio questo
*è necessario registrarsi per servizi API esterni (non affiliati). Link nelle impostazioni.
La modalità RAG è molto intelligente e conosce i fatti pubblicati sul tuo forum:
La modalità bot di base può a volte commettere errori, ma è più economica da gestire perché effettua meno chiamate al Large Language Model:
(Sorry Cina!
**“Visione” del bot - cosa può vedere (potenzialmente condividere) e privacy 
Questo bot può essere utilizzato in spazi pubblici sul tuo forum. Per rendere il bot particolarmente utile, esiste la modalità RAG (una impostazione per ogni livello di fiducia del bot). Questa non è impostata di default.
In questa modalità, il bot ha accesso, di default, a tutto il contenuto che un utente di Trust Level 1 vedrebbe, lavorando con questa impostazione:
Quindi, se interagisci con un Topic pubblico, c’è la possibilità che il bot possa “trapelare” informazioni se tendi a limitare l’accesso ai contenuti al livello di fiducia 0 o 1 tramite i permessi della Categoria. Questo livello è stato scelto perché, per esperienza, la maggior parte dei siti non limita i contenuti sensibili ai livelli di fiducia bassi, ma dipende dalle tue esigenze specifiche.
Per questa modalità, assicurati di avere almeno un utente con Trust Level 1 e nessuna appartenenza aggiuntiva a gruppi oltre ai gruppi automatizzati. (tieni presente che il bot conoscerà tutto ciò che un utente TL1 conoscerebbe e potrebbe condividerlo). Puoi scegliere di abbassare chatbot embeddings benchmark user trust level se hai un utente Trust Level 0 senza appartenenza aggiuntiva a gruppi oltre a quelli automatizzati.
In alternativa:
- Passa
chatbot embeddings strategyacategorye popolachatbot embeddings categoriescon le Categorie di cui desideri che il bot sia a conoscenza. (Tieni presente che se aggiungi Categorie private, il bot dovrebbe esserne a conoscenza e qualsiasi cosa il bot dica in pubblico, ovunque, potrebbe trapelare a utenti con privilegi inferiori, quindi fai attenzione a cosa aggiungi). - usa il bot solo in modalità normale (ma il bot non vedrà alcun post)
- mitiga con la moderazione
Inoltre, tieni presente che tutto ciò che il bot può “vedere” viene condiviso con Open AI.
Puoi vedere che questa configurazione è un compromesso. Per rendere il bot utile, deve essere a conoscenza dei contenuti del tuo sito. Attualmente non è possibile per il bot leggere selettivamente i contenuti riservati ai membri e condividerli solo con i membri, cosa che alcuni amministratori potrebbero trovare limitante, ma non c’è un modo semplice per risolvere questo problema mentre il bot è in grado di parlare in pubblico. Contattami se hai esigenze speciali e desideri sponsorizzare del lavoro in questo ambito. La gestione dei permessi del bot con la ricerca semantica è un problema non banale. Il sistema è attualmente ottimizzato per la velocità. NB I messaggi privati non vengono mai letti dal bot.
Informazioni utili
- Potrebbe non funzionare su installazioni multi-sito (non testate esplicitamente), ma le PR sono benvenute per migliorare il supporto

- La risposta dell’API Open AI può essere lenta a volte sui modelli più avanzati a causa dell’alta domanda. Tuttavia, il Chatbot supporta anche GPT 3.5, che è veloce e reattivo e perfettamente capace.
- È estensibile e il supporto per altri bot cloud è previsto (da qui il nome generico del plugin), ma attualmente supporta ‘solo’ l’interazione con i Large Language Models (LLM) di Open AI come GPT-4 nativamente. Contattami se desideri aggiungere ulteriori tipi di bot o vuoi supportarmi per aggiungerne altri. PR benvenute. È già possibile usare server proxy per accedere ad altri servizi senza modifiche al codice!
- È estensibile per supportare la ricerca di altri contenuti oltre all’insieme corrente fornito.
Configurazione
Prerequisiti
Oltre alle normali modifiche a app.yml, devi essere consapevole del seguente:
Per compilare con Chatbot o AI Topic Summary hai bisogno almeno della versione 0.5.1 dell’estensione postgres pgvector.
La maggior parte delle persone avrà già almeno questa versione. Tuttavia, occasionalmente alcune installazioni hanno una versione più vecchia installata. Questo ti impedirà di compilare con un errore simile a: PG::UndefinedObject: ERROR: access method "hnsw" does not exist
Prima assicurati che il tuo container sia in esecuzione:
./launcher restart app
poi entra nel tuo container
./launcher enter app
poi entra nel database e aggiorna la versione di pgvector:
:/var/www/discourse# su postgres -c 'psql discourse'
\dx
ALTER EXTENSION vector UPDATE;
\dx
exit
ora esci dal container con exit
Ora dovresti essere in grado di ricompilare.
Creazione degli Embeddings
Se desideri che il Chatbot conosca i contenuti del tuo sito, attiva questa impostazione:
chatbot_embeddings_enabled
Necessario solo se vuoi usare il bot di tipo RAG e assicurarti che sia a conoscenza dei contenuti del tuo forum, non solo dell’attuale Topic.
Inizialmente, dobbiamo creare gli embeddings per tutti i post nell’ambito, così il bot può trovare informazioni sul forum. Questo ora avviene in background una volta attivata questa impostazione e non devi fare nulla.
Questo lavoro di seeding può richiedere un periodo di giorni per siti molto grandi.
Ambito degli Embeddings
Questo è determinato da diverse impostazioni:
chatbot_embeddings_strategyche può essere “benchmark_user” o “category”chatbot_embeddings_benchmark_user_trust_levelimposta il livello di fiducia rilevante per il primo casochatbot_embeddings_categoriesse la strategia è impostata sucategory, dà al bot accesso a considerare tutti i post nella Categoria specificata.
Se cambi queste impostazioni, nel tempo, la popolazione degli Embeddings si modificherà.
Per accelerare la popolazione
Entra nel container:
./launcher enter app
ed esegui il seguente comando rake:
rake chatbot:refresh_embeddings[1]
che attualmente si eseguirà due volte per ragioni sconosciute (scusa! sentiti libero di inviare una PR) ma il [1] assicura che la seconda volta aggiungerà solo gli embeddings mancanti (cioè nessuno immediatamente dopo la prima esecuzione) quindi è in qualche modo irrilevante.
Nel caso improbabile che tu venga rate limited da OpenAI (improbabile!) puoi completare gli embeddings facendo questo:
rake chatbot:refresh_embeddings[1,1]
che riempirà i mancanti (quindi nulla perso dall’errore) ma continuerà più cautamente inserendo un ritardo di 1 secondo tra ogni chiamata a Open AI.
Rispetto alle interazioni del bot, gli embeddings non sono costosi da creare, ma tieni d’occhio il tuo utilizzo sulla dashboard di Open AI in ogni caso.
NB Gli embeddings vengono creati solo per i Post e solo per quei Post a cui un utente Trust Level One avrebbe accesso. Questo sembrava un compromesso ragionevole. Non creerà embeddings per post da contenuti accessibili solo a Trust Level 2+.
Query utile per Data Explorer per monitorare la popolazione degli embeddings
@37Rb scrive: “Ecco una query SQL che sto usando con il plugin Data Explorer per monitorare e verificare gli embeddings… nel caso possa aiutare qualcun altro.”
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
Errore quando stai cercando di ottenere un embedding per troppi caratteri.
Potresti ottenere un errore del genere:
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}}
Ecco come risolverlo …
Come indicato nel tuo messaggio di errore, il modello di embedding ha un limite di:
8192 token
tuttavia ne hai richiesti 8528
Devi ridurre il valore corrente di questa impostazione:
chatbot_open_ai_embeddings_char_limit:
di circa 4 volte la differenza e vedere se funziona (un token è circa 4 caratteri).
Quindi, in questo esempio, 4 x (8528 - 8192) = 1344
Quindi abbassa il valore corrente di chatbot_open_ai_embeddings_char_limit di 1500 per essere sicuro. Tuttavia, il valore predefinito è stato impostato in base a molti test per post in inglese, ma per altre lingue potrebbe essere necessario abbassarlo.
Questo taglierà più testo e richiederà token e sperabilmente l’embedding passerà. Se non dovesse funzionare, dovrai confermare la differenza e ridurla ulteriormente di conseguenza. Alla fine sarà abbastanza basso da non doverlo più guardare.
Come cambiare il modello di Embeddings
Non devi fare nulla se non cambiare l’impostazione: il lavoro in background si occuperà delle cose, seppur gradualmente.
Se vuoi davvero accelerare il processo, fai:
- Cambia l’impostazione
chatbot_open_ai_embeddings_modelnel tuo nuovo modello preferito - È meglio prima eliminare tutti i tuoi embeddings attuali:
- entra nel container
./launcher enter app - entra nella console rails
rails c - esegui
::DiscourseChatbot::PostEmbedding.delete_all exit(per tornare alla root all’interno del container)
- entra nel container
- esegui
rake chatbot:refresh_embeddings[1] - se per qualsiasi motivo lato Open AI fallisce a metà, eseguilo di nuovo fino ad arrivare al 100%
- il nuovo modello è noto per essere più accurato, quindi potresti dover abbassare
chatbot_forum_search_function_similarity_thresholdo potresti non ottenere risultati :). Ho abbassato il mio valore predefinito da0.8a0.6, ma i risultati possono variare.
Tipo di Bot
Prenditi un momento per leggere l’intero set di impostazioni del Plugin. L’impostazione chatbot bot type è fondamentale, e ce n’è una per ogni “Livello di Fiducia” del chatbot:
La modalità RAG è superiore ma effettuerà più chiamate all’API, potenzialmente aumentando i costi. Detto questo, la riduzione della sua propensione a produrre ‘allucinazioni’ potrebbe facilitarti il passaggio da GPT-4 a GPT-3.5 e potresti finire per spendere meno nonostante il significativo aumento di utilità e affidabilità dell’output. GPT 3.5 è anche più adatto per il tipo Agent in base ai tempi di risposta. Un potenziale win-win! Sperimenta!
Per far funzionare il Chatbot in Chat devi avere la Chat abilitata.
Come far rispondere il bot
Regole di base
- Se autorizzato nelle impostazioni del plugin, il bot risponderà a ogni Post o Messaggio se invocato in un Topic o Canale Chat con un solo Utente finché non si uniscono altre persone.
- il bot sarà sempre invocato se lo @ menzioni
Auto-risponditore speciale per Categoria
- Per Categoria, puoi far sì che il Chatbot risponda a ogni nuovo Topic e puoi dargli istruzioni speciali su cosa fare, governate da un prompt specifico della Categoria che imposti nelle impostazioni della Categoria.
Dovrebbe iniziare qualcosa come:
“Damm il benvenuto dicendo ciao e presentati. Condividi con me 5 post sul forum usando la ricerca locale del forum rilevante per il mio primo post, includi i link”
cioè devi scriverlo in prima persona come se l’utente stesse chiedendo aiuto. Non è un prompt di sistema. Non descrive come il bot dovrebbe comportarsi (quello è per il prompt di sistema che viene comunque inviato). È un utente che chiede aiuto specifico (seppur nascosto). Fondamentalmente lo scrivi come se fosse un post di un utente senza dover menzionare il bot.
Velocità di risposta del bot
Questo è governato principalmente da un’impostazione: chatbot_reply_job_time_delay sulla quale hai discrezione.
L’intenzione di avere questa impostazione è:
- proteggerti dal raggiungere i limiti di rate di Open AI
- proteggere il tuo sito da utenti che potrebbero voler spammare il bot e farti spendere soldi.
- dare a Discourse abbastanza tempo per caricare immagini hotlinkate così il bot può vederle.
È ora di default ‘2’ secondi e può essere ridotto a zero
, ma tieni presenti i rischi sopra. La visione del bot (se la stai usando) è particolarmente sensibile a questa impostazione. Se noti che il bot non vede le tue immagini, prova ad aumentare questo valore.
Impostando questo a zero e il bot, anche in modalità ‘agent’, diventa molto più ‘reattivo’.
Ovviamente questo può essere un po’ artificiale e nessuna persona reale scriverebbe davvero così velocemente … ma impostalo a tuo gusto e in base al tuo budget.
NB Non posso controllare direttamente la velocità di risposta dell’API di Open AI - e la regola generale era che più sofisticato è il modello che imposti, più lenta sarà solitamente questa risposta. Ciò che è più comunemente il caso ora è che i modelli ‘mini’ tendono a essere più veloci.
Raccolta dei Campi Utente alimentata da AI (sperimentale)
Se un Utente ha alcuni Campi Utente Opzionali che sono attualmente vuoti, abilitando questa impostazione, farà sì che il bot inizi a chiedere all’utente le informazioni. Progrederà attraverso i Campi Utente pendenti fino a quando non saranno completati e poi tornerà al comportamento normale.

(scusa per la lentezza di risposta - questo è stato registrato in dev)
NB Questa funzione supporta solo:
- Testo
- Dropdown
- Conferme
La selezione multipla non è ancora supportata.
I campi devono essere opzionali
L’ordine dei Campi Utente determina la priorità.
Supporto Ollama & llama3
Il supporto Ollama per (il completamente FANTASTICO!) llama3 è ora disponibile:
Questo è per quando il bot viene eseguito localmente in dev o nel cloud con server ollama … e in modalità Basic:
- assicurati che il modello sia
llama3:
- l’URL personalizzato deve essere impostato su
http://localhost:11434:

Se hai un server abbastanza grande, potresti servire ollama nel cloud lì.
DeepSeek Hype 
Entra nell’azione con Chatbot ![]()
Puoi usare il bot almeno in modalità Basic per accedere a V3 e R1
Ho usato:
(nessun affiliazione)
che ospita i loro modelli.
Configura così:
Assicurati di impostare la modalità bot Basic e sostituisci la tua chiave.
Ma potresti essere in grado di usare DeepSeek AI direttamente se puoi accedere al loro sito web per registrarti ![]()
L’URL di base sarebbe “https://api.deepseek.com”.
OpenAI
Devi ottenere un token da https://platform.openai.com/ per usare l’attuale bot. È impostato un modello linguistico predefinito (uno dei più sofisticati), ma puoi provare un’alternativa più economica, la lista è qui
C’è una parte automatizzata della configurazione: all’aggiunta a un Discourse, il plugin attualmente imposta un utente bot AI con i seguenti attributi
- Nome: ‘Chatbot’
- User Id: -4
- Bio: “Ciao, non sono una persona reale. Sono un bot che può discutere con te. Non prendermi troppo sul serio. A volte, ho anche ragione su alcune cose!”
- Nome Gruppo: “ai_bot_group”
- Nome Completo Gruppo: “AI Bots”
Puoi modificare il nome, l’avatar e la bio (vedi stringa locale in admin → customize → text) come desideri, ma rendilo facile da menzionare.
Non è gratis, quindi c’è un sistema di quote, e devi configurarlo
Inizialmente nessuno avrà accesso al bot, nemmeno lo staff.
Chiamare l’API Open AI non è gratis dopo che si è esaurita l’allocation iniziale gratuita! Quindi, ho implementato un sistema di quote per tenerlo sotto controllo, ridurre i costi e prevenire abusi. Il costo non è folle con queste piccole interazioni, ma potrebbe accumularsi se diventa popolare. Puoi leggere di più sui prezzi di OpenAI nella loro pagina prezzi.
Per interagire con il bot devi appartenere a un gruppo che è stato aggiunto a uno dei tre livelli di set di gruppi fidati, basso, medio e alto. Puoi modificare ciascuno del numero di interazioni consentite a settimana per set di gruppi fidati nelle impostazioni corrispondenti.
Devi anche popolare i gruppi. Questa configurazione è interamente a tua discrezione. Partono vuoti quindi inizialmente nessuno avrà accesso al bot:
In questo esempio ho fatto in modo che staff abbia accesso ad alta fiducia, mentre trust_level_0 abbia bassa fiducia. Ottengono le quote corrispondenti in tre impostazioni aggiuntive.
Nota che l’utente ottiene la quota in base al gruppo fidato più alto a cui appartiene.
“Prompt Engineering”
Ci sono diverse impostazioni di testo “locale” che influenzano ciò che il bot riceve e come il bot risponde.
La più importante che dovresti considerare di cambiare è il prompt system del bot. Questo viene inviato ogni volta che parli con il bot.
Per il bot di base, puoi provare un prompt di sistema come:
‘Sei un fan estremo della Formula Uno, ami tutto ciò che riguarda lo sport motoristico e i suoi livelli di eccitazione ad alta ottanazione’ invece del predefinito.
(Per il bot rag devi mantenere tutto dopo “Sei un assistente utile.” o potresti rompere il comportamento dell’agente. Resetta se incontri problemi. Anche qui sperimenta!)
Prova uno più appropriato per l’argomento del tuo forum. Sii creativo!
Nota che ora ci sono due prompt di sistema per ogni tipo di bot. Uno .open è usato quando si parla con il bot in “pubblico”. L’altro .private è applicato quando si parla con il bot in Messaggi Personali o chat Direct Message. Questo è così che puoi personalizzare il comportamento privato per esempio per un bot di supporto.
Cambiare queste stringhe locali può far comportare il bot in modo molto diverso ma non possono essere modificate al volo. Raccomanderei di cambiare solo il prompt di sistema poiché gli altri svolgono un ruolo importante nel comportamento dell’agente o nel fornire informazioni su chi ha detto cosa al bot.
NB Nei Topic, il primo Post e il Titolo del Topic vengono inviati in aggiunta alla finestra di Post (determinata dall’impostazione lookback) per dare al bot più contesto.
Puoi modificare queste stringhe in Admin → Customize → Text sotto chatbot.prompt., le più importanti delle quali sono i prompt di sistema che sono in: chatbot.prompt.system.
Supporta sia Post che Messaggi Chat!
Il bot supporta Messaggi Chat e Post Topic, inclusi Messaggi Privati (se configurato).
Puoi invitare il bot a rispondere rispondendogli, o @ menzionandolo. Puoi impostare quanto indietro il bot guardi per ottenere contesto per una risposta. Più grande è il valore, più costosa sarà ogni chiamata.
C’è un pulsante di chat rapida fluttuante che ti connette immediatamente al bot. Il suo stile è un po’ sperimentale (modificando alcuni valori z-index del tuo forum base su mobile) e potrebbe entrare in conflitto su alcune pagine. Questo può essere disabilitato nelle impostazioni. Puoi scegliere se caricare il bot in una chat 1 a 1 o in un Messaggio Personale.
Ora puoi scegliere la tua icona preferita (default
) o se l’impostazione è lasciata vuota, prenderà l’avatar dell’utente bot! ![]()
avatar:
OR icon:E ricorda, puoi anche personalizzare il testo che appare quando è espanso:

… usando Admin → Customize → Text
(sebbene potresti dover personalizzare un po’ il CSS per adattarlo ai colori e alle dimensioni che desideri).
Qualche aiuto per il debugging
- assicurati che l’impostazione
chatbot include inner thoughts in private messagessia ON - assicurati che l’impostazione
chatbot enable verbose rails loggingsia ON - ssh sul tuo server
cd /var/discourse/shared/standalone/log/rails- in parallelo chiedi qualcosa al bot nel PM
- torna alla console immediatamente
- cerca questo tipo di messaggi:
- chat generale =
tail -n 2000 production.log | grep {\"model\":\" - chiamate vision =
tail -n 2000 production.log | grep {\"type\":\"image_url\"
- chat generale =
- controlla i “pensieri interni” nel PM
Estensione del set di strumenti del Chatbot con plugin
Il plugin Chatbot ha la capacità di aggiungere altre funzioni in plugin separati, così non devi mantenere una fork del repo Chatbot.
Esempio di plugin funzione qui:
ma ovviamente potresti aggiungerlo a qualsiasi plugin …
Questa funzione è stata aggiunta in questa PR
Se hai bisogno di aiuto per estendere Chatbot, puoi assumermi per aiutarti.
Disinstallazione del plugin - Importante!
A causa dei recenti sforzi per semplificare il plugin, gli unici passaggi necessari per disinstallare il plugin ora sono rimuovere la dichiarazione clone.
Grazie per il tuo interesse nel plugin!
Disclaimer: Non sono responsabile di ciò che il bot risponde. Considera il plugin in fase Beta e le cose potrebbero andare storte. Migliorerà con il feedback. Ma non necessariamente la risposta del bot
Ti preghiamo di capire i pro e i contro di un LLM e di cosa sono e non sono capaci e dei loro limiti. Sono molto bravi a creare testo convincente ma spesso possono essere fattualmente sbagliati.
Nota Importante sulla Privacy: qualsiasi cosa scrivi sul tuo forum potrebbe essere inoltrata a Open AI come parte della scansione del bot degli ultimi post una volta che viene invitato a rispondere (ovviamente questo è limitato all’attuale Topic o Canale Chat). Sebbene sia quasi certo che non verrà incorporato nei loro modelli pre-addestrati, useranno i dati nelle loro analisi e log. Assicurati di aggiungere questo fatto nelle tue TOS & dichiarazioni sulla privacy del forum. Link correlati: https://openai.com/policies/terms-of-use, https://openai.com/policies/privacy-policy, https://platform.openai.com/docs/data-usage-policies
Copyright: Open AI ha fatto una dichiarazione sul Copyright qui: https://help.openai.com/en/articles/5008634-will-openai-claim-copyright-over-what-outputs-i-generate-with-the-api
TODO/Voci della Roadmap
- Aggiungere test front-end e back-end

- Aggiungere indicatore “bot che digita” e “streaming delle risposte” (@Aizada_M, @MarcP)

- dimenticato di menzionare il bot? Far sì che il bot risponda alle modifiche che aggiungono la sua @ menzione (@frold )
- Aggiungere un badge? Hai menzionato @botname (@frold )
- Aggiungere impostazione per includere prompt Categoria e Post Fissati? (@Ed_S)
- Idem Bio per ogni prompt della cronologia dei messaggi? (@Ed_S , @codergautam). Funzionerà davvero. Otteniamo prove.
- Aggiornare Discourse Frotz con questa codebase migliore?
Passare a usare.pgvectora favore dipgembeddingper la ricerca vettoriale ora che il primo supporta la ricerca HNSW veloce
Aggiungere ricerca semantica così che il bot possa leggere i tuoi Post del forum e diventare un “esperto”

Aggiungere comportamento agente per ridurre le allucinazioni e sfruttare informazioni affidabili e fattuali.
Aggiungere logica extra per convertire i nomi utente sospetti in @ menzioni (@frold )
Aggiungere supporto GPT-4 (quando Open AI mi riterrà degno di accesso!
)
Aggiungere supporto nome modello personalizzato.
Aggiungere opzione per rimuovere le citazioni dai Post prima di passare il testo all’API.
Migliorare trasparenza e gestione degli errori quando Open AI restituisce uno stato di errore
Aggiungere capacità di retry per richieste API scadute
Aggiungere supporto per ChatGPT
Lint del plugin agli standard core di Discourse
Aggiungere workflow CI
Aggiungere impostazioni per influenzare la natura della risposta del bot (es. quanto è stravagante).
includere Titolo Topic & primi Post al prompt
Aggiungere impostazione per passare dai dati grezzi Post/Messaggio a cooked per potenzialmente sfruttare meglio i dati di addestramento web (suggerimento di @MarcP). NB Potrebbe costare di più e limitare ciò che viene restituito poiché i token di input sono contati e cooked è molto più grande.penso che abbiamo abbandonato questa idea
Crediti:
- Grazie a @MarcP per il suo entusiastico supporto e dettagliato feedback di testing.
- I ragazzi che hanno contribuito a lo standard emergente API Ruby per Open AI che questo sfrutta
- Il design del pulsante fluttuante è preso in gran parte dal tema stock Material Design di Discourse GitHub - discourse/material-design-stock-theme · GitHub (quindi non sono attualmente compatibili, oh!
- Il codice fixtures è basato sul lavoro di @vinothkannans qui
- Se @P16 non mi avesse assunto molti anni fa per aiutarlo con un chat bot, questo potrebbe non esistere
*Usa ancora il motore chat GPT di OpenAI, ma ora può sfruttare funzioni locali e dati da chiamate API per limitare le allucinazioni.















