Azure OpenAI Service
Distribuisca un modello GPT in Azure OpenAI Service, chiami l'API completions da uno script e comprenda i principi dell'IA responsabile e le opzioni di filtraggio dei contenuti.
Azure OpenAI Service è una lezione Azure Fundamentals gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Azure Fundamentals, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Azure Fundamentals include 4 lezioni in totale.
Che cos'è Azure OpenAI Service?
Azure OpenAI Service offre accesso ai modelli linguistici di grandi dimensioni di OpenAI, tra cui i modelli GPT-4, GPT-3.5-turbo, DALL-E ed Embeddings, tramite l'infrastruttura cloud Azure di Microsoft. A differenza dell'utilizzo diretto dell'API OpenAI, Azure OpenAI offre funzionalità aziendali: rete privata tramite VNet/Private Link, certificazioni di conformità di Microsoft (ISO 27001, SOC 2, GDPR), filtraggio dei contenuti, tutela della privacy dei dati dei clienti (i dati non vengono utilizzati per addestrare i modelli di base di OpenAI) e integrazione con Azure RBAC e il monitoraggio.
Richiesta di accesso e distribuzione dei modelli
Azure OpenAI richiede una sottoscrizione approvata: l'accesso è soggetto ad approvazione e deve essere richiesto tramite un modulo. Una volta ottenuta l'approvazione, crea una risorsa Azure OpenAI e quindi una distribuzione al suo interno. Una distribuzione associa un modello (ad esempio gpt-4) a un nome di distribuzione (ad esempio my-gpt4) e a una quota di token (limite di token al minuto). Per chiamare l'API utilizza il nome della distribuzione, non il nome del modello di base. In una singola risorsa possono coesistere più distribuzioni con modelli o quote diversi.
# Create an Azure OpenAI resource
az cognitiveservices account create \
--name myOpenAI \
--resource-group myRG \
--kind OpenAI \
--sku S0 \
--location eastus
# Create a deployment
az cognitiveservices account deployment create \
--name myOpenAI \
--resource-group myRG \
--deployment-name my-gpt4 \
--model-name gpt-4 \
--model-version '0613' \
--model-format OpenAI \
--sku-name Standard \
--sku-capacity 10API Chat Completions
L'API chat completions (/openai/deployments/{deployment}/chat/completions) accetta un elenco di messaggi con ruoli (system, user, assistant) e restituisce la risposta del modello. Il messaggio system definisce il comportamento e la personalità del modello. Il messaggio user contiene il prompt o la domanda. I turni precedenti della conversazione vengono inclusi nell'array dei messaggi, così il modello mantiene il contesto durante un dialogo a più turni. La temperatura (0–2) controlla la casualità della risposta.
# Chat completion API call
curl -X POST 'https://myOpenAI.openai.azure.com/openai/deployments/my-gpt4/chat/completions?api-version=2024-02-01' \
-H 'api-key: <key>' \
-H 'Content-Type: application/json' \
-d '{
"messages": [
{"role": "system", "content": "You are a helpful Azure expert."},
{"role": "user", "content": "Explain what a Recovery Services vault is."}
],
"temperature": 0.7,
"max_tokens": 500
}'Nozioni di base sul prompt engineering
Il prompt engineering consiste nell'elaborare messaggi di input efficaci per ottenere i migliori risultati da un modello linguistico. Le tecniche principali includono: prompt di sistema — assegnare al modello un ruolo chiaro e definire i vincoli; esempi few-shot — mostrare al modello da 2 a 5 esempi del formato di input e output desiderato; chain-of-thought — chiedere al modello di ragionare passo dopo passo prima di fornire la risposta finale; vincoli — indicare esplicitamente al modello il formato, la lunghezza e ciò che deve evitare. Prompt ben progettati riducono le allucinazioni e migliorano la coerenza.
Embeddings per la ricerca semantica
Gli Embeddings convertono il testo in un vettore numerico denso che ne cattura il significato semantico. Due testi con significato simile avranno vettori vicini nello spazio vettoriale (misurati tramite la similarità del coseno). L'endpoint embeddings di Azure OpenAI (/embeddings) utilizza il modello text-embedding-ada-002 per generare vettori di 1.536 dimensioni. Gli embeddings vengono utilizzati per creare la ricerca semantica (trovare documenti simili a una query), sistemi di RAG (Retrieval-Augmented Generation) e sistemi di raccomandazione.
# Get an embedding vector for a piece of text
curl -X POST 'https://myOpenAI.openai.azure.com/openai/deployments/my-embedding/embeddings?api-version=2024-02-01' \
-H 'api-key: <key>' \
-H 'Content-Type: application/json' \
-d '{
"input": "Azure Site Recovery replicates VMs to a secondary region."
}'Filtraggio dei contenuti
Azure OpenAI include un sistema multilivello di filtraggio dei contenuti che opera sia sui prompt (input) sia sui completamenti (output). Rileva e blocca i contenuti appartenenti a quattro categorie: odio, sessualità, violenza e autolesionismo. Ogni categoria prevede tre livelli di gravità (basso, medio, alto) e può configurare le soglie di filtraggio per categoria. Vengono filtrati anche i tentativi di prompt injection (jailbreak che cercano di sovrascrivere il prompt di sistema). Il filtraggio dei contenuti è attivo per impostazione predefinita e non può essere disabilitato per la maggior parte dei modelli senza una motivazione legata al caso d'uso.
Generazione aumentata dal recupero (RAG)
RAG basa le risposte del modello linguistico sui propri dati, invece di affidarsi esclusivamente alle conoscenze acquisite durante l'addestramento. Il processo è il seguente: (1) indicizza i documenti in un archivio vettoriale (ad esempio Azure AI Search), (2) quando un utente pone una domanda, crea l'embedding della domanda e cerca nell'archivio vettoriale i frammenti di documento pertinenti, (3) include tali frammenti nel prompt di sistema come contesto, (4) il modello risponde sulla base del contesto fornito. RAG riduce le allucinazioni e consente agli LLM di rispondere a domande su dati privati e aggiornati senza ricorrere al fine-tuning.
Fine-tuning e RAG
Due approcci estendono le funzionalità dei modelli con dati personalizzati. Il fine-tuning addestra una nuova versione del modello sui vostri esempi, incorporando le informazioni nei pesi del modello: è ideale per insegnare al modello stili, formati o comportamenti specifici difficili da descrivere in un prompt. Il RAG recupera le informazioni pertinenti al momento dell'inferenza e le fornisce nel contesto: è più adatto per basi di conoscenza di grandi dimensioni che cambiano frequentemente, poiché è sufficiente aggiornare l'indice vettoriale invece di riaddestrare il modello. Per la maggior parte dei casi d'uso aziendali si preferisce il RAG, grazie ai costi inferiori e alla maggiore rapidità delle iterazioni.
Azure AI Studio (AI Foundry)
Azure AI Studio (in fase di ridenominazione in Azure AI Foundry) è un portale unificato per creare applicazioni di IA generativa in Azure. Offre un playground per testare interattivamente le risposte generate dai modelli, strumenti per valutare la qualità dei modelli rispetto a dataset di riferimento, un designer di prompt flow per creare e distribuire pipeline RAG come API REST, nonché l'integrazione con GitHub e VS Code per i flussi di lavoro degli sviluppatori. Azure AI Studio semplifica il percorso dalla distribuzione del modello alla messa in produzione dell'applicazione di IA.
Prezzi dei token e gestione delle quote
Azure OpenAI applica un prezzo per ogni 1.000 token elaborati; un token corrisponde approssimativamente a 4 caratteri o 0,75 parole. Vengono addebitati sia i token di input (prompt) sia quelli di output (completion). GPT-4 ha un costo per token significativamente superiore a GPT-3.5-turbo. Ogni distribuzione dispone di una quota di token al minuto (TPM) che limita la velocità di elaborazione per prevenire gli abusi. Se l'applicazione supera la quota, l'API restituisce 429 TooManyRequests. È possibile richiedere aumenti della quota oppure implementare sul client un backoff esponenziale e la logica di ritentativo.
IA responsabile per l'IA generativa
Microsoft applica i propri principi di IA responsabile in modo specifico all'IA generativa. Fondamento: le risposte devono basarsi su informazioni verificabili (il RAG è utile a questo scopo). Trasparenza: gli utenti devono sapere che stanno interagendo con un sistema di IA. Prevenzione dei danni: i filtri dei contenuti bloccano gli output dannosi. Privacy: i vostri dati in Azure OpenAI non vengono utilizzati per addestrare i modelli globali di OpenAI. Le applicazioni basate su Azure OpenAI devono includere una valutazione dei rischi del caso d'uso e implementare misure di mitigazione per i danni identificati, come richiesto dalla Acceptable Use Policy di Microsoft.
Verifica rapida
Verificate la vostra comprensione dei concetti di Microsoft Azure Fundamentals (AZ-900) trattati in questa lezione.
Riepilogo della lezione
In questa lezione avete appreso che Azure OpenAI Service offre accesso di livello aziendale a GPT-4 e ad altri modelli, con funzionalità di rete privata e conformità; la chat completions API gestisce conversazioni a più turni utilizzando i ruoli dei messaggi system/user/assistant; infine, embeddings e RAG ancorano le risposte del modello ai vostri dati privati, riducendo le allucinazioni. Prossimamente esploreremo Azure Arc per gestire risorse ibride e locali tramite il piano di controllo di Azure.
Domande Frequenti
La lezione «Azure OpenAI Service» è gratuita?
Sì — il testo completo di «Azure OpenAI Service» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Azure Fundamentals, passa a CoddyKit PRO. Il corso Azure Fundamentals include 4 lezioni in totale.
Cosa imparerò in «Azure OpenAI Service»?
Distribuisca un modello GPT in Azure OpenAI Service, chiami l'API completions da uno script e comprenda i principi dell'IA responsabile e le opzioni di filtraggio dei contenuti. Eserciti Azure Fundamentals con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Azure Fundamentals?
Non è richiesta alcuna esperienza precedente. Azure Fundamentals su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Azure OpenAI Service»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Azure Fundamentals?
Sì. Ogni lezione Azure Fundamentals include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Panoramica di Azure Cognitive Services
- API Language e Vision nella pratica
- Azure Machine Learning Studio
- Azure OpenAI Service