Configurare il progetto di intelligenza artificiale per l'uso dell'inferenza del modello di intelligenza artificiale di Azure
Se si ha già un progetto di intelligenza artificiale in Azure AI Foundry, il catalogo dei modelli distribuisce i modelli da provider di modelli di terze parti come endpoint autonomi nel progetto per impostazione predefinita. Ogni distribuzione del modello ha un proprio set di URI e credenziali per accedervi. D'altra parte, i modelli OpenAI di Azure vengono distribuiti nella risorsa di Servizi di intelligenza artificiale di Azure o nella risorsa del servizio OpenAI di Azure.
È possibile modificare questo comportamento e distribuire entrambi i tipi di modelli nelle risorse di Servizi di intelligenza artificiale di Azure usando l'inferenza del modello di intelligenza artificiale di Azure. Dopo la configurazione, le distribuzioni di modelli come servizio che supportano la fatturazione con pagamento in base al consumo vengono eseguite alla risorsa di Servizi di intelligenza artificiale di Azure connessa al progetto stesso, offrendo un unico set di endpoint e credenziali per accedere a tutti i modelli distribuiti in Azure AI Foundry. È possibile gestire i modelli di provider di modelli OpenAI e di terze parti nello stesso modo.
Inoltre, la distribuzione di modelli nell'inferenza del modello di intelligenza artificiale di Azure offre i vantaggi aggiuntivi di:
- Funzionalità di routing.
- Filtri di contenuto personalizzati.
- Tipo di distribuzione della capacità globale.
- Autenticazione senza chiave con il controllo degli accessi in base al ruolo.
Questo articolo illustra come configurare il progetto per usare i modelli distribuiti nell'inferenza del modello di intelligenza artificiale di Azure nei servizi di intelligenza artificiale di Azure.
Prerequisiti
Per completare questa esercitazione è necessario:
Una sottoscrizione di Azure. Se si usano i modelli GitHub, è possibile aggiornare l'esperienza e creare una sottoscrizione di Azure nel processo. Leggere Eseguire l'aggiornamento da modelli GitHub all'inferenza del modello di intelligenza artificiale di Azure se è il caso.
Una risorsa dei servizi di intelligenza artificiale di Azure. Per altre informazioni, vedere Creare una risorsa di Servizi di intelligenza artificiale di Azure.
Un progetto di intelligenza artificiale di Azure e l'hub di intelligenza artificiale di Azure.
Suggerimento
Quando viene effettuato il provisioning dell'hub di intelligenza artificiale, viene creata una risorsa dei servizi di intelligenza artificiale di Azure e le due risorse connesse. Per visualizzare la risorsa dei servizi di intelligenza artificiale di Azure connessa al progetto, passare al portale>di Azure AI Foundry Management Center>Risorse connesse e trovare le connessioni di tipo Servizi di intelligenza artificiale.
Configurare il progetto per l'uso dell'inferenza del modello di intelligenza artificiale di Azure
Per configurare il progetto per l'uso della funzionalità di inferenza del modello di intelligenza artificiale di Azure in Servizi di intelligenza artificiale di Azure, seguire questa procedura:
Passare al portale di Azure AI Foundry.
Nella barra di spostamento superiore selezionare l'icona Anteprima funzionalità nell'angolo destro. Un pannello contestuale viene visualizzato a destra dello schermo.
Abilitare la funzionalità Distribuire modelli nel servizio di inferenza del modello di intelligenza artificiale di Azure.
Chiudere il pannello.
Nella pagina di destinazione del progetto identificare la risorsa di Servizi di intelligenza artificiale di Azure connessa al progetto. Usare l'elenco a discesa per modificare la risorsa connessa, se necessario.
Se nell'elenco a discesa non è elencata alcuna risorsa, l'hub di intelligenza artificiale non ha una risorsa di Servizi di intelligenza artificiale di Azure connessa. Creare una nuova connessione con:
Nell'angolo inferiore sinistro della schermata selezionare Centro gestione.
Nella sezione Connessioni selezionare Nuova connessione.
Selezionare Servizi di intelligenza artificiale di Azure.
Nel browser cercare una risorsa di Servizi di intelligenza artificiale di Azure esistente nella sottoscrizione.
Selezionare Aggiungi connessione.
La nuova connessione viene aggiunta all'hub.
Tornare alla pagina di destinazione del progetto per continuare e selezionare la nuova connessione creata. Aggiornare la pagina se non viene visualizzata immediatamente.
In Funzionalità incluse assicurarsi di selezionare Inferenza di Intelligenza artificiale di Azure. L'URI dell'endpoint di inferenza del modello di intelligenza artificiale di Azure viene visualizzato insieme alle credenziali per accedervi.
Suggerimento
Ogni risorsa dei servizi di intelligenza artificiale di Azure ha un singolo endpoint di inferenza del modello di intelligenza artificiale di Azure che può essere usato per accedere a qualsiasi distribuzione del modello. Lo stesso endpoint serve più modelli a seconda di quelli configurati. Informazioni sul funzionamento dell'endpoint.
Prendere nota dell'URL dell'endpoint e delle credenziali.
Creare la distribuzione del modello nell'inferenza del modello di intelligenza artificiale di Azure
Per ogni modello da distribuire nell'inferenza del modello di intelligenza artificiale di Azure, seguire questa procedura:
Passare alla sezione Catalogo modelli nel portale di Azure AI Foundry.
Scorrere fino al modello a cui si è interessati e selezionarlo.
È possibile esaminare i dettagli del modello nella scheda del modello.
Seleziona Distribuisci.
Per i provider di modelli che richiedono più termini di contratto, viene chiesto di accettare tali condizioni. Accettare i termini in questi casi selezionando Sottoscrivi e distribuisci.
È possibile configurare le impostazioni di distribuzione in questo momento. Per impostazione predefinita, la distribuzione riceve il nome del modello che si sta distribuendo. Il nome della distribuzione viene usato nel parametro per la
model
richiesta di instradamento a questa distribuzione specifica del modello. Consente di configurare nomi specifici per i modelli quando si allegano configurazioni specifiche. Ad esempio,o1-preview-safe
per un modello con un filtro contenuto di sicurezza del contenuto rigoroso.È stata selezionata automaticamente una connessione ai servizi di intelligenza artificiale di Azure a seconda del progetto perché è stata attivata la funzionalità Distribuire i modelli nel servizio di inferenza del modello di intelligenza artificiale di Azure. Usare l'opzione Personalizza per modificare la connessione in base alle esigenze. Se si esegue la distribuzione con il tipo di distribuzione Standard , i modelli devono essere disponibili nell'area della risorsa di Servizi di intelligenza artificiale di Azure.
Seleziona Distribuisci.
Al termine della distribuzione, vengono visualizzati l'URL dell'endpoint e le credenziali per ottenere l'accesso al modello. Si noti che ora l'URL e le credenziali forniti sono gli stessi visualizzati nella pagina di destinazione del progetto per l'endpoint di inferenza del modello di intelligenza artificiale di Azure.
È possibile visualizzare tutti i modelli disponibili nella risorsa passando alla sezione Modelli e endpoint e individuando il gruppo per la connessione alla risorsa dei servizi di intelligenza artificiale:
Aggiornare il codice con il nuovo endpoint
Dopo aver configurato la risorsa di Servizi di intelligenza artificiale di Azure, è possibile iniziare a usarla dal codice. Sono necessari l'URL e la chiave dell'endpoint, disponibili nella sezione Panoramica :
È possibile usare uno degli SDK supportati per ottenere stime dall'endpoint. Gli SDK seguenti sono ufficialmente supportati:
- OpenAI SDK
- SDK di Azure OpenAI
- Pacchetto di inferenza di Intelligenza artificiale di Azure
- Pacchetto progetti di Intelligenza artificiale di Azure
Per altri dettagli ed esempi, vedere la sezione SDK e lingue supportate. L'esempio seguente illustra come usare il pacchetto di inferenza di intelligenza artificiale di Azure con il modello appena distribuito:
Installare il pacchetto azure-ai-inference
usando la propria gestione pacchetti, come pip:
pip install azure-ai-inference
Quindi, è possibile usare il pacchetto per utilizzare il modello. Gli esempi seguenti mostrano come creare un client per utilizzare i completamenti chat:
import os
from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential
model = ChatCompletionsClient(
endpoint="https://<resource>.services.ai.azure.com/models",
credential=AzureKeyCredential(os.environ["AZUREAI_ENDPOINT_KEY"]),
)
Esplorare gli esempi e leggere la documentazione di riferimento sulle API per iniziare.
Generare il primo completamento della chat:
from azure.ai.inference.models import SystemMessage, UserMessage
response = client.complete(
messages=[
SystemMessage(content="You are a helpful assistant."),
UserMessage(content="Explain Riemann's conjecture in 1 paragraph"),
],
model="mistral-large"
)
print(response.choices[0].message.content)
Usare il parametro model="<deployment-name>
per instradare la richiesta a questa distribuzione.
Le distribuzioni funzionano come alias di un determinato modello in determinate configurazioni. Per informazioni su come instradare le distribuzioni dei servizi di intelligenza artificiale di Azure, vedere la pagina Concetto di routing .
Passare dagli endpoint API serverless all'inferenza del modello di intelligenza artificiale di Azure
Anche se il progetto è stato configurato per l'uso dell'inferenza del modello di intelligenza artificiale di Azure, le distribuzioni di modelli esistenti continuano a esistere all'interno del progetto come endpoint API serverless. Queste distribuzioni non vengono spostate per l'utente. È quindi possibile aggiornare progressivamente qualsiasi codice esistente che faccia riferimento alle distribuzioni di modelli precedenti. Per iniziare a spostare le distribuzioni del modello, è consigliabile il flusso di lavoro seguente:
Ricreare la distribuzione del modello nell'inferenza del modello di intelligenza artificiale di Azure. Questa distribuzione del modello è accessibile nell'endpoint di inferenza del modello di intelligenza artificiale di Azure.
Aggiornare il codice per usare il nuovo endpoint.
Pulire il progetto rimuovendo l'endpoint DELL'API serverless.
Aggiornare il codice con il nuovo endpoint
Dopo aver distribuito i modelli in Servizi di intelligenza artificiale di Azure, è possibile aggiornare il codice per usare l'endpoint di inferenza del modello di intelligenza artificiale di Azure. La differenza principale tra il funzionamento degli endpoint API serverless e l'inferenza del modello di intelligenza artificiale di Azure si trovano nell'URL dell'endpoint e nel parametro del modello. Anche se gli endpoint API serverless hanno un set di URI e chiave per ogni distribuzione del modello, l'inferenza del modello di intelligenza artificiale di Azure ne ha solo una per tutte.
La tabella seguente riepiloga le modifiche da introdurre:
Proprietà | Endpoint API serverless | Inferenza del modello di intelligenza artificiale di Azure |
---|---|---|
Endpoint | https://<endpoint-name>.<region>.inference.ai.azure.com |
https://<ai-resource>.services.ai.azure.com/models |
Credenziali | Uno per modello/endpoint. | Una per risorsa di Servizi di intelligenza artificiale di Azure. È anche possibile usare Microsoft Entra ID. |
Parametro del modello | Nessuno. | Obbligatorio. Usare il nome della distribuzione del modello. |
Pulire gli endpoint DELL'API serverless esistenti dal progetto
Dopo aver eseguito il refactoring del codice, è possibile eliminare gli endpoint API serverless esistenti all'interno del progetto (se presente).
Per ogni modello distribuito come endpoint API serverless, seguire questa procedura:
Passare al portale di Azure AI Foundry.
Selezionare Modelli e endpoint.
Identificare gli endpoint di tipo Serverless e selezionare quello da eliminare.
Selezionare l'opzione Elimina.
Avviso
Questa operazione non può essere ripristinata. Assicurarsi che l'endpoint non sia attualmente usato da nessun altro utente o parte di codice.
Confermare l'operazione selezionando Elimina.
Se è stata creata una connessione API serverless a questo endpoint da altri progetti, tali connessioni non vengono rimosse e continuano a puntare all'endpoint inesistente. Eliminare una di queste connessioni per evitare errori.
Limiti
Quando si configura il progetto per l'uso dell'inferenza del modello di intelligenza artificiale di Azure, prendere in considerazione le limitazioni seguenti:
- Solo i modelli che supportano la fatturazione con pagamento in base al consumo (Modelli come servizio) sono disponibili per la distribuzione nell'inferenza del modello di intelligenza artificiale di Azure. I modelli che richiedono la quota di calcolo dalla sottoscrizione (Managed Compute), inclusi i modelli personalizzati, possono essere distribuiti solo all'interno di un determinato progetto come endpoint online gestiti e continuano ad essere accessibili usando il proprio set di credenziali e URI endpoint.
- I modelli disponibili come fatturazione con pagamento in base al consumo e offerte di calcolo gestite sono, per impostazione predefinita, distribuiti nell'inferenza del modello di intelligenza artificiale di Azure nelle risorse dei servizi di intelligenza artificiale di Azure. Il portale di Azure AI Foundry non offre un modo per distribuirli in endpoint online gestiti. È necessario disattivare la funzionalità indicata in Configurare il progetto per usare l'inferenza del modello di intelligenza artificiale di Azure o usare i modelli dell'interfaccia della riga di comando di Azure/Azure ML SDK/ARM per eseguire la distribuzione.
Passaggi successivi
- Aggiungere altri modelli all'endpoint.