AI bot - Agenti

:bookmark: Questa guida spiega come configurare e gestire gli Agenti per Discourse AI - Bot AI.

:person_raising_hand: Livello utente richiesto: Amministratore

Il bot AI di Discourse include un sistema flessibile per la gestione degli Agenti. Questa guida copre:

  • Metodi di interazione per gli Agenti AI
  • Opzioni di configurazione
  • Impostazioni avanzate
  • Strumenti supportati
  • Possibilità di personalizzazione

:link: Scopri di più sul bot AI e come abilitarlo in questa guida.

Cosa sono gli agenti?

Gli Agenti sono una potente funzionalità che ti consente di personalizzare il comportamento del motore AI nel tuo forum Discourse. Agiscono come un “messaggio di sistema” che guida le risposte e le interazioni dell’IA, contribuendo a creare un’esperienza utente più personalizzata e coinvolgente.

Perché usare gli agenti?

Con gli agenti, puoi adattare il comportamento dell’IA per adattarlo meglio al contesto e al tono del tuo forum. Sia che tu voglia che l’IA sia più formale per un ambiente professionale, più informale per un forum comunitario o che incarni persino un personaggio specifico per un gioco di ruolo, gli agenti ti danno la flessibilità per farlo.

Accesso agli agenti specifico per gruppo

Inoltre, puoi configurare in modo che determinati gruppi di utenti abbiano accesso ad agenti specifici. Ciò significa che puoi avere comportamenti AI diversi per diverse sezioni del tuo forum, migliorando ulteriormente la diversità e la ricchezza delle interazioni della tua comunità.

Interagire con gli Agenti

Si può interagire con gli Agenti in diversi modi:

  1. Messaggio privato (MP)
  2. Messaggio diretto di chat (DM)
  3. Menzioni nei canali di chat
  4. Menzione in un argomento pubblico tramite @nome_utente_bot_esempio

Gli amministratori possono controllare quali metodi di interazione sono consentiti per ciascun agente tramite quattro interruttori separati:

  • Consenti messaggi personali: Consente agli utenti di avviare MP con questo agente (abilitato per impostazione predefinita)
  • Consenti menzioni negli argomenti: Consente @mention negli argomenti per attivare una risposta
  • Consenti messaggi diretti in chat: Consente DM in chat con questo agente (richiede il plugin chat)
  • Consenti menzioni nei canali di chat: Consente @mention nei canali di chat (richiede il plugin chat)

Configurazione

Per configurare gli Agenti, vai su discourse.example.com/admin/plugins/discourse-ai/ai-agents.

Le opzioni chiave di configurazione includono:

  • Prompt di sistema: Guida la conversazione
  • Supporto Visione: Abilita per LLM con supporto Visione, ad esempio GPT-4 Turbo, Claude 3
  • Modello predefinito: Necessario per gli agenti menzionabili e per gli agenti con LLM predefinito forzato abilitato
  • Gruppi consentiti: Definisce le autorizzazioni utilizzando la sicurezza dei gruppi di Discourse
  • Caricamenti: Indicizza i file di testo per conoscenze aggiuntive (utilizzando RAG - Generazione Aumentata dal Recupero)
  • Strumenti abilitati: Controlla l’accesso a strumenti specifici
  • Modalità di esecuzione: Scegli tra la modalità “predefinita” e “agente” (la modalità agente abilita l’uso di strumenti multi-turno con limiti di token configurabili e compressione)

Ecco uno sguardo a una schermata di configurazione completa dell’agente AI:

Opzioni di configurazione avanzate

L’editor degli agenti offre diverse opzioni avanzate:

  • Temperatura e top_p (campionamento di nucleo): Controllano la creatività rispetto alla prevedibilità
  • Post di contesto massimi: Limita il numero di post forniti all’LLM per la cronologia - meno post ridurrà i costi, ma farà “dimenticare” all’IA i contenuti più vecchi (non disponibile in modalità agente)
  • Modalità di esecuzione: “Predefinita” per risposte a passaggio singolo, “Agente” per l’uso di strumenti multi-passaggio con:
    • Token massimi di turno: Budget di token per l’esecuzione in modalità agente
    • Soglia di compressione: Soglia percentuale per la compressione del contesto (20-99%)
  • Mostra ragionamento: Visualizza il processo di ragionamento dell’IA agli utenti (abilitato per impostazione predefinita)
  • Richiedi approvazione: Richiede l’approvazione umana prima che vengano eseguite determinate azioni
  • Forza LLM predefinito: Impedisce agli utenti di cambiare LLM per questo agente
  • Formato risposta: Configura il formato di output strutturato
  • Esempi: Esempi few-shot per guidare il comportamento dell’IA (coppie di messaggi utente/assistente)
  • Opzioni di caricamento:
    • Token di chunk: Controlla la suddivisione dei documenti
    • Token di sovrapposizione di chunk: Imposta la sovrapposizione tra i chunk
    • Chunk della conversazione di ricerca: Numero di frammenti di documento aggiunti alle query utente
    • LLM consolidatore di domande: Scegli l’LLM per determinare le domande degli utenti
    • Modello LLM RAG: Scegli un LLM specifico per l’elaborazione RAG

