Rest API-referens för Azure AI-modellinferens
Azure AI-modellinferens är ett API som exponerar en gemensam uppsättning funktioner för grundläggande modeller och som kan användas av utvecklare för att använda förutsägelser från en mängd olika modeller på ett enhetligt och konsekvent sätt. Utvecklare kan prata med olika modeller som distribueras i Azure AI Foundry-portalen utan att ändra den underliggande kod de använder.
Fördelar
Grundläggande modeller, som språkmodeller, har verkligen gjort anmärkningsvärda framsteg under de senaste åren. Dessa framsteg har revolutionerat olika områden, inklusive bearbetning av naturligt språk och visuellt innehåll, och de har aktiverat program som chattrobotar, virtuella assistenter och språköversättningstjänster.
Även om grundläggande modeller utmärker sig i specifika domäner saknar de en enhetlig uppsättning funktioner. Vissa modeller är bättre på specifika uppgifter och även i samma uppgift kan vissa modeller närma sig problemet på ett sätt medan andra i en annan. Utvecklare kan dra nytta av den här mångfalden genom att använda rätt modell för rätt jobb så att de kan:
- Förbättra prestandan i en specifik nedströmsaktivitet.
- Använd effektivare modeller för enklare uppgifter.
- Använd mindre modeller som kan köras snabbare på specifika uppgifter.
- Skapa flera modeller för att utveckla intelligenta upplevelser.
Med ett enhetligt sätt att använda grundläggande modeller kan utvecklare utnyttja alla dessa fördelar utan att offra portabilitet eller ändra den underliggande koden.
Stöd för slutsatsdragnings-SDK
Med Azure AI Inference-paketet kan du använda alla modeller som stöder Azure AI-modellinferens-API:et och enkelt ändra dem. Azure AI Inference-paketet är en del av Azure AI Foundry SDK.
Språk | Dokumentation | Paket | Exempel |
---|---|---|---|
C# | referens | azure-ai-inference (NuGet) | C#-exempel |
Java | referens | azure-ai-inference (Maven) | Java-exempel |
JavaScript | referens | @azure/ai-slutsatsdragning (npm) | JavaScript-exempel |
Pytonorm | referens | azure-ai-inference (PyPi) | Python-exempel |
Kapacitet
I följande avsnitt beskrivs några av de funktioner som API:et exponerar:
Modaliteter
API:et anger hur utvecklare kan använda förutsägelser för följande metoder:
- Hämta information: Returnerar informationen om modellen som distribueras under slutpunkten.
- Textinbäddningar: Skapar en inbäddningsvektor som representerar indatatexten.
- Chattavslut: Skapar ett modellsvar för den angivna chattkonversationen.
- Bildinbäddningar: Skapar en inbäddningsvektor som representerar indatatexten och bilden.
Utökningsbarhet
AZURE AI Model Inference API anger en uppsättning modaliteter och parametrar som modeller kan prenumerera på. Vissa modeller kan dock ha ytterligare funktioner som API:et anger. I dessa fall tillåter API:et att utvecklaren skickar dem som extra parametrar i nyttolasten.
Genom att ange en rubrik extra-parameters: pass-through
försöker API:et skicka okända parametrar direkt till den underliggande modellen. Om modellen kan hantera den parametern slutförs begäran.
I följande exempel visas en begäran som skickar parametern safe_prompt
som stöds av Mistral-Large, som inte anges i AZURE AI Model Inference API.
Begäran
POST /chat/completions?api-version=2024-05-01-preview
Authorization: Bearer <bearer-token>
Content-Type: application/json
extra-parameters: pass-through
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Explain Riemann's conjecture in 1 paragraph"
}
],
"temperature": 0,
"top_p": 1,
"response_format": { "type": "text" },
"safe_prompt": true
}
Not
Standardvärdet för extra-parameters
är error
som returnerar ett fel om en extra parameter anges i nyttolasten. Du kan också ange extra-parameters: drop
att släppa en okänd parameter i begäran. Använd den här funktionen om du råkar skicka begäranden med extra parametrar som du vet att modellen inte stöder, men du vill att begäran ska slutföras ändå. Ett typiskt exempel på detta är att ange seed
parameter.
Modeller med olika uppsättning funktioner
Azure AI Model Inference API anger en allmän uppsättning funktioner, men var och en av modellerna kan välja att implementera dem eller inte. Ett specifikt fel returneras i de fall där modellen inte kan stödja en specifik parameter.
I följande exempel visas svaret på en begäran om chattavslut som anger parametern reponse_format
och som ber om ett svar i JSON
format. I exemplet returneras felet 422 till användaren eftersom modellen inte stöder den här funktionen.
Begäran
POST /chat/completions?api-version=2024-05-01-preview
Authorization: Bearer <bearer-token>
Content-Type: application/json
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Explain Riemann's conjecture in 1 paragraph"
}
],
"temperature": 0,
"top_p": 1,
"response_format": { "type": "json_object" },
}
Svar
{
"status": 422,
"code": "parameter_not_supported",
"detail": {
"loc": [ "body", "response_format" ],
"input": "json_object"
},
"message": "One of the parameters contain invalid values."
}
Dricks
Du kan granska egenskapen details.loc
för att förstå platsen för den felande parametern och details.input
för att se värdet som skickades i begäran.
Innehållssäkerhet
Azure AI-modellinferens-API:et stöder Azure AI Content Safety. När du använder distributioner med Azure AI Content Safety på passerar indata och utdata genom en uppsättning klassificeringsmodeller som syftar till att identifiera och förhindra utdata från skadligt innehåll. Systemet för innehållsfiltrering (förhandsversion) identifierar och vidtar åtgärder för specifika kategorier av potentiellt skadligt innehåll i både inkommande prompter och slutföranden av utdata.
I följande exempel visas svaret på en begäran om chattavslut som har utlöst innehållssäkerhet.
Begäran
POST /chat/completions?api-version=2024-05-01-preview
Authorization: Bearer <bearer-token>
Content-Type: application/json
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Chopping tomatoes and cutting them into cubes or wedges are great ways to practice your knife skills."
}
],
"temperature": 0,
"top_p": 1,
}
Svar
{
"status": 400,
"code": "content_filter",
"message": "The response was filtered",
"param": "messages",
"type": null
}
Komma igång
Azure AI-modellinferens-API är tillgängligt på Azure AI Services-resurser. Du kan komma igång med det på samma sätt som andra Azure-produkter där du skapa och konfigurera din resurs för Azure AI-modellinferens, eller instans av tjänsten, i din Azure-prenumeration. Du kan skapa så många resurser som behövs och konfigurera dem separat om du har flera team med olika krav.
När du har skapat en Azure AI Services-resurs måste du distribuera en modell innan du kan börja göra API-anrop. Som standard är inga modeller tillgängliga på den, så du kan styra vilka som ska startas från. Se självstudien Skapa din första modelldistribution i Azure AI-modellinferens.