Incorporamenti in .NET
Gli incorporamenti sono il modo in cui i LLM acquisiscono il significato semantico. Sono rappresentazioni numeriche di dati non numerici che un LLM può usare per determinare le relazioni tra i concetti. È possibile usare gli incorporamenti per aiutare un modello di intelligenza artificiale a comprendere il significato degli input in modo da poter eseguire confronti e trasformazioni, ad esempio riepilogando il testo o creando immagini da descrizioni di testo. I LLM possono usare immediatamente incorporamenti ed è possibile archiviare incorporamenti in database vettoriali per fornire memoria semantica per i moduli APM in base alle esigenze.
Casi d'uso per gli incorporamenti
Questa sezione elenca i principali casi d'uso per gli incorporamenti.
Usare i propri dati per migliorare la pertinenza del completamento
Usare i propri database per generare incorporamenti per i dati e integrarli con un LLM per renderli disponibili per i completamenti. Questo uso degli incorporamenti è un componente importante della Generazione ottimizzata per il recupero.
Aumentare la quantità di testo che è possibile inserire in un prompt
Usare gli incorporamenti per aumentare la quantità di contesto che è possibile inserire in una richiesta senza aumentare il numero di token necessari.
Si supponga, ad esempio, di voler includere 500 pagine di testo in un prompt. Il numero di token per tale testo non elaborato supererà il limite di token di input, rendendo impossibile l’inclusione diretta in una richiesta. È possibile usare gli incorporamenti per riepilogare e suddividere grandi quantità di testo in parti sufficientemente piccole da adattarsi a un input e quindi valutare la somiglianza di ogni parte con l'intero testo non elaborato. È quindi possibile scegliere un pezzo che mantenga al meglio il significato semantico del testo non elaborato e usarlo nella richiesta senza raggiungere il limite di token.
Eseguire la classificazione, il riepilogo o la traduzione del testo
Usare gli incorporamenti per aiutare un modello a comprendere il significato e il contesto del testo, quindi classificare, riepilogare o tradurre il testo. Ad esempio, è possibile usare incorporamenti per aiutare i modelli a classificare i testi come positivi o negativi, spam o non spam, notizie o opinioni.
Generare e trascrivere audio
Usare incorporamenti audio per elaborare i file audio o gli input nell’app.
Ad esempio, servizio Voce supporta un'ampia gamma di incorporamenti audio, tra cui riconoscimento vocale e sintesi vocale. È possibile elaborare l'audio in tempo reale o in batch.
Trasformare il testo in immagini o immagini in testo
L'elaborazione semantica delle immagini richiede incorporamenti di immagini, che la maggior parte delle macchine virtuali non può generare. Usare un modello di incorporamento delle immagini, ad esempio ViT per creare incorporamenti vettoriali per le immagini. È quindi possibile usare tali incorporamenti con un modello di generazione di immagini per creare o modificare immagini usando testo o viceversa. Ad esempio, è possibile usare il modello DALL·E per generare immagini come logo, visi, animali e paesaggi.
Generare o documentare il codice
Usare gli incorporamenti per consentire a un modello di creare codice da testo o viceversa, convertendo codice o espressioni di testo diverse in una rappresentazione comune. Ad esempio, è possibile usare gli incorporamenti per consentire a un modello di generare o documentare codice in C# o Python.
Scegliere un modello di incorporamento
È possibile generare incorporamenti per i dati non elaborati usando un modello di incorporamento IA, che è in grado di codificare una parte di dati non numerici in un vettore (una matrice lunga di numeri). Il modello può anche decodificare un incorporamento in dati non numerici con lo stesso significato o simile a quello dei dati non elaborati originali. Sono disponibili molti modelli di incorporamento da usare, con il modello text-embedding-ada-002
di OpenAI, che è uno dei modelli comuni usati. Per altri esempi, vedere l'elenco dei modelli di incorporamento disponibili in Azure OpenAI.
Archiviare ed elaborare incorporamenti in un database vettoriale
Dopo aver generato gli incorporamenti, è necessario un modo per archiviarli in modo da poterli recuperare in un secondo momento con chiamate a un LLM. I database vettoriali sono progettati per archiviare ed elaborare vettori, quindi sono una sede naturale per gli incorporamenti. Database vettoriali diversi offrono funzionalità di elaborazione diverse, quindi è consigliabile sceglierne una in base ai dati non elaborati e agli obiettivi. Per informazioni sulle opzioni, vedere soluzioni di database vettoriali disponibili.
Uso degli incorporamenti nella soluzione LLM
Quando si creano applicazioni basate su LLM, è possibile usare il kernel semantico per integrare modelli di incorporamento e archivi vettoriali, in modo da poter eseguire rapidamente il pull dei dati di testo e generare e archiviare incorporamenti. In questo modo è possibile usare una soluzione di database vettoriale per archiviare e recuperare memorie semantiche.