Dela via


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-throughfö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.