Condividi tramite


Usare l'endpoint di inferenza del modello di intelligenza artificiale di Azure

Il servizio di inferenza di Intelligenza artificiale di Azure nei servizi di intelligenza artificiale di Azure consente ai clienti di usare i modelli più potenti dei provider di modelli di punta usando un singolo endpoint e credenziali. Ciò significa che è possibile passare da un modello all'altro e utilizzarli dall'applicazione senza modificare una singola riga di codice.

L'articolo illustra come i modelli sono organizzati all'interno del servizio e come usare l'endpoint di inferenza per richiamarli.

Deployments

Il servizio di inferenza del modello di intelligenza artificiale di Azure rende disponibili i modelli usando il concetto di distribuzione . Le distribuzioni sono un modo per assegnare un nome a un modello in determinate configurazioni. È quindi possibile richiamare tale configurazione del modello indicandone il nome nelle richieste.

Acquisizione delle distribuzioni:

  • Nome di un modello
  • Una versione del modello
  • Tipo diprovisioning/capacità 1
  • Configurazione del filtro delcontenuto 1
  • Configurazione di limitazionedella frequenza 1

1 Le configurazioni possono variare a seconda del modello selezionato.

Una risorsa dei servizi di intelligenza artificiale di Azure può avere tutte le distribuzioni di modelli necessarie e non comporta costi a meno che non venga eseguita l'inferenza per tali modelli. Le distribuzioni sono risorse di Azure e quindi sono soggette ai criteri di Azure.

Per altre informazioni su come creare distribuzioni, vedere Aggiungere e configurare distribuzioni di modelli.

Endpoint di inferenza di Intelligenza artificiale di Azure

L'endpoint di inferenza di Intelligenza artificiale di Azure consente ai clienti di usare un singolo endpoint con lo stesso schema e autenticazione per generare inferenza per i modelli distribuiti nella risorsa. Questo endpoint segue l'API di inferenza del modello di intelligenza artificiale di Azure supportata da tutti i modelli nel servizio di inferenza del modello di intelligenza artificiale di Azure.

È possibile visualizzare l'URL dell'endpoint e le credenziali nella sezione Panoramica . L'endpoint ha in genere il formato https://<resource-name>.services.ai.azure.com/models:

Screenshot che mostra come ottenere l'URL e la chiave associati alla risorsa.

È possibile connettersi all'endpoint usando Azure AI Inference SDK:

Installare il pacchetto azure-ai-inference usando la propria gestione pacchetti, come pip:

pip install azure-ai-inference>=1.0.0b5

Avviso

La risorsa di Servizi di intelligenza artificiale di Azure richiede la versione azure-ai-inference>=1.0.0b5 per Python.

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

client = ChatCompletionsClient(
    endpoint=os.environ["AZUREAI_ENDPOINT_URL"],
    credential=AzureKeyCredential(os.environ["AZUREAI_ENDPOINT_KEY"]),
)

Esplorare gli esempi e leggere la documentazione di riferimento sulle API per iniziare.

Per altri esempi di codice e risorse, vedere Linguaggi e SDK supportati.

Routing

L'endpoint di inferenza instrada le richieste a una determinata distribuzione associando il parametro name all'interno della richiesta al nome della distribuzione. Ciò significa che le distribuzioni funzionano come alias di un determinato modello in determinate configurazioni. Questa flessibilità consente di distribuire più volte un determinato modello nel servizio, ma in configurazioni diverse, se necessario.

Figura che mostra il funzionamento del routing per un modello meta-llama-3.2-8b indicando tale nome nel parametro 'model' all'interno della richiesta di payload.

Ad esempio, se si crea una distribuzione denominata Mistral-large, tale distribuzione può essere richiamata come:

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)

Suggerimento

Il routing della distribuzione non fa distinzione tra maiuscole e minuscole.

Linguaggi e SDK supportati

Tutti i modelli distribuiti nel servizio di inferenza del modello di intelligenza artificiale di Azure supportano l'API di inferenza del modello di intelligenza artificiale di Azure e la famiglia associata di SDK, disponibili nelle lingue seguenti:

Lingua Documentazione Pacchetto Esempi
C# Riferimento azure-ai-inference (NuGet) Esempi di C#
Java Riferimento azure-ai-inference (Maven) Esempi di Java
JavaScript Riferimento @azure/ai-inference (npm) Esempi di JavaScript
Python Riferimento azure-ai-inference (PyPi) Esempi di Python

Endpoint di inferenza OpenAI di Azure

I modelli OpenAI di Azure supportano anche l'API OpenAI di Azure. Questa API espone le funzionalità complete dei modelli OpenAI e supporta funzionalità aggiuntive come assistenti, thread, file e inferenza batch.

Ogni distribuzione del modello OpenAI ha un proprio URL associato a tale distribuzione nell'endpoint di inferenza OpenAI di Azure. Tuttavia, lo stesso meccanismo di autenticazione può essere usato per utilizzarlo. Gli URL sono in genere sotto forma di https://<resource-name>.openai.azure.com/openai/deployments/<model-deployment-name>. Altre informazioni nella pagina di riferimento per l'API OpenAI di Azure

Figura che mostra come le distribuzioni OpenAI di Azure contengono un singolo URL per ogni distribuzione.

Ogni distribuzione ha un URL che corrisponde alle concatenazioni dell'URL di base OpenAI di Azure e della route /deployments/<model-deployment-name>.

Importante

Non esiste alcun meccanismo di routing per l'endpoint OpenAI di Azure, perché ogni URL è esclusivo per ogni distribuzione del modello.

Linguaggi e SDK supportati

L'endpoint OpenAI di Azure è supportato dagli SDK OpenAI (AzureOpenAIclasse) e Azure OpenAI SDK, disponibili in più lingue:

Lingua Codice sorgente Pacchetto Esempi
C# Codice sorgente Azure.AI.OpenAI (NuGet) Esempi di C#
Go Codice sorgente azopenai (Go) Esempi di Go
Java Codice sorgente azure-ai-openai (Maven) Esempi di Java
JavaScript Codice sorgente @azure/openai (npm) Esempi di JavaScript
Python Codice sorgente openai (PyPi) Esempi di Python

Passaggi successivi