Delen via


Naslaginformatie over REST API voor Azure AI-modeldeductie

De deductie van het Azure AI-model is een API die een algemene set mogelijkheden voor basismodellen beschikbaar maakt en die door ontwikkelaars kan worden gebruikt om voorspellingen van een diverse set modellen op een uniforme en consistente manier te gebruiken. Ontwikkelaars kunnen communiceren met verschillende modellen die zijn geïmplementeerd in de Azure AI Foundry-portal zonder de onderliggende code te wijzigen die ze gebruiken.

Voordelen

Basismodellen, zoals taalmodellen, hebben de afgelopen jaren inderdaad opmerkelijke stappen gezet. Deze ontwikkelingen hebben een revolutie teweeggebracht in verschillende velden, waaronder verwerking van natuurlijke taal en computer vision, en ze hebben toepassingen zoals chatbots, virtuele assistenten en vertaalservices voor talen ingeschakeld.

Hoewel basismodellen excelleren in specifieke domeinen, hebben ze geen uniforme set mogelijkheden. Sommige modellen zijn beter bij specifieke taken en zelfs voor dezelfde taak, sommige modellen kunnen het probleem op de ene manier benaderen, terwijl andere in een andere. Ontwikkelaars kunnen profiteren van deze diversiteit door het juiste model te gebruiken voor de juiste taak ze in staat te stellen het volgende te doen:

  • Verbeter de prestaties in een specifieke downstream-taak.
  • Gebruik efficiëntere modellen voor eenvoudigere taken.
  • Gebruik kleinere modellen die sneller kunnen worden uitgevoerd voor specifieke taken.
  • Stel meerdere modellen samen om intelligente ervaringen te ontwikkelen.

Door een uniforme manier te hebben om basismodellen te gebruiken, kunnen ontwikkelaars al deze voordelen realiseren zonder de draagbaarheid op te offeren of de onderliggende code te wijzigen.

Ondersteuning voor deductie-SDK

Met het Azure AI-deductiepakket kunt u alle modellen gebruiken die de deductie-API van het Azure AI-model ondersteunen en deze eenvoudig wijzigen. Het Azure AI-deductiepakket maakt deel uit van de Azure AI Foundry SDK.

Taal Documentatie Pak Voorbeelden
C# azure-ai-deductie (NuGet) C#-voorbeelden
Java azure-ai-deductie (Maven) Java-voorbeelden
JavaScript @azure/ai-deductie (npm) JavaScript-voorbeelden
Python azure-ai-deductie (PyPi) Python-voorbeelden

Mogelijkheden

In de volgende sectie worden enkele van de mogelijkheden beschreven die de API beschikbaar maakt:

Modaliteiten

De API geeft aan hoe ontwikkelaars voorspellingen kunnen gebruiken voor de volgende modaliteiten:

  • Informatie ophalen: retourneert de informatie over het model dat is geïmplementeerd onder het eindpunt.
  • Text embeddings: Hiermee maakt u een insluitvector die de invoertekst vertegenwoordigt.
  • Chat is voltooid: hiermee maakt u een modelantwoord voor het opgegeven chatgesprek.
  • insluitingen van afbeeldingen: hiermee maakt u een insluitvector die de invoertekst en afbeelding vertegenwoordigt.

Uitbreidbaarheid

De Azure AI-modeldeductie-API geeft een set modaliteiten en parameters op waarop modellen zich kunnen abonneren. Sommige modellen kunnen echter nog meer mogelijkheden hebben die de API aangeeft. In deze gevallen kan de API de ontwikkelaar deze doorgeven als extra parameters in de nettolading.

Door een header in te stellen extra-parameters: pass-through, probeert de API een onbekende parameter rechtstreeks door te geven aan het onderliggende model. Als het model deze parameter kan verwerken, wordt de aanvraag voltooid.

In het volgende voorbeeld ziet u een aanvraag die de parameter doorgeeft safe_prompt die wordt ondersteund door Mistral-Large, die niet is opgegeven in de Azure AI-modeldeductie-API.

aanvragen

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
}

Notitie

De standaardwaarde voor extra-parameters is error die een fout retourneert als een extra parameter wordt aangegeven in de nettolading. U kunt ook extra-parameters: drop instellen om een onbekende parameter in de aanvraag te verwijderen. Gebruik deze mogelijkheid voor het geval u aanvragen verzendt met extra parameters die u weet dat het model geen ondersteuning biedt, maar u wilt dat de aanvraag toch wordt voltooid. Een typisch voorbeeld hiervan is het aangeven van seed parameter.

Modellen met verschillende mogelijkheden

De Azure AI-modeldeductie-API geeft een algemene set mogelijkheden aan, maar elk van de modellen kan besluiten deze te implementeren of niet. Er wordt een specifieke fout geretourneerd in deze gevallen waarin het model geen ondersteuning biedt voor een specifieke parameter.

In het volgende voorbeeld ziet u het antwoord voor een voltooiingsaanvraag voor een chat met de parameter reponse_format en het vragen om een antwoord in JSON indeling. Omdat het model in het voorbeeld geen ondersteuning biedt voor dergelijke mogelijkheden, wordt fout 422 geretourneerd aan de gebruiker.

aanvragen

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" },
}

antwoord

{
    "status": 422,
    "code": "parameter_not_supported",
    "detail": {
        "loc": [ "body", "response_format" ],
        "input": "json_object"
    },
    "message": "One of the parameters contain invalid values."
}

Fooi

U kunt de eigenschap controleren details.loc om inzicht te hebben in de locatie van de offending-parameter en details.input om de waarde te zien die is doorgegeven in de aanvraag.

Inhoudsveiligheid

De Azure AI-modeldeductie-API ondersteunt Azure AI Content Safety. Wanneer u implementaties met Azure AI Content Safety gebruikt, passeren invoer en uitvoer een ensemble van classificatiemodellen die zijn gericht op het detecteren en voorkomen van de uitvoer van schadelijke inhoud. Het systeem voor inhoudsfiltering (preview) detecteert en onderneemt actie op specifieke categorieën van mogelijk schadelijke inhoud in invoerprompts en uitvoervoltooiingen.

In het volgende voorbeeld ziet u het antwoord voor een voltooiingsaanvraag voor een chat die de veiligheid van inhoud heeft geactiveerd.

aanvragen

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,
}

antwoord

{
    "status": 400,
    "code": "content_filter",
    "message": "The response was filtered",
    "param": "messages",
    "type": null
}

Slag

Azure AI-modeldeductie-API is beschikbaar op Azure AI Services-resources. U kunt ermee aan de slag gaan op dezelfde manier als elk ander Azure-product waar u uw resource maakt en configureert voor azure AI-modeldeductie, of het exemplaar van de service, in uw Azure-abonnement. U kunt zoveel resources maken als nodig is en deze onafhankelijk configureren voor het geval u meerdere teams met verschillende vereisten hebt.

Zodra u een Azure AI Services-resource hebt gemaakt, moet u een model implementeren voordat u API-aanroepen kunt maken. Standaard zijn er geen modellen beschikbaar, zodat u kunt bepalen vanaf welke modellen u wilt beginnen. Zie de zelfstudie Uw eerste modelimplementatie maken in azure AI-modeldeductie.