Come si selezionano le persone? e cosa sono le persone rispetto ai comandi di chat abilitati per bot AI?
Nello specifico, come si fa?
Le persone sono il modo migliore che @sam ha trovato per permetterci di supportare più comandi e migliori. Invece di un “singolo bot” che cerca di fare tutto ma alla fine dimentica e fallisce a causa di limitazioni ben note degli LLM, scegliere la persona appropriata all’inizio ti offre un’esperienza di gran lunga migliore.
Aha! Fantastico. Avevo iniziato le mie chat come PM da solo.
Questo spiega anche un bug. Se avvii un PM e lo invii a un GPT, questo copre l’oggetto in modo da non poter inviare il messaggio. Nessuno che usasse il plugin in modo sensato farebbe questo.
Perché non ho mai usato l’icona per avviare una chat non riesco a spiegarlo. Ho persino detto a un utente che poteva avviare una chat in quel modo, ma non ho mai pensato di farlo io stesso!?
La mia prossima domanda è quanto sia facile o sarà facile creare nuove persone. (Guarderò il codice la prossima volta.)
Ad esempio, ho creato un modello (che funziona con il plugin AI chatbot) in questo modo:
@AIBot
Sei un tutor amichevole e disponibile. Il tuo compito è spiegare un concetto all'utente in modo chiaro e diretto, fornire all'utente un'analogia e un esempio del concetto, e verificare la comprensione. bla bla bla
. . .
e così via.
Mi piacerebbe poterlo rendere la persona.
MODIFICA: A prima vista, sembra che solo pochi file debbano essere modificati per aggiungere una persona. La persona stessa, e poi entry_point.rb deve richiederla e ci deve essere un’impostazione per abilitarla. Oh! O forse potrebbe esserci una persona personalizzata che prenda il prompt come impostazione del sito. Immagino che questa sia una soluzione a lungo termine. Avrebbe senso che provassi a fare un PR per questo, o dovrei semplicemente creare una mia versione per ora?
Abbiamo in programma di rendere i prompt personalizzabili in futuro, ma è ancora troppo presto per questo.
Inizierei con una fork, in questo stato di “anteprima” del plugin ci stiamo muovendo molto e non possiamo impegnarci a mantenere stabile la struttura interna del codice.
Se ottieni qualcosa che ritieni sia generalmente utile e riesci a portarlo allo stesso standard delle altre persone, puoi aprire un argomento in Feature per discutere una PR.
@pfaffman stiamo pensando a tutti i diversi tipi di persona che possiamo avere per l’AI Bot. Finora ci siamo limitati ai seguenti, ma stiamo ancora sperimentando…
- Aiuto Forum: Bot AI generico in grado di svolgere varie attività. Può cercare la tua attuale istanza di Discourse e utilizzare tali informazioni per creare risposte
- es. - Quali sono i post principali sull’AI?
- Aiuto SQL: Bot AI specializzato nell’aiutare a creare query SQL su questa istanza di Discourse (consapevole dello schema del tuo attuale database)
- es. - Scrivimi una query per trovare tutti i messaggi del bot AI di un cliente/utente specifico
- Artista: Bot AI specializzato nella generazione di immagini
- es. - Disegnami un gatto
- Esploratore Impostazioni: Bot AI specializzato nell’aiutare a esplorare le impostazioni del sito Discourse. (consapevole del codice sorgente di Discourse)
- es. - Come abilito Discourse AI sul mio sito Discourse?
- Ricercatore: Bot AI con accesso a Google per ricercare informazioni per te
- es. - Quante zampe ha un dinosauro?
Ci sono altre persone che vorresti vedere per l’AI Bot? Troveresti valore nello sviluppare la tua persona “personalizzata” (se non ti sono piaciute quelle sopra)?
La mia idea, su cui non ho fatto alcun lavoro, è quella di avere una categoria per le personas che avrebbero l’OP dell’argomento come prompt. Sto immaginando prompt personalizzati come questo che creeranno un prompt da dare a un generatore di immagini AI: ChatGPT Prompt Genius Engineering | MetricsMule, o un prompt da Now is the time for grimoires - by Ethan Mollick che inizia con
Penso che i prompt/personas personalizzati saranno una funzionalità utile per molte community e renderebbero banale l’aggiunta di nuovi prompt al core (oh, ma potrebbe anche rendere più difficile per il core aggiornare quei prompt poiché sarebbe difficile sapere se sono stati modificati apposta. . .)
O forse invece di un argomento, basterebbe un’impostazione che includa un array di prompt, che potrebbe essere un modo migliore per gestirli rispetto agli argomenti (che funziona per le risposte predefinite).
Cosa in questa persona si basa sull’integrazione di Discourse, oltre all’utilizzo dell’interfaccia utente di Discourse come front-end per l’LLM esterno?
Per la maggior parte delle nostre persone stiamo cercando di fare RAG, dove possiamo creare qualcosa che anche un LLM “out of the shelf” non ti darà.
Oh. Uh. . .
Sì. È quello che voglio.
Il mio caso d’uso è creare compiti didattici (come il tutor utile) che guidino le persone attraverso un’attività generata dall’IA. Discourse è il mio martello, quindi voglio che tutto sia in Discourse. (Ho passato circa 12 ore questo fine settimana a trovare e installare un abbreviatore di URL/generatore di codici QR: penso che avrei potuto farlo più velocemente come plugin di Discourse!).
Guardando a ciò per cui io e i miei studenti abbiamo pagato per le chiamate API, sembra molto più economico avere Discourse come modo per utilizzare GPT4 piuttosto che pagare $20/mese per utilizzare la loro interfaccia.
Se qualcun altro sta ascoltando, penso che intenda questo: https://research.ibm.com/blog/retrieval-augmented-generation-RAG.
Oh, scusa. Sì, sono lontano da quello.
Posso aggiungere “Tutor Socratico” a questo elenco? Ho sperimentato un’applicazione web che esegue una serie di prompt strutturati sull’elaborato di uno studente per fornire loro un feedback. Mi piacerebbe poter avere un argomento nascosto che fornisca materiale di origine per un dialogo di apprendimento basato su RAG
Qualcosa come: Sei un insegnante saggio e gentile che vuole aiutare gli studenti con il loro lavoro senza mai fornire una risposta diretta. Vuoi dare agli studenti abbastanza informazioni per risolvere i propri problemi. I materiali di origine in [questa categoria o post o argomento singolo] sono accurati e forniscono tutte le informazioni necessarie per rispondere alle domande specifiche degli studenti. Utilizza solo informazioni da queste fonti per rispondere alle domande.
Certamente vogliamo aggiungere il supporto per “persone personalizzate” in cui puoi scegliere:
- Temperatura
- Messaggio di sistema
- LLM
- Comandi
Dobbiamo creare un’interfaccia utente per questo, quindi potrebbe volerci un po’ di tempo per costruirla, detto questo, la vedo come una funzionalità molto potente e utile.
All’estremo, agli utenti finali dovrebbe essere consentito anche di creare persone personalizzate, V0 sarebbe probabilmente una funzionalità per amministratori.
La visione a lungo termine sarebbe quella di consentirti anche di definire comandi personalizzati in modo da poter interagire con qualsiasi sistema tu abbia (pensalo come webhook, ecc., ed effettuare chiamate API a un sistema personalizzato per riempire il contesto per il bot).
Tutte queste cose sono ancora solo nel mio castello mentale per ora, ma ci arriveremo… quindi
Fase 0
- Gli amministratori possono definire persone personalizzate e scegliere comandi/temperatura/messaggio di sistema/llm
Fase 1
- I gruppi autorizzati possono definire una “persona personale” - Ad esempio: voglio che la mia persona creativa sia più creativa / più concisa / ecc. come le istruzioni personalizzate di OpenAI, ma più potenti
Fase 2
- Consentire comandi personalizzati, in modo da poter integrare con sistemi di terze parti
Tutto questo sembra fantastico.
Le fasi 0 e 1 sarebbero molto più potenti, però, se all’idea di una persona fosse affiancato il concetto di una banca della memoria. Ovvero, puoi scrivere un piccolo schizzo del personaggio per descrivere come il bot si comporterà, ma puoi anche usare un argomento, una categoria di argomenti, una categoria o un insieme di tag per definire ciò che il bot sa.
Nei forum in cui alcune persone sanno molto o possono essere autorevoli su un argomento, e altre persone pongono domande o hanno discussioni meno informate, questo fa una grande differenza. Non vuoi che il bot riproponga discussioni vecchie o confuse su un argomento… vuoi essere in grado di limitarlo a un insieme convalidato di fatti.
L’editor di persona è attivo e funzionante!
Chiudo questa discussione, sentitevi liberi di aprire nuove richieste di funzionalità per l’editor di persona.