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
:
È 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.
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
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 (AzureOpenAI
classe) 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 |