Sdílet prostřednictvím


Referenční informace k rozhraní REST API pro odvozování modelů Azure AI

Odvození modelu Azure AI je rozhraní API, které zpřístupňuje společnou sadu funkcí pro základní modely a které můžou vývojáři používat k využívání predikcí z různorodé sady modelů jednotným a konzistentním způsobem. Vývojáři můžou mluvit s různými modely nasazenými na portálu Azure AI Foundry beze změny základního kódu, který používají.

Výhody

Základní modely, jako jsou jazykové modely, skutečně v posledních letech učinily pozoruhodné kroky. Tyto pokroky způsobily revoluci v různých oblastech, včetně zpracování přirozeného jazyka a počítačového zpracování obrazu, a povolily aplikace, jako jsou chatovací roboti, virtuální asistenti a služby překladu jazyků.

I když základní modely excelují v konkrétních doménách, nemají jednotnou sadu funkcí. Některé modely jsou lepší v určitém úkolu a dokonce i ve stejném úkolu, některé modely můžou k problému přistupovat jedním způsobem, zatímco jiné v jiném. Vývojáři můžou tuto rozmanitost využít pomocí správného modelu pro správnou úlohu, jim to umožní:

  • Zvýšení výkonu v konkrétní podřízené úloze
  • Efektivnější modely používejte pro jednodušší úlohy.
  • Používejte menší modely, které můžou běžet rychleji u konkrétních úloh.
  • Vytvořte několik modelů pro vývoj inteligentních prostředí.

Jednotné využívání základních modelů umožňuje vývojářům realizovat všechny tyto výhody bez obětování přenositelnosti nebo změny základního kódu.

Podpora sady SDK pro odvození

Balíček odvozování Azure AI umožňuje využívat všechny modely podporující rozhraní API pro odvozování modelů Azure AI a snadno se mezi nimi měnit. Balíček Pro odvozování Azure AI je součástí sady Azure AI Foundry SDK.

Jazyk Dokumentace Balíček Příklady
C# referenční azure-ai-inference (NuGet) příklady jazyka C#
Java referenční azure-ai-inference (Maven) příklady Javy
JavaScript referenční @azure/ai-inference (npm) příklady JavaScriptu
Krajta referenční azure-ai-inference (PyPi) příklady Pythonu

Schopnosti

Následující část popisuje některé možnosti, které rozhraní API zveřejňuje:

Modality

Rozhraní API označuje, jak můžou vývojáři využívat předpovědi pro následující způsoby:

Rozšiřitelnost

Rozhraní API pro odvozování modelů Azure AI určuje sadu způsobů a parametrů, které se modely můžou přihlásit k odběru. Některé modely ale můžou mít další možnosti, které rozhraní API označuje. V těchto případech rozhraní API umožňuje vývojáři předat je jako další parametry v datové části.

Nastavením hlavičky extra-parameters: pass-throughse rozhraní API pokusí předat jakýkoli neznámý parametr přímo do základního modelu. Pokud model dokáže tento parametr zpracovat, požadavek se dokončí.

Následující příklad ukazuje požadavek předaný parametr safe_prompt podporovaný nástrojem Mistral-Large, který není zadaný v rozhraní API pro odvozování modelů Azure AI.

žádost

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
}

Poznámka

Výchozí hodnota pro extra-parameters je error, která vrátí chybu, pokud je v datové části uveden dodatečný parametr. Případně můžete nastavit extra-parameters: drop tak, aby v požadavku zahodil jakýkoli neznámý parametr. Tuto funkci použijte v případě, že odesíláte požadavky s dodatečnými parametry, které znáte, ale chcete, aby se požadavek přesto dokončil. Typickým příkladem je indikující seed parametr.

Modely s různorodou sadou funkcí

Rozhraní API pro odvozování modelů Azure AI označuje obecnou sadu funkcí, ale každý z těchto modelů se může rozhodnout je implementovat nebo ne. V těchto případech se vrátí konkrétní chyba, kdy model nemůže podporovat konkrétní parametr.

Následující příklad ukazuje odpověď na žádost o dokončení chatu označující parametr reponse_format a žádost o odpověď ve formátu JSON. V tomto příkladu se uživateli vrátí chyba 422, protože model takovou schopnost nepodporuje.

žádost

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

odpovědi

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

Spropitné

Vlastnost můžete zkontrolovat details.loc, abyste porozuměli umístění parametru pro off-end a details.input, abyste viděli hodnotu, která byla předána v požadavku.

Bezpečnost obsahu

Rozhraní API pro odvozování modelů Azure AI podporuje zabezpečení obsahu Azure AI. Při použití nasazení s bezpečností obsahu Azure AI se vstupy a výstupy procházejí sadou klasifikačních modelů zaměřených na detekci a zabránění výstupu škodlivého obsahu. Systém filtrování obsahu (Preview) detekuje a provádí akce s konkrétními kategoriemi potenciálně škodlivého obsahu ve vstupních výzev i dokončení výstupu.

Následující příklad ukazuje odpověď na žádost o dokončení chatu, která aktivovala bezpečnost obsahu.

žádost

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

odpovědi

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

Začínáme

Rozhraní API pro odvozování modelů Azure AI je k dispozici na prostředcích azure AI Services. Můžete s ním začít stejně jako s jakýmkoli jiným produktem Azure, ve kterém vytvořit a nakonfigurovat prostředek pro odvozování modelu Azure AInebo instanci služby ve vašem předplatném Azure. Můžete vytvořit tolik prostředků, kolik potřebujete, a nakonfigurovat je nezávisle v případě, že máte více týmů s různými požadavky.

Jakmile vytvoříte prostředek azure AI Services, musíte nasadit model, abyste mohli začít volat rozhraní API. Ve výchozím nastavení nejsou k dispozici žádné modely, takže můžete určit, od kterých modelů začít. Prohlédněte si kurz Vytvoření prvního nasazení modelu vodvozování modelu Azure AI.