Panoramica dei completamenti di Azure OpenAI e testo
Il Servizio OpenAI di Azure consente all'API REST di accedere ai potenti modelli linguistici di OpenAI, tra cui le serie di modelli GPT-3.5 e GPT-4. Questi modelli possono essere facilmente adattati all'attività specifica, includendo ma non limitandosi alla generazione di contenuti, al riepilogo, alla ricerca semantica e al linguaggio naturale per la traduzione del codice.
Oltre all'accesso all'API REST, esiste un SDK .NET per accedere al Servizio OpenAI di Azure. Lo useremo per compilare l'applicazione. Tuttavia, prima di creare l'applicazione, si apprenderà un po' di più sulle caratteristiche di OpenAI di Azure e dei completamenti di testo. Questa conoscenza ci fornisce la base che ci serve per creare applicazioni incredibili con l'intelligenza artificiale.
Panoramica di Azure OpenAI
Il Servizio OpenAI di Azure offre ai clienti un'intelligenza artificiale avanzata del linguaggio con modelli OpenAI GPT-3.5, GPT-4, Codex e DALL-E, con in più la promessa di sicurezza ed organizzazione di Azure. OpenAI di Azure sviluppa le API unitamente a OpenAI, garantendo la compatibilità e una transizione uniforme da una all'altra.
Con OpenAI di Azure i clienti accedono alle funzionalità di sicurezza di Microsoft Azure eseguendo gli stessi modelli di OpenAI. OpenAI di Azure offre reti private, disponibilità a livello di area, filtri contenuto di Intelligenza artificiale responsabile e possibilità di estendere il modello con i propri dati.
L'endpoint di completamento è il componente principale del servizio API. Questa API fornisce l'accesso all'interfaccia "testo in ingresso e testo in uscita" del modello. Gli utenti devono semplicemente fornire un prompt di input contenente il comando di testo inglese e il modello genererà un completamento del testo.
Completamenti del testo
In questa unità verranno fornite informazioni sui completamento del testo. L'endpoint di completamento può essere usato per un'ampia gamma di attività. Fornisce un'interfaccia di testo semplice ma potente per uno qualsiasi dei modelli OpenAI di Azure. È possibile immettere un testo come prompt e il modello genererà un completamento del testo che tenterà di corrispondere a qualsiasi contesto o modello fornito. Ad esempio, se si assegna all'API il prompt, "Come ha detto Cartesio, penso, dunque sono", restituisce il completamento "Sono" con probabilità elevata.
I risultati effettivi del completamento visualizzati possono variare perché l'intelligenza artificiale è probabilistica per impostazione predefinita. In altre parole, è possibile ottenere un completamento leggermente diverso ogni volta che lo si chiama, anche se la richiesta rimane invariata.
Questa interfaccia semplice, "testo in ingresso, testo in uscita" significa che è possibile "programmare" il modello fornendo istruzioni o solo alcuni esempi di ciò che si vuole fare. Il suo successo dipende in genere dalla complessità dell'attività e della qualità del prompt. Una regola generale consiste nel pensare a come scrivere un problema di parole che possa essere risolto da un giovane studente. Un prompt ben scritto fornisce informazioni sufficienti per permettere al modello di sapere cosa si desidera e come deve rispondere.
Si esaminerà come scrivere un buon prompt più avanti, ma per ora si esamineranno i diversi tipi di completamento.
Tipi di completamento di OpenAI di Azure
Come accennato, si passa una richiesta all'API OpenAI di Azure che fornisce istruzioni su ciò che si vuole eseguire. Il modello può, ad esempio, classificare testo, generare idee o anche tradurre testo in emoji.
Classificazione
Per questo primo tipo di completamento, esaminiamo come "programmare" il modello con istruzioni.
È possibile indicare al modello di ordinare i dati in categorie predefinite. Questo tipo di completamento è noto come Classificazione.
Ad esempio, è possibile passare istruzioni o un prompt, come se si seguisse l'API di completamento:
This is a sentiment classifier
Example: "I loved the new movie!"
Sentiment: Positive
Example: "I hate it when my phone battery dies"
Sentiment: Negative
Example: "My day has been 👍"
Sentiment: Positive
Example: "This is the link to the article"
Sentiment: Neutral
Examples:
1. "I loved the new Batman movie!"
2. "I hate it when my phone battery dies"
3. "My day has been 👍"
4. "This is the link to the article"
5. "This new music video blew my mind"
Examples sentiment ratings:
1: Positive
2: Negative
3: Positive
4: Neutral
5: Positive
Create sentiments for:
1. "I can't stand homework"
2. "This is no fun. I'm bored 😠"
3. "I can't wait for Halloween!!!"
4. "My cat is adorable ❤️❤️"
5. "I hate chocolate"
Sentiment classifications:
1.
Dopo aver visualizzato i 4 modelli di esempio di una frase classificata per valutazione, vengono forniti un elenco di esempi e quindi un elenco di classificazioni di valutazione con lo stesso indice numerico. L'API è in grado di recuperare le modalità di output delle valutazioni classificate.
E ciò ci porta a ciò che vogliamo che il modello faccia: gli forniamo 5 valutazioni da classificare e vogliamo che generi la classificazione di ciascuna valutazione in un elenco ordinato.
Ciò consente al modello di valutare cinque e più esempi in una sola chiamata.
È possibile iniziare a vedere come il prompt o il testo passato al modello sia il linguaggio di programmazione.
Generazione
Una delle attività più potenti ma più semplici che è possibile eseguire con i vari modelli GPT consiste nel generare nuove idee o versioni di input. È possibile assegnare al modello un elenco di alcune idee per una storia ed esso cercherà di ingrandire tale esempio. Abbiamo visto che crea piani aziendali, descrizioni dei caratteri e slogan di marketing anche solo fornendogli una manciata di esempi.
Conversazione
Il modello è estremamente valido nell'intraprendere conversazioni con gli esseri umani e anche con se stesso. Con poche righe di istruzione, abbiamo visto il modello fungere da chatbot del servizio clienti che risponde in modo intelligente alle domande senza mai irritarsi, oppure come partner di conversazione intelligente che fa scherzi e battute.
Trasformazione
Il modello è un modello linguistico che ha familiarità con un'ampia gamma di modi in cui le parole e i caratteri possono essere usati per esprimere le informazioni. Questi modi vanno da operazioni da testo a codice nel linguaggio naturale a lingue diverse dall'inglese. Il modello è anche in grado di comprendere il contenuto in un modo che gli consente di riepilogare, convertire ed esprimerlo in modi diversi.
Traduzione
Il modello comprende già molte lingue, ad esempio francese, quindi non è necessario insegnarlo. È invece sufficiente fornire abbastanza esempi della traduzione nel prompt in modo da fargli comprendere che sta traducendo da una lingua a un'altra.
Conversione
In questo esempio viene convertito il nome di un film in emoji. In questo modo viene illustrata l'adattabilità del modello per raccogliere modelli e usare altri caratteri.
Qui ci aspettiamo che l'output sia una rappresentazione emoji del film Spider-Man.
Back to Future: 👨👴🚗🕒
Batman: 🤵🦇
Transformers: 🚗🤖
Wonder Woman: 👸🏻👸🏼👸🏽👸🏾👸🏿
Spider-Man: 🕸🕷🕸🕸🕷🕸
Winnie the Pooh: 🐻🐼🐻
The Godfather: 👨👩👧🕵🏻♂️👲💥
Game of Thrones: 🏹🗡🗡🏹
Spider-Man:
Riepilogo
Il modello è in grado di cogliere il contesto del testo e di riformularlo in modi diversi. Ad esempio, può accettare un blocco di testo e creare una spiegazione comprensibile a un bambino.
Completion
Anche se tutti i prompt generano un completamento, può essere utile pensare al completamento del testo come un'attività a sé nelle istanze in cui si vuole che il modello riprenda da dove si era interrotto. Ad esempio, se gli viene dato questo prompt, il modello continuerà il pensiero sull'agricoltura verticale.
Vertical farming provides a novel solution for producing food locally, reducing transportation costs and
Risposte effettive
I modelli linguistici di grandi dimensioni hanno molte conoscenze, apprese dai loro dati di training. Hanno anche la possibilità di fornire risposte che sembrano reali ma sono di fatto inventate. Esistono due modi per limitare la probabilità che gli LLMS inventino una risposta.
1. Fornire una verità di base per l'API Se si fornisce al modello un corpo di testo per rispondere alle domande (come una voce di Wikipedia) è meno probabile che la risposta venga inventata.
2. Usare una bassa probabilità e mostrare all'API come dire "Non so" Se il modello capisce che, quando è meno certo di una risposta, è appropriato dire "Non so" o una variazione della stessa espressione, sarà meno propenso a creare risposte.
In questo esempio vengono forniti esempi di modelli di domande e risposte conosciuti e quindi esempi di cose che non sa insieme a punti interrogativi. È anche possibile impostare la probabilità su zero in modo che il modello risponda con più probabilità con un "?" in caso di dubbi.
Q: Who is Batman?
A: Batman is a fictional comic book character.
Q: What is torsalplexity?
A: ?
Q: What is Devz9?
A: ?
Q: Who is George Lucas?
A: George Lucas is American film director and producer famous for creating Star Wars.
Riepilogo
Il Servizio OpenAI di Azure consente all'API REST di accedere ai potenti modelli linguistici di OpenAI, tra cui le serie di modelli GPT-3.5 e GPT-4. Offre anche le funzionalità di sicurezza e aziendali basate sul cloud di Azure.
Una delle funzionalità più utili dei modelli linguistici OpenAI è il completamento del testo. Si passa una richiesta o una descrizione in lingua normale di ciò che si vuole che il modello esegua e potrà eseguire attività come classificazione del testo, generazione di testo o riepilogo del testo.