Data di pubblicazione: 23 aprile 2024
Collaboratori: Vrunda Gadesha, Eda Kavlakoglu
Il concatenamento dei prompt è una tecnica di elaborazione del linguaggio naturale (NLP) che utilizza modelli linguistici di grandi dimensioni (LLM) e che prevede la generazione di un output desiderato seguendo una serie di prompt. In questo processo, a un modello di NLP viene fornita una sequenza di prompt, guidandolo a produrre la risposta desiderata. Il modello impara a comprendere il contesto e le relazioni tra i prompt, consentendo di generare testo coerente e contestualmente formattato[1].
Il concetto è l'implementazione avanzata del prompt engineering. Ha guadagnato notevole attenzione nel campo della NLP grazie alla sua capacità di migliorare la qualità e la controllabilità della generazione di testo. Un concatenamento dei prompt efficace può essere implementato come tecnica di engineering rispetto ad altri approcci, come zero-shot, few-shot o modelli personalizzati ottimizzati[2]. Fornendo una direzione e una struttura chiare, il concatenamento dei prompt aiuta il modello a capire meglio le intenzioni dell'utente e a produrre risposte più accurate e pertinenti.
Il concatenamento dei prompt può migliorare l'efficacia dell'assistenza dell'AI in vari domini. Suddividendo le attività complesse in prompt più piccoli e concatenandoli, gli sviluppatori possono creare risposte più personalizzate e accurate su misura per le esigenze dei singoli utenti. Questo approccio non solo migliora l'esperienza complessiva dell'utente, ma consente inoltre una maggiore personalizzazione e adattabilità in risposta alle mutevoli esigenze dell'utente o agli scenari applicativi[3].
Scopri perché l'AI è una priorità per il servizio clienti, come costruire un'AI responsabile e il suo ruolo nell'ottimizzazione dei centri di contatto e nell'aumento dell'esperienza del cliente.
Richiedi una copia della guida CEO all'AI generativa
Esistono due tipi principali di prompt generati quando si lavora con gli LLM. Questi sono:
Si tratta di prompt di base che contengono una singola istruzione o domanda a cui il modello deve rispondere. Vengono in genere utilizzati per avviare una conversazione o per richiedere informazioni. Un esempio di prompt semplice può essere: "Com'è il meteo oggi?"
Questi prompt contengono più istruzioni o domande che richiedono che il modello esegua una serie di azioni o fornisca una risposta dettagliata. Spesso sono utilizzati per facilitare attività più avanzate o per avviare conversazioni più profonde. Un esempio di prompt complesso può essere: "Sto cercando un ristorante che abbia piatti vegani e sia aperto fino alle 22. Puoi consigliarmene uno?"
La conversione di un prompt complesso in una serie di prompt semplici può aiutare a suddividere un'attività complessa in sotto-attività più piccole. Questo approccio può semplificare la conoscenza da parte degli utenti dei passaggi necessari per completare una richiesta e ridurre il rischio di errori o incomprensioni.
Considera uno scenario in cui abbiamo informazioni in lingua spagnola. Dobbiamo estrarne le informazioni, ma non capiamo lo spagnolo. Innanzitutto, dobbiamo tradurre il testo dallo spagnolo all'italiano. Dobbiamo quindi fare una domanda per estrarre le informazioni e tradurre nuovamente le informazioni estratte dall'italiano allo spagnolo. Si tratta di un'attività complessa e, se proviamo a combinare questi passaggi in un unico prompt, questo risulterà eccessivamente complesso, aumentando di conseguenza la probabilità di ulteriori errori nella risposta. Di conseguenza, è meglio convertire un prompt complesso in una sequenza di prompt semplici. Ecco alcuni passaggi da seguire:
In questo caso il nostro prompt complesso è: "Considera questo testo scritto in spagnolo. Traducilo in italiano. Trova tutte le statistiche e i fatti utilizzati in questo testo ed elencali come punti. Traducili di nuovo in spagnolo".
Per convertire questo prompt complesso in semplici prompt, possiamo suddividere l'obiettivo principale in azioni o attività più piccole e possiamo creare una catena dei prompt nel modo seguente:
Una catena dei prompt strutturata è un set predefinito di prompt o domande progettato per guidare un utente attraverso una conversazione o una serie di azioni specifica, garantendo un flusso coerente e controllato di informazioni[4]. Viene spesso utilizzato nel supporto clienti, nel tutoraggio e in altri sistemi interattivi per mantenere la chiarezza, l'accuratezza e l'efficienza dell'interazione. I prompt di una catena sono in genere collegati tra loro, consentendo al sistema di basarsi sulle risposte precedenti e mantenere il contesto. Questo approccio può aiutare a ridurre l'ambiguità, migliorare la soddisfazione dell'utente e consentire una comunicazione più efficace tra esseri umani e macchine.
Inizia raccogliendo una raccolta di prompt pre-scritti che possono essere personalizzati per vari scenari. Questi modelli dovrebbero coprire attività, richieste e domande comuni che gli utenti potrebbero incontrare.
Individua le domande o le istruzioni principali che devono essere trasmesse nella catena dei prompt. Questi prompt devono essere semplici, chiari e diretti e devono poter essere considerati singolarmente.
Stabilisci le informazioni o le azioni specifiche che l'utente deve fornire in risposta a ciascun prompt. Questi input devono essere chiaramente definiti e facili da capire, e devono essere collegati ai prompt corrispondenti nella catena dei prompt.
Utilizza la libreria di riferimento e i prompt primari per creare la catena dei prompt completa. Assicurati che ogni prompt sia collegato logicamente a quello successivo e che all'utente vengano richiesti gli input necessari nei punti appropriati della sequenza.
Una volta creata la catena dei prompt, provala accuratamente per assicurarti che sia facile da capire e completa. Chieda a un campione di utenti di completare la catena dei prompt e raccogli i feedback su eventuali aree di miglioramento.
In base al feedback ricevuto durante i test, apporta le modifiche o i miglioramenti necessari alla catena dei prompt. Questo potrebbe includere la riscrittura di determinati prompt, l'aggiunta o la rimozione di prompt o la modifica dell'ordine in cui vengono presentati i prompt.
Seguendo questi passaggi, i rappresentanti del servizio clienti e i programmatori possono creare catene dei prompt efficaci ed efficienti che aiutano gli utenti attraverso una serie di azioni o attività.
Il concatenamento dei prompt offre diversi vantaggi rispetto ai metodi tradizionali utilizzati nel prompt engineering. Guidando il modello attraverso una serie di prompt, il concatenamento dei prompt migliora la coerenza e la continuità nella generazione del testo, producendo output più accurati e coinvolgenti.
Richiedendo al modello di seguire una serie di prompt, il concatenamento dei prompt aiuta a mantenere la coerenza nella generazione di testo. Questo è particolarmente importante nelle applicazioni in cui è fondamentale mantenere un tono, uno stile o un formato coerenti, come nel caso del supporto clienti o nei ruoli editoriali [5].
Nel supporto clienti, il concatenamento dei prompt può essere utilizzato per garantire una comunicazione coerente con gli utenti. Ad esempio, al bot potrebbe essere richiesto di rivolgersi all'utente con il proprio nome preferito oppure utilizzare un particolare tono di voce durante la conversazione.
Il concatenamento dei prompt offre un maggiore controllo sulla generazione di testo, consentendo agli utenti di specificare con precisione l'output desiderato. Questo è particolarmente utile nelle situazioni in cui i dati di input sono rumorosi o ambigui, in quanto il modello può richiedere di chiarire o perfezionare l'input prima di generare una risposta[6].
In un sistema di sintesi del testo, il concatenamento dei prompt consente agli utenti di controllare il livello di dettaglio e specificità della sintesi generata. Ad esempio, all'utente potrebbe essere prima richiesto di fornire il contenuto che è interessato a riassumere, come un articolo. Potrebbe seguire un prompt per formattare quella sintesi in un formato o modello specifico.
Il concatenamento dei prompt aiuta a ridurre i tassi di errore, fornendo al modello un contesto migliore e un input più mirato. Un concatenamento strutturato dei prompt è utile per ridurre le attività dell'uomo e convalidare il codice e gli output in modo più rapido. Scomponendo l'input in prompt più piccoli e gestibili, il modello può comprendere meglio le intenzioni dell'utente e generare risposte più accurate e pertinenti[7].
In un sistema di traduzione automatica, prima di tradurre una frase, il sistema potrebbe chiedere all'utente di specificare la lingua di origine, la lingua di destinazione e qualsiasi contesto o terminologia pertinente. Questo aiuta il modello a comprendere meglio il testo di origine e a generare una traduzione accurata.
Utilizzando questi vantaggi, il concatenamento dei prompt ha il potenziale per migliorare significativamente le prestazioni e l'efficacia dei modelli NLP in numerose applicazioni, dal supporto clienti alla semplificazione nel campo dell'editoria e della traduzione.
Il concatenamento dei prompt è una tecnica versatile che può essere applicata a un'ampia gamma di casi d'uso, che rientrano principalmente in due categorie: risposta alle domande e attività in più fasi.
Come suggerisce il nome, le attività di risposta alle domande forniscono risposte alle domande più frequenti poste dall'uomo. Il modello automatizza la risposta in base al contesto dei documenti generalmente trovati in una knowledge base. Le applicazioni più comuni includono:
Come ci si potrebbe aspettare, le attività in più fasi sono costituite da una sequenza di passaggi per raggiungere un determinato obiettivo. Ecco alcuni esempi:
Il concatenamento dei prompt è una tecnica potente che può essere utilizzata in una varietà di applicazioni in tempo reale per aiutare a guidare gli utenti e i professionisti attraverso una serie di azioni o attività. Suddividendo le attività complesse in una serie di prompt più semplici, il concatenamento dei prompt può aiutare a garantire che utenti e professionisti comprendano i passaggi necessari per completare una richiesta e offrire così un'esperienza complessiva migliore. Che venga utilizzato nel servizio clienti, nella programmazione o nella formazione, il concatenamento dei prompt può aiutare a semplificare i processi complessi e migliorare l'efficienza e la precisione.
Scopri di più su LangChain, un framework open source utilizzato comunemente per lo sviluppo di app con LLM.
Scopri come concatenare i modelli per generare una sequenza per un sistema generico di domande e risposte.
Scopri come l'AI generativa sta trasformando le imprese, e come preparare la tua organizzazione al futuro.
Le best practice per il prompt engineering con Llama 2.
Pengfei Liu, W. Y. (2021). Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing. ACM Computing Surveys. | |
Gunwoo Yong, K. J. (2022). Prompt engineering for zero‐shot and few‐shot defect detection and classification using a visual‐language pretrained model. | |
O. Marchenko, O. R. (2020). Improving Text Generation Through Introducing Coherence Metrics. Cybernetics and Systems Analysis. | |
Zhifang Guo, Y. L. (2022). Prompts: Controllable Text-To-Speech With Text Descriptions. Zhifang Guo, Yichong Leng, Yihan Wu, Sheng Zhao, Xuejiao Tan. | |
Jason Wei, X. W. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models. | |
Mero, J. (2018). The effects of two-way communication and chat service usage on consumer attitudes in the e-commerce retailing sector. Electronic Markets. | |
Yu Cheng, J. C. (2023). Prompt Sapper: A LLM-Empowered Production Tool for Building AI Chains. ACM Transactions on Software Engineering and Methodology. | |
Tongshuang Sherry Wu, E. J. (2022). PromptChainer: Chaining Large Language Model Prompts through Visual Programming. CHI Conference on Human Factors in Computing Systems Extended Abstracts. | |
Shwetha Sridharan, D. S. (2021). Adaptive learning management expert system with evolving knowledge base and enhanced learnability. Education and Information Technologies. | |
Boshi Wang, X. D. (2022). Iteratively Prompt Pre-trained Language Models for Chain of Thought. Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing. | |
M. Rice, K. M. (2018). Evaluating an augmented remote assistance platform to support industrial applications. IEEE 4th World Forum on Internet of Things (WF-IoT). | |
Cynthia A. Thompson, M. G. (2011). A Personalized System for Conversational Recommendations. J. Artif. Intell. Res. | |
Qing Huang, J. Z. (2023). PCR-Chain: Partial Code Reuse Assisted by Hierarchical Chaining of Prompts on Frozen Copilot. IEEE/ACM 45th International Conference on Software Engineering: Companion Proceedings (ICSE-Companion). | |
Yafeng gu, S. (2023). APICom: Automatic API Completion via Prompt Learning and Adversarial Training-based Data Augmentatio. Proceedings of the 14th Asia-Pacific Symposium on Internetware. | |