Freigeben über


Referenz zur Azure AI-Modellinference-REST-API

Die Ableitung des Azure AI-Modells ist eine API, die einen gemeinsamen Satz von Funktionen für foundationale Modelle verfügbar macht und von Entwicklern verwendet werden kann, um Vorhersagen aus einer Vielzahl von Modellen einheitlich und konsistent zu nutzen. Entwickler können mit verschiedenen Modellen sprechen, die im Azure AI Foundry-Portal bereitgestellt werden, ohne den zugrunde liegenden Code zu ändern, den sie verwenden.

Nützt

Grundlegende Modelle wie Sprachmodelle haben in den letzten Jahren in der Tat bemerkenswerte Fortschritte erzielt. Diese Fortschritte haben verschiedene Bereiche revolutioniert, einschließlich natürlicher Sprachverarbeitung und Computervision, und sie haben Anwendungen wie Chatbots, virtuelle Assistenten und Sprachübersetzungsdienste ermöglicht.

Während grundlegende Modelle in bestimmten Domänen excelieren, fehlen sie an einer einheitlichen Reihe von Funktionen. Einige Modelle sind bei bestimmten Vorgängen besser und sogar über denselben Vorgang hinweg besser, einige Modelle können sich dem Problem in einer Weise nähern, während andere in einer anderen. Entwickler können von dieser Vielfalt profitieren, indem sie das richtige Modell für den richtigen Job verwenden es ihnen ermöglichen:

  • Verbessern Sie die Leistung in einem bestimmten nachgeschalteten Vorgang.
  • Verwenden Sie effizientere Modelle für einfachere Aufgaben.
  • Verwenden Sie kleinere Modelle, die für bestimmte Aufgaben schneller ausgeführt werden können.
  • Verfassen Sie mehrere Modelle, um intelligente Erfahrungen zu entwickeln.

Wenn Sie eine einheitliche Möglichkeit haben, foundationale Modelle zu nutzen, können Entwickler all diese Vorteile erkennen, ohne die Portabilität zu beeinträchtigen oder den zugrunde liegenden Code zu ändern.

Inference SDK-Unterstützung

Das Azure AI Inference-Paket ermöglicht es Ihnen, alle Modelle zu nutzen, die die Azure AI-Modell-Ableitungs-API unterstützen und sich leicht unter ihnen ändern. Das Azure AI Inference-Paket ist Teil des Azure AI Foundry SDK.

Sprache Dokumentation Paket Beispiele
C# Referenz- azure-ai-inference (NuGet) C#-Beispiele
Java Referenz- azure-ai-inference (Maven) Java-Beispiele
JavaScript Referenz- @azure/ai-inference (npm) JavaScript-Beispiele
Python Referenz- azure-ai-inference (PyPi) Python-Beispiele

Fähigkeiten

Im folgenden Abschnitt werden einige der Funktionen beschrieben, die die API verfügbar macht:

Modalitäten

Die API gibt an, wie Entwickler Vorhersagen für die folgenden Modalitäten nutzen können:

Dehnbarkeit

Die Azure AI Model Inference-API gibt eine Reihe von Modalitäten und Parametern an, die Modelle abonnieren können. Einige Modelle verfügen jedoch möglicherweise über weitere Funktionen, die die API angibt. In diesen Fällen ermöglicht die API dem Entwickler, sie als zusätzliche Parameter in der Nutzlast zu übergeben.

Durch Festlegen eines Headers extra-parameters: pass-throughversucht die API, einen unbekannten Parameter direkt an das zugrunde liegende Modell zu übergeben. Wenn das Modell diesen Parameter verarbeiten kann, wird die Anforderung abgeschlossen.

Das folgende Beispiel zeigt eine Anforderung, die den Parameter safe_prompt von Mistral-Large unterstützt, der nicht in der Azure AI Model Inference-API angegeben ist.

anfordern

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
}

Anmerkung

Der Standardwert für extra-parameters ist error, der einen Fehler zurückgibt, wenn ein zusätzlicher Parameter in der Nutzlast angegeben ist. Alternativ können Sie extra-parameters: drop festlegen, um einen unbekannten Parameter in der Anforderung abzulegen. Verwenden Sie diese Funktion, falls Sie Anforderungen mit zusätzlichen Parametern senden, die Sie wissen, dass das Modell nicht unterstützt wird, die Anforderung aber trotzdem abgeschlossen werden soll. Ein typisches Beispiel hierfür ist das Angeben seed Parameters.

Modelle mit unterschiedlichen Funktionen

Die Azure AI Model Inference-API gibt einen allgemeinen Satz von Funktionen an, aber jedes der Modelle kann sich entscheiden, sie zu implementieren oder nicht. Ein bestimmter Fehler wird in fällen zurückgegeben, in denen das Modell einen bestimmten Parameter nicht unterstützen kann.

Das folgende Beispiel zeigt die Antwort für eine Chatabschlussanfrage, die den Parameter reponse_format angibt und eine Antwort im JSON Format anfordert. Da das Modell diese Funktion im Beispiel nicht unterstützt, wird ein Fehler 422 an den Benutzer zurückgegeben.

anfordern

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

Antwort-

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

Trinkgeld

Sie können die Eigenschaft details.loc überprüfen, um die Position des problematischen Parameters zu verstehen und details.input, um den Wert anzuzeigen, der in der Anforderung übergeben wurde.

Inhaltssicherheit

Die Azure AI-Modell-Ableitungs-API unterstützt Azure AI Content Safety. Bei der Verwendung von Bereitstellungen mit Azure AI Content Safety durchlaufen Eingaben und Ausgaben ein Ensemble von Klassifizierungsmodellen, die darauf abzielen, die Ausgabe schädlicher Inhalte zu erkennen und zu verhindern. Das System zur Inhaltsfilterung (Vorschau) erkennt und führt Maßnahmen für bestimmte Kategorien potenziell schädlicher Inhalte sowohl in Eingabeaufforderungen als auch in Ausgabeabschlussen aus.

Das folgende Beispiel zeigt die Antwort auf eine Chatabschlussanfrage, die die Sicherheit von Inhalten ausgelöst hat.

anfordern

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

Antwort-

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

Erste Schritte

Die Azure AI-Modell-Ableitungs-API ist in Azure AI Services-Ressourcen verfügbar. Sie können damit auf die gleiche Weise wie jedes andere Azure-Produkt beginnen, in dem Sie Ihre Ressource für azure AI-Modellableitungenoder Instanz des Diensts in Ihrem Azure-Abonnement erstellen und konfigurieren. Sie können beliebig viele Ressourcen erstellen und unabhängig konfigurieren, falls Sie über mehrere Teams mit unterschiedlichen Anforderungen verfügen.

Nachdem Sie eine Azure AI Services-Ressource erstellt haben, müssen Sie ein Modell bereitstellen, bevor Sie mit der Erstellung von API-Aufrufen beginnen können. Standardmäßig sind keine Modelle verfügbar, sodass Sie steuern können, von welchen Modellen sie beginnen sollen. Weitere Informationen finden Sie im Lernprogramm Erstellen Ihrer ersten Modellbereitstellung in Azure AI-Modellinference.