Concatenamento rapido
Stanno emergendo strumenti di programmazione visiva che facilitano il concatenamento di prompt di modelli di linguaggio di grandi dimensioni in un'applicazione; che è principalmente un'interfaccia utente conversazionale.
Qualche sfondo
Numerosi framework di sviluppo di chatbot hanno incluso gli LLM nelle loro funzionalità. Questa funzionalità dovrebbe integrare le offerte di sviluppo di chatbot esistenti. Tuttavia, queste implementazioni del framework di sviluppo di chatbot di LLM sono state di natura molto simile .
Questa implementazione iniziale è stata seguita da una seconda ondata di generazione del flusso conversazionale e assistenti alla progettazione della conversazione; che è stato guidato da Cognigy . E successivamente seguito da Yellow AI e Kore AI.
I LM L sono altamente versatili con capacità illimitate.
Voiceflow e Botpress hanno introdotto funzionalità simili al concatenamento di prompt, nella misura in cui un prompt può essere inviato a un LLM e i valori possono essere estratti dalla risposta generata.
In questo articolo voglio prendere in considerazione i principi alla base della progettazione e della creazione di un'interfaccia di programmazione visiva con concatenamento di prompt nativi.
Interfaccia utente con concatenamento di prompt nativo
Quando si concatenano i prompt di Large Language Model tramite un'interfaccia utente di programmazione visiva, la maggior parte delle funzionalità sarà la GUI che facilita il processo di creazione.
Di seguito è riportata un'immagine di come potrebbe apparire una GUI di questo tipo per l'ingegneria dei prompt e l'authoring della catena di prompt. Questo design è nato dalla ricerca condotta dall'Università di Washington e da Google.
L'interfaccia deve offrire granularità su più livelli del processo di creazione. Considerando il processo di concatenamento, è evidente che tra le catene ci sono connessioni.
Qualsiasi strumento di concatenamento di prompt o di concatenamento LLM deve supportare la trasformazione dei dati tra le fasi della catena. Considerando che nella maggior parte dei casi il LLM restituirà dati non strutturati, sarà necessario un livello di strutturazione e trasformazione dei dati.
Un secondo elemento è la natura leggermente imprevedibile degli LLM. Un LLM può generare più risposte allo stesso prompt. Ciò dà origine a una sfida di risposte indesiderate a cascata nelle catene di prompt. Dove i dati imprevisti vengono propagati attraverso le catene.
Poiché non vi è alcuna compilazione del codice, i prompt possono essere personalizzati in fase di esecuzione senza che sia richiesto alcun addestramento specifico del modello.
Le nuove attività possono essere facilmente assorbite dall'applicazione LLM Chained, semplicemente prendendo istruzioni in linguaggio naturale chiamate prompt.
Certo, molte applicazioni del mondo reale comportano attività multifase complesse e spesso parallele che rappresentano una sfida per una singola istanza di catene.
Considerando lo stack di funzionalità di seguito, un'applicazione di concatenamento di prompt basata su LLM (Large Language Models) e IA generativa dovrebbe avere tre componenti principali:
⏺ LLM
⏺ Aiutanti
⏺ Comunicazione
LLM
Per molte catene/nodi, l'output LLM può essere utilizzato non modificato come fornito dall'LLM. Nella maggior parte dei casi questa visualizzazione verrà presentata all'utente o potrebbe essere necessaria la trasformazione dei dati per una catena successiva nell'app LLM (nota anche come app Gen).
L'output LLM determinerà a quale catena diramarsi, quindi questi bordi di catena/nodo devono contenere regole e condizioni.
Un'ultima considerazione è l'utilizzo del LLM come classificatore . Gli LLM possono essere implementati in una capacità generativa o predittiva . L'IA generativa è il lato più popolare e più accessibile degli LLM. La previsione è più complicata e richiede una messa a punto più fine o almeno suggerimenti precisi.
Sfruttando un LLM come classificatore (quindi predittivo) all'interno di una catena, rende intelligenti e flessibili i nodi decisionali dell'applicazione di concatenamento.
Ci sarà sempre la tentazione di codificare / scrivere rapidamente il processo decisionale ai margini; detti anche punti di transizione della catena. Questa è una soluzione rapida; ma ancora una volta introduce rigidità nell'applicazione LLM Chaining.
Aiutanti
Gli aiutanti assistono nella valutazione dell'output LLM, considerando aspetti come cortesia, empatia, ecc. Gli aiutanti possono anche riclassificare o inviare nuovamente i suggerimenti.
Poiché la granularità è un requisito per qualsiasi implementazione di produzione, sarà importante modificare l'applicazione concatenata di prompt. Sarà richiesta una forma di scripting per l'elaborazione e la trasformazione dei dati.
Lo scripting incapsula le possibilità di sviluppo fornite all'autore della catena per implementare misure di controllo, trasformazione dei dati e altro ancora.
Comunicazione
La comunicazione avviene su pochi livelli, vi è l'input di dati dell'utente sotto forma di dati conversazionali non strutturati.
Altre azioni dell'utente come chiedere all'utente di selezionare la risposta migliore o disambiguare in base a poche possibilità.
E, naturalmente, i sistemi di terze parti (API) verranno interrogati per qualsiasi implementazione aziendale o di produzione.
Considerando il design di PromptChainer
L' interfaccia di PromptChainer ha un visualizzatore di viste a catena in cui è possibile creare, modificare, leggere ed eliminare la struttura della catena con i bordi dei nodi o "tra le catene" [A].
Il visualizzatore di nodi supporta l'implementazione, il miglioramento e il test di ogni singolo nodo o catena [B]. La modifica dei prompt per ciascun nodo può essere eseguita qui.
PromptChainer supporta anche l'esecuzione della catena end-to-end [C] con opzioni per cancellare la cache, visualizzare i registri di esecuzione, ecc.
Sulla base della ricerca quantitativa eseguita dall'Università di Washington e da Google Research, sono state fatte scoperte su come gli utenti costruiscono ed eseguono il debug delle catene:
[1] Gli utenti desiderano creare catene non solo per mitigare i limiti LLM, ma anche per rendere le loro applicazioni estensibili e scalabili.
[2] Alcuni utenti hanno creato un passaggio di una catena alla volta, mentre altri hanno abbozzato segnaposto astratti per tutti i passaggi prima di riempirli.
[3] Le interazioni tra più prompt e catene LLM possono essere complesse, richiedendo il debug locale e globale dei prompt.
Considerando l'immagine qui sotto, ecco una descrizione per ogni nodo o catena:
[1] Definire l'input di una catena
[2,3] Utilizzare l'output LLM per filtrare e diramare gli input.
[4] Utilizzare l'uscita LLM direttamente come uscita del nodo.
[5] Funzioni JavaScript pre-implementate per la tipica trasformazione dei dati.
[6] Utilizzare l'uscita LLM direttamente come uscita del nodo.
[7] Funzioni esterne di chiamata per connettere servizi professionali con LLM.
[8] Funzioni JS definite dall'utente, nel caso in cui gli helper predefiniti non siano sufficienti.
[9] Utilizzare l'uscita LLM direttamente come uscita del nodo.
[10] Filtrare o riclassificare i risultati LLM in base a criteri progettati dall'uomo, ad esempio la cortesia. Abilita la modifica esterna (utente finale) su punti dati intermedi.
Insomma
Ci sono alcuni termini usati attualmente per applicazioni costruite su Foundation Models e Large Language Models. Questi termini sono Gen Apps, Generative Apps, LLM Apps, Prompt Chaining, LLM Chaining e altro.
Basti dire che è necessario basarsi su modelli di grandi dimensioni e in qualche modo sfruttare la potenza degli LLM.
Questa esigenza sarà sostenuta dai seguenti principi:
- Richiede
- Sfruttando le capacità predittive e generative di LLM.
- Concatenamento di prompt; sia in parallelo che in serie.
- Un editor visivo per la programmazione di catene/nodi e spigoli, tra nodi/catene.
- Trasformazione dei dati di risposta LLM.
- Le applicazioni concatenate LLM saranno conversazionali sia per l'input che per l'output, oppure l'output può anche incapsulare un componente RPA.
Attualmente sono il Chief Evangelist @ HumanFirst . Esploro e scrivo di tutte le cose all'intersezione tra intelligenza artificiale e linguaggio; che vanno da LLM , chatbot , voicebot , framework di sviluppo, spazi latenti incentrati sui dati e altro ancora.
PromptChainer: concatenamento di prompt del modello di linguaggio di grandi dimensioni tramite la programmazione visiva.

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