Prerequisiti per il supporto ai caricamenti

Per utilizzare il supporto ai caricamenti:

  1. Abilita l’impostazione ai_embeddings_enabled
  2. Configura un modello di embedding tramite ai_embeddings_selected_model

Discourse AI supporta vari modelli di embedding. I clienti ospitati ottengono accesso gratuito al modello bge-large-en.

:information_source: Gli utenti self-hoster o coloro che desiderano più scelta possono ospitare autonomamente un modello di embedding o utilizzare modelli di Open AI, Google (Gemini) e altro.

Suddivisione del testo in Discourse AI

Discourse utilizza un Recursive Character Text Splitter per mantenere uniti paragrafi, righe e parole durante la suddivisione del testo. È possibile controllare la suddivisione del testo utilizzando il separatore [[metadata IL TUO METADATO QUI]]:

[[metadata sui gatti]]
una lunga storia sui gatti
[[metadata sui cani]]
una lunga storia sui cani

Questo metodo previene la “contaminazione dei chunk” assicurando che solo i dati pertinenti siano inclusi in ciascun chunk.

Debug degli agenti AI

Per sottoporre a debug il tuo agente:

  1. Aggiungi gli utenti al gruppo specificato nell’impostazione ai_bot_debugging_allowed_groups
  2. Gli utenti in questo gruppo vedranno un pulsante di debug AI nella parte inferiore dei post AI
  3. Fai clic sul pulsante per accedere alla finestra modale dell’interfaccia utente di debug

:warning: Ricorda: Se fornisci informazioni vaghe o inutili a un LLM, avrà grandi difficoltà a convertirle in informazioni utili.

Strumenti supportati

Discourse AI supporta vari strumenti, tra cui:

Sempre disponibili

  • Categorie
  • Ora
  • Ricerca
  • Lettura
  • Schema del database
  • Impostazioni di ricerca
  • Contesto impostazione
  • Selettore casuale
  • Browser web
  • Ricerca Meta Discourse
  • Valutatore JavaScript
  • Ricercatore
  • Segnala post
  • Chiudi argomento
  • Elenco argomenti
  • Blocca post
  • Elimina argomento
  • Modifica post
  • Modifica categoria
  • Imposta timer argomento
  • Imposta modalità lenta
  • Sposta post
  • Concedi badge

Integrazione GitHub

  • Contenuto file GitHub
  • Diff Pull Request GitHub
  • Cerca file GitHub

Questi tre strumenti sono sempre disponibili. Inoltre:

  • Ricerca codice GitHub richiede che sia compilata l’impostazione ai_bot_github_access_token

Strumenti condizionali

  • Tag e Modifica tag: Disponibili quando il tagging è abilitato sul tuo sito
  • Generazione immagini (Immagine, Crea immagine, Modifica immagine): Richiede la configurazione di un strumento personalizzato di generazione immagini tramite l’interfaccia utente di amministrazione
  • Ricerca Google: Richiede che siano compilate le impostazioni ai_google_custom_search_api_key e ai_google_custom_search_cx
  • Artefatti (Crea artefatto, Aggiorna artefatto, Leggi artefatto): Disponibili quando ai_artifact_security è impostato su lax, hybrid o strict
  • Assegna: Disponibile quando è installato il plugin Assign
  • Segna come risolto: Disponibile quando è installato il plugin Solved

Alcuni strumenti richiedono configurazioni aggiuntive o chiavi API.

Supporto per strumenti personalizzati

È possibile creare i propri strumenti utilizzando il supporto per strumenti personalizzati.

Personalizzazione degli agenti di sistema

  1. Crea un nuovo agente
  2. Copia e incolla il prompt di sistema dall’agente che desideri personalizzare
  3. Modifica secondo necessità
  4. Facoltativamente, disabilita l’agente di sistema originale per evitare duplicazioni

Personalizzazione della ricerca

Per personalizzare la ricerca per un nuovo agente:

  1. Crea un nuovo agente
  2. Aggiungi lo strumento “ricerca”
  3. Configura le opzioni di ricerca, tra cui:

Ciò ti consente di delegare le autorizzazioni di ricerca, aumentare il numero di risultati o limitare la ricerca a sezioni specifiche del tuo sito.

7 Mi Piace

Un post è stato diviso in un nuovo argomento: Posso fornire una funzione generatrice di immagini a Discourse AI

Cosa fa esattamente lo strumento Leggi?

Inoltre, le menzioni nei post sono attualmente non funzionanti secondo questo bug report.

In sintesi, consente all’LLM la capacità di leggere argomenti e post sul tuo forum.

1 Mi Piace

In sostanza legge un argomento/post quando viene fornito un URL, un nome o un ID e altrimenti, o comunque, utilizza embed e cosa, quando, perché e come dipende dal modello stesso, dal prompting, ecc.?

2 Mi Piace

Oh scusa, stavo rispondendo a un post diverso :slight_smile:

Utilizza l’ID dell’argomento o l’ID dell’argomento + il numero del post per trovare il markdown grezzo di un argomento/post con alcune protezioni per la lunghezza massima.

Non dipende dall’embedding.

5 Mi Piace

Un po’ fuori tema, ma dato che non ho niente da chiedere e voi ragazzi pulirete questi argomenti di tanto in tanto, non mi interessa.

I titoli automatici nei messaggi privati con l’IA sono ora nella lingua corretta. Non è una cosa da poco, ma il suo valore psicologico è grande. Grazie!

4 Mi Piace

C’è un modo per aggiungere gli utenti Bot a un gruppo? Fondamentalmente voglio aggiungere un’icona avatar a quegli utenti, ma quando li aggiungo a un gruppo, non compaiono

Non compaiono, ma ci sono ancora. Puoi esserne sicuro provando ad aggiungere una persona AI una seconda volta. Oppure vedi il gruppo necessario nelle impostazioni di questi pseudo utenti.

1 Mi Piace

Quale parte del repository Discourse AI dovrei consultare se volessi sapere con precisione come funzionano gli strumenti del bot AI?

Strumento, Playground e Bot sono tutte buone aree con cui iniziare.

Vedi questo esempio: Understanding Tools in Discourse AI System - AI Conversation - Discourse Meta

3 Mi Piace

Precisamente la risposta che stavo cercando — grazie mille! Per chiunque possa interessare: consiglio di leggere il codice in questo repository per poter indirizzare meglio i tuoi prompt per gli strumenti della tua persona.

1 Mi Piace

Un post è stato diviso in un nuovo argomento: Ingegnerizzare una persona su cui fare affidamento nella cronologia della chat

Sto attualmente cercando di recuperare tutti i post di un argomento tramite lo strumento “Leggi”, ma fornisce solo un massimo di 100 post al modello LLM. Ho già impostato “Max post” su 999 nelle impostazioni della persona, ma il problema persiste.

Potrebbe esserci una limitazione della richiesta API lato server che causa il problema?

@sam hai qualche idea su questo, quale potrebbe essere la causa?

Non ho controllato il codice sorgente, ma sospetto che possa essere un limite fisso impostato nel codice stesso. Posso chiedere cosa stai cercando di ottenere con questo? Questo è un fattore chiave qui.

E forse sarebbe meglio usare la persona del Ricercatore del Forum?

Abbiamo la categoria “journal/log” che spesso contiene diverse centinaia di post in cui il proprietario dell’argomento segnala i progressi del suo progetto nell’arco di 4-5 mesi.

Il mio obiettivo è recuperare tutti i post all’interno di quell’argomento, filtrarli per autore = proprietario dell’argomento e creare un riassunto.

1 Mi Piace

Devi usare il ricercatore di forum per questo, è l’esatto caso d’uso per la persona

2 Mi Piace

@sam Mi piacerebbe, ma attualmente non supporta le immagini. È qualcosa che è in programma o non è una priorità al momento?

3 Mi Piace

Certo, posso aggiungerlo, non è un cambiamento troppo grande.

3 Mi Piace