Ogni foundation model ha una lunghezza massima del contesto, che è il numero massimo di token consentiti nell'input più l'output generato per un prompt. Se si raggiunge spesso questo limite quando si utilizza un foundation model per completare un'attività, provare una di queste soluzioni alternative.
La lunghezza massima del contesto varia da 4.096 a 131.072 token, a seconda del foundation model . Il limite di lunghezza del contesto può rappresentare un problema, soprattutto quando si utilizza un foundation model per attività di generazione con recupero aumentato, riepilogo o conversazione.
Le seguenti tecniche possono aiutarti a fornire a un foundation model il contesto necessario per completare un'attività senza superare il limite della finestra di contesto del modello.
- Invia meno token con input RAG
- Dividi e conquista attività complesse
- Riepilogo del contesto della finestra di dialogo
- Riduci il tuo conteggio di token con richieste zero - shot
Invio di un numero minore di token con input RAG
La generazione aumentata dal recupero (RAG) è una tecnica in cui un foundation model viene ampliato con conoscenze provenienti da fonti esterne per generare testo. Nella fase di richiamo, i documenti pertinenti da un'origine esterna vengono identificati dalla query dell'utente. Nella fase di generazione, parti di tali documenti vengono incluse nel prompt foundation model per generare una risposta basata sui documenti recuperati.
Se si invia un prompt con troppe informazioni di base, l'input potrebbe superare il limite della finestra di contesto del foundation model . Provare alcune delle seguenti tecniche per aggirare questa limitazione.
- Classifica contenuto per rilevanza
- Riepiloga documenti lunghi
- Generare integrazioni di testo dal contenuto
Per ulteriori informazioni su RAG, consultare RAG (Retrieval - augmented generation).
Classifica contenuto per pertinenza
Utilizzare un foundation model efficace nella classificazione dei contenuti per determinare innanzitutto se un documento può rispondere efficacemente a una domanda prima di includerlo in un prompt.
Ad esempio, è possibile utilizzare un prompt come, For each question and sample document, check whether the document contains the information that is required to answer the question. If the sample document appears to contain information that is useful for answering the question, respond 'Yes'. Otherwise, respond 'No'.
Se si imposta il parametro Numero massimo di token su 1, è più probabile che il modello restituisca una risposta Sì o No.
Utilizzare questo metodo di classificazione per trovare e rimuovere i documenti o le frasi irrilevanti richiamati dalla ricerca. Quindi, ricombina il contenuto rilevante da inviare con la domanda nel prompt foundation model .
Riepiloga documenti lunghi
Per i documenti lunghi, utilizzare un foundation model per riassumere le sezioni del documento. È quindi possibile inviare un riepilogo di tali riepiloghi anziché alimentare il documento intero con il foundation model .
Ad esempio, per generare un riepilogo utile da una lunga trascrizione della riunione, è possibile suddividere la trascrizione in molte parti più piccole e riepilogare ciascuna separatamente. Oppure è possibile ricercare ed estrarre segmenti con contributi da diversi oratori. È quindi possibile concatenare i riepiloghi come contesto per il prompt inviato al foundation model .
Genera integrazioni di testo dal contenuto
Un incorporamento di testo è una rappresentazione numerica di un'unità di informazioni, come una parola o una frase, come un vettore di numeri reali.
Per sfruttare le integrazioni di testo in un caso d'uso RAG, completare la procedura riportata di seguito:
Utilizzare una barra di divisione del testo per suddividere il contenuto in segmenti significativi.
Ad esempio, è possibile utilizzare uno splitter di caratteri ricorsivo per suddividere il documento in segmenti che soddisfano i requisiti di sintassi e di limite di caratteri stabiliti dal foundation model . Vedere LangChain: suddiviso ricorsivamente per carattere .
Utilizzare un modello di inclusione per convertire i blocchi del documento in vettori che catturano il significato del segmento del documento.
Memorizzare i vettori che rappresentano i segmenti del proprio documento in un database di vettori.
In fase di esecuzione, effettuare ricerche nell'archivio vettoriale utilizzando parole chiave o una query di ricerca per recuperare i segmenti di documento più pertinenti da alimentare con il foundation model .
La conversione del testo in incorporamenti riduce le dimensioni del prompt foundation model senza rimuovere le informazioni di base che aiutano il modello a rispondere con risposte fattuali.
Per ulteriori informazioni su come utilizzare i modelli di integrazione IBM per la conversione del testo, vedi Utilizzo del testo vettorizzato con attività di generazione incrementate dal richiamo.
Dividi e conquista compiti complessi
Per casi di utilizzo complessi in cui sono previsti diversi tipi di input e devono essere gestiti in modi diversi, applicare un approccio a più prompt.
Creare diversi prompt mirati, ognuno progettato per un'efficacia ottimale con un unico tipo di input.
Ad esempio, è possibile classificare le domande del cliente nei seguenti tipi: un problema di supporto, una query di vendita o una richiesta di dettagli del prodotto.
Utilizzare un foundation model per classificare l'input in arrivo come uno dei tipi di input predefiniti.
Instradare l'input al prompt di destinazione appropriato in base al tipo di input.
Ad esempio, per la richiesta di dettagli del prodotto, è possibile ricercare il sito Web o altro contenuto di marketing e includere un riepilogo nel prompt. Per i problemi di supporto, è possibile ricercare la knowledge base di risoluzione dei problemi e includere una procedura di soluzione temporanea nel prompt. E per richieste di vendita, è possibile collegare il cliente con un venditore.
Riepiloga contesto finestra di dialogo
Per le attività conversazionali, utilizzare un foundation model per riassumere il contesto degli scambi di dialogo precedenti anziché conservare e reinviare la cronologia della chat con ogni input. Utilizzando la sintesi si riduce il numero di token inviati al foundation model nei turni successivi della conversazione.
Ridurre il numero di token di prompt ottimizzando il modello
Libera i token che potrebbero altrimenti essere utilizzati da istruzioni ed esempi complessi che includi nel tuo prompt ottimizzando il foundation model .
Quando si ottimizza un foundation model , si mostra al modello cosa restituire in output per i tipi di input inviati. È possibile inoltrare richieste zero - shot a un modello ottimizzato e ottenere comunque l'output previsto.
L'ottimizzazione di un modello è utile per le attività di classificazione, riepilogo o estrazione. La messa a punto non è la soluzione migliore quando è necessario che l'output foundation model includa informazioni fattuali.
Per ulteriori informazioni, vedere Ottimizzazione di un foundation model .
Ulteriori informazioni
Argomento principale: Suggerimenti per la richiesta