Bereitstellen von Mistral-Modellen mit Azure Machine Learning Studio
In diesem Artikel erfahren Sie, wie Sie Azure Machine Learning Studio zum Bereitstellen der Mistral-Modellfamilie als serverlose APIs mit Abrechnung mit nutzungsbasierter Bezahlung verwenden.
Mistral AI bietet zwei Kategorien von Modellen in Azure Machine Learning Studio: Diese Modelle sind im Modellkatalog verfügbar:
- Premium-Modelle: Mistral Large (2402), Mistral Large (2407), Mistral Small und Ministral-3B.
- Offene Modelle: Mistral Nemo, Mixtral-8x7B-Instruct-v01, Mixtral-8x7B-v01, Mistral-7B-Instruct-v01 und Mistral-7B-v01
Alle Premium-Modelle und Mistral Nemo (offenes Modell) können als serverlose APIs mit tokenbasierter Abrechnung bei nutzungsbasierter Bezahlung bereitgestellt werden. Die anderen offenen Modelle können für verwaltete Computeressourcen in Ihrem eigenen Azure-Abonnement bereitgestellt werden.
Sie können die Mistral-Modellfamilie im Modellkatalog durchsuchen, indem Sie nach der Mistral-Sammlung filtern.
Mistral-Modellfamilie
Mistral Large ist das fortschrittlichste Large Language Model (LLM) von Mistral AI. Dank ihrer hochmodernen Begründungs- und Wissensfunktionen kann sie für jede sprachbasierte Aufgabe verwendet werden. Es gibt zwei Varianten für die Modellversion „Mistral Large“:
- Mistral Large (2402)
- Mistral Large (2407)
Außerdem gehören zu den Eigenschaften von Mistral Large (2402) u. a. folgende:
- Spezialisiert auf RAG. Wichtige Informationen gehen in der Mitte langer Kontextfenster (bis zu 32.000 Token) nicht verloren.
- Stark in der Codierung. Codegenerierung, Überprüfung und Kommentierung. Unterstützt alle gängigen Programmiersprachen.
- Hat ein mehrsprachiges Design. Erstklassige Leistung in Französisch, Deutsch, Spanisch und Italienisch - zusätzlich zu Englisch. Dutzende anderer Sprachen werden unterstützt.
- Konform mit verantwortungsvoller KI Effiziente Schutzschienen, die per Baking in das Modell integriert wurden, und eine weitere Sicherheitsschicht mit der Option
safe_mode
.
Eigenschaften von Mistral Large (2407) sind u. a.:
- Mehrsprachiges Design. Unterstützt Dutzende von Sprachen, darunter Englisch, Französisch, Deutsch, Spanisch und Italienisch.
- Kompetent im Codieren. Wurde mit mehr als 80 Codierungssprachen trainiert, einschließlich Python, Java, C, C++, JavaScript und Bash. Außerdem wurde das Modell mit spezifischeren Sprachen wie Swift und Fortran trainiert.
- Agent-zentriert. Verfügt über Agent-Funktionen mit nativen Funktionsaufrufen und JSON-Ausgaben.
- Fortgeschrittene Schlussfolgerungen. Bietet modernste mathematische Funktionen und Schlussfolgerungsfunktionen.
Wichtig
Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar.
Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.
Bereitstellen einer Mistral-Modellfamilie als serverlose API
Bestimmte Modelle im Modellkatalog können als serverlose API mit Abrechnung mit nutzungsbasierter Bezahlung bereitgestellt werden. Diese Art von Bereitstellung bietet eine Möglichkeit, Modelle als API zu nutzen, ohne sie in Ihrem Abonnement zu hosten, während die Unternehmenssicherheit und Compliance beibehalten werden, die Organisationen benötigen. Für diese Bereitstellungsoption ist kein Kontingent aus Ihrem Abonnement erforderlich.
Mistral Large (2402), Mistral Large (2407), Mistral Small und Mistral Nemo können als serverlose API mit Abrechnung mit nutzungsbasierter Bezahlung bereitgestellt werden und werden von Mistral AI über den Microsoft Azure Marketplace angeboten. Mistral KI kann die Nutzungsbedingungen und Preise für diese Modelle ändern oder aktualisieren.
Voraussetzungen
Ein Azure-Abonnement mit einer gültigen Zahlungsmethode. Kostenlose Versionen oder Testversionen von Azure-Abonnements funktionieren nicht. Wenn Sie noch kein Azure-Abonnement haben, erstellen Sie zunächst ein kostenpflichtiges Azure-Konto.
Ein Azure Machine Learning-Arbeitsbereich. Wenn kein Arbeitsbereich vorliegt, führen Sie die Schritte unter Schnellstart: Erstellen von Arbeitsbereichsressourcen aus, um einen zu erstellen. Das Angebot für die Modellimplementierung für serverlose API für geeignete Modelle der Mistral-Familie ist nur in Arbeitsbereichen verfügbar, die in den folgenden Regionen erstellt wurden:
- East US
- USA (Ost) 2
- USA Nord Mitte
- USA Süd Mitte
- USA (Westen)
- USA, Westen 3
- Schweden, Mitte
Eine Liste der Regionen, die für jedes der Modelle verfügbar sind, die Bereitstellungen mit serverlosen API-Endpunkten unterstützen, finden Sie unter Verfügbarkeit von Regionen für Modelle in serverlosen API-Endpunkten.
Die rollenbasierte Zugriffssteuerung in Azure (Azure RBAC) wird verwendet, um Zugriff auf Vorgänge in Azure Machine Learning zu gewähren. Um die Schritte in diesem Artikel auszuführen, muss Ihrem Benutzerkonto die Azure KI-Entwicklerrolle in der Ressourcengruppe zugewiesen sein. Weitere Informationen zu Berechtigungen finden Sie unter Verwalten des Zugriffs auf einen Azure Machine Learning-Arbeitsbereich.
Erstellen einer neuen Bereitstellung
Die folgenden Schritte veranschaulichen die Bereitstellung von Mistral Large (2402), Sie können dieselben Schritte aber auch zum Bereitstellen von Mistral Nemo oder jedes beliebigen Mistral-Premium-Modells verwenden, indem Sie den Modellnamen ersetzen.
So erstellen Sie eine Bereitstellung
Navigieren Sie zu Azure Machine Learning Studio.
Wählen Sie den Arbeitsbereich aus, in dem Sie Ihr Modell bereitstellen möchten. Um das Angebot für die Modellimplementierung für serverlose APIs zu verwenden, muss Ihr Arbeitsbereich zu einer der Regionen gehören, die unter Voraussetzungen aufgeführt sind.
Wählen Sie im Modellkatalog das Modell aus, das Sie bereitstellen möchten, z. B. das Modell „Mistral Large (2402)“.
Alternativ können Sie die Bereitstellung initiieren, indem Sie zu Ihrem Arbeitsbereich wechseln und Endpunkte>Serverlose Endpunkte>Erstellen auswählen.
Wählen Sie auf der Übersichtsseite des Modells im Modellkatalog die Option Bereitstellen aus, um das Fenster für die Bereitstellung als serverlose API zu öffnen.
Aktivieren Sie das Kontrollkästchen, um die Microsoft-Einkaufsrichtlinie zu bestätigen.
Wählen Sie im Bereitstellungsassistenten den Link zu Azure Marketplace-Nutzungsbedingungen aus, um mehr über die Nutzungsbedingungen zu erfahren.
Sie können auch die Registerkarte Preise und Nutzungsbedingungen auswählen, um mehr über die Preise für das ausgewählte Modell zu erfahren.
Wenn Sie das Modell zum ersten Mal im Arbeitsbereich bereitstellen, müssen Sie Ihren Arbeitsbereich für das jeweilige Angebot (z. B. Mistral Large (2402)) im Azure Marketplace abonnieren. Dieser Schritt erfordert, dass Ihr Konto über die Azure KI-Entwicklerrolle für die Ressourcengruppe verfügt, wie in den Voraussetzungen aufgeführt. Jeder Arbeitsbereich verfügt über ein eigenes Abonnement für das jeweilige Azure Marketplace-Angebot, wodurch Sie die Ausgaben steuern und überwachen können. Wählen Sie Abonnieren und bereitstellen aus. Derzeit können Sie nur eine Bereitstellung für jedes Modell innerhalb eines Arbeitsbereichs haben.
Sobald Sie den Arbeitsbereich für das jeweilige Azure Marketplace-Angebot abonniert haben, müssen nachfolgende Bereitstellungen des gleichen Angebots im gleichen Arbeitsbereich nicht mehr abonniert werden. Wenn dieses Szenario für Sie gilt, wird die Option Weiter zur Bereitstellung zum Auswählen angezeigt.
Geben Sie der Bereitstellung einen Namen. Dieser Name wird Teil der Bereitstellungs-API-URL. Diese URL muss in jeder Azure-Region eindeutig sein.
Klicken Sie auf Bereitstellen. Warten Sie, bis die Bereitstellung abgeschlossen ist, und Sie werden zur Seite mit serverlosen Endpunkten umgeleitet.
Wählen Sie den Endpunkt aus, um seine Detailseite zu öffnen.
Wählen Sie die Registerkarte Testen aus, um mit der Interaktion mit dem Modell zu beginnen.
Die Details, die URL und die Zugriffsschlüssel des Endpunkts finden Sie unter Arbeitsbereich>Endpunkte>Serverlose Endpunkte.
Informationen zur Abrechnung für Mistral-Modelle, die als serverlose API mit tokenbasierter Abrechnung mit nutzungsbasierter Bezahlung bereitgestellt werden, finden Sie unter Überlegungen zu Kosten und Kontingenten für die Mistral-Modellfamilie, die als Dienst bereitgestellt werden.
Nutzen der Mistral-Modellfamilie als Dienst
Sie können Mistral-Modelle mithilfe der Chat-API nutzen.
- Wählen Sie im Arbeitsbereich die Optionen Endpunkte>Serverlose Endpunkte aus.
- Suchen Sie die von Ihnen erstellte Bereitstellung, und wählen Sie sie aus.
- Kopieren Sie die Ziel-URL und die Tokenwerte für den Schlüssel.
- Stellen Sie eine API-Anforderung entweder mithilfe der Azure KI Model Inference API auf der Route
/chat/completions
und der nativen Mistral Chat API auf/v1/chat/completions
.
Weitere Informationen zur Verwendung der APIs finden Sie im Abschnitt Referenz.
Referenz für die Mistral-Modellfamilie bei der Bereitstellung als Dienst
Mistral-Modelle akzeptieren sowohl die Azure KI-Modellrückschluss-API auf der Route /chat/completions
als auch die native Mistral Chat-API auf /v1/chat/completions
.
Azure KI-Modellrückschluss-API
Das Azure KI-Modellrückschluss-API-Schema finden Sie im Artikel Referenz für Chat-Fertigstellungen und unter OpenAPI-Spezifikation kann vom Endpunkt selbst abgerufen werden.
Mistral Chat-API
Verwenden Sie die Methode POST
, um die Anforderung an die /v1/chat/completions
-Route zu senden:
Anforderung
POST /v1/chat/completions HTTP/1.1
Host: <DEPLOYMENT_URI>
Authorization: Bearer <TOKEN>
Content-type: application/json
Anforderungsschema
Die Nutzlast ist eine JSON-formatierte Zeichenfolge mit den folgenden Parametern:
Schlüssel | Typ | Standard | Beschreibung |
---|---|---|---|
messages |
string |
Keine Standardeinstellung. Dieser Wert muss angegeben werden. | Die Nachricht oder der Verlauf von Nachrichten, die bzw. der als Prompt für das Modell fungieren soll. |
stream |
boolean |
False |
Beim Streaming können die generierten Token immer dann als vom Server gesendete Ereignisse (nur Daten) gesendet werden, wenn sie verfügbar sind. |
max_tokens |
integer |
8192 |
Die maximale Anzahl von Token, die in der Vervollständigung generiert werden. Die Tokenanzahl Ihres Prompts plus max_tokens darf die Kontextlänge des Modells nicht überschreiten. |
top_p |
float |
1 |
Eine Alternative zur Stichprobenentnahme mit Temperatur, die sogenannte Kernstichprobenentnahme, bei dem das Modell die Ergebnisse der Token mit der Wahrscheinlichkeitsmasse top_p berücksichtigt. Daher bedeutet 0,1, dass nur die Token berücksichtigt werden, die die oberen 10 % der Wahrscheinlichkeitsmasse umfassen. Wir empfehlen im Allgemeinen, top_p oder temperature zu ändern, aber nicht beides. |
temperature |
float |
1 |
Die zu verwendende Temperatur für die Stichprobenentnahme zwischen 0 und 2. Je höher der Wert, desto breiter die Stichprobenentnahme für die Tokenverteilung. Null bedeutet eine „gierige“ Stichprobenentnahme. Es wird empfohlen, diesen Parameter oder top_p zu ändern, aber nicht beide. |
ignore_eos |
boolean |
False |
Gibt an, ob das EOS-Token ignoriert und die Generierung von Token fortgesetzt werden soll, nachdem das EOS-Token generiert wurde. |
safe_prompt |
boolean |
False |
Gibt an, ob vor allen Unterhaltungen eine Sicherheitsaufforderung eingefügt werden soll. |
Das messages
-Objekt weist die folgenden Felder auf:
Schlüssel | type | Wert |
---|---|---|
content |
string |
Der Inhalt der Nachricht. Inhalt ist für alle Nachrichten erforderlich. |
role |
string |
Die Rolle des Erstellers oder der Erstellerin der Nachricht. Einer der folgenden Werte: system , user oder assistant . |
Anforderungsbeispiel
Text
{
"messages":
[
{
"role": "system",
"content": "You are a helpful assistant that translates English to Italian."
},
{
"role": "user",
"content": "Translate the following sentence from English to Italian: I love programming."
}
],
"temperature": 0.8,
"max_tokens": 512,
}
Antwortschema
Die Antwortnutzlast ist ein Wörterbuch mit den folgenden Feldern:
Schlüssel | type | Beschreibung |
---|---|---|
id |
string |
Eindeutiger Bezeichner für die Vervollständigung |
choices |
array |
Die Liste der Vervollständigungsoptionen, die das Modell für die Eingabenachrichten generiert hat |
created |
integer |
Der Unix-Zeitstempel (in Sekunden) des Zeitpunkts, zu dem die Vervollständigung erstellt wurde |
model |
string |
Die für die Vervollständigung verwendete Modell-ID (model_id) |
object |
string |
Der Objekttyp, der immer chat.completion ist. |
usage |
object |
Nutzungsstatistiken für die Vervollständigungsanforderung |
Tipp
Im Streamingmodus ist finish_reason
für jeden Antwortblock immer null
, mit Ausnahme des letzten, der durch die Nutzlast [DONE]
beendet wird. In jedem choices
-Objekt wird der Schlüssel für messages
durch delta
geändert.
Das choices
-Objekt ist ein Wörterbuch mit den folgenden Feldern:
Schlüssel | type | Beschreibung |
---|---|---|
index |
integer |
Auswahlindex. Bei best_of > 1 hat der Index in diesem Array möglicherweise nicht die richtige Reihenfolge und ist u. U. nicht 0 bis n-1 . |
messages oder delta |
string |
Ergebnis der Chatvervollständigung im messages -Objekt. Wenn der Streamingmodus verwendet wird, wird der Schlüssel delta verwendet. |
finish_reason |
string |
Der Grund, warum das Modell das Generieren von Token beendet hat: - stop : Das Modell trifft auf einen natürlichen Beendigungspunkt oder auf eine bereitgestellte Beendigungssequenz. - length : Die maximale Anzahl von Token wurde erreicht. - content_filter : RAI führt die Moderation aus, und CMP erzwingt die Moderation. - content_filter_error : Fehler während der Moderation. Es konnte keine Entscheidung über die Antwort getroffen werden. - null : Die API-Antwort wird noch ausgeführt oder ist unvollständig. |
logprobs |
object |
Die logarithmierten Wahrscheinlichkeiten der generierten Token im Ausgabetext |
Das usage
-Objekt ist ein Wörterbuch mit den folgenden Feldern:
Schlüssel | type | Wert |
---|---|---|
prompt_tokens |
integer |
Anzahl der Token im Prompt. |
completion_tokens |
integer |
Die Anzahl der Token, die in der Vervollständigung generiert werden |
total_tokens |
integer |
Token insgesamt |
Das logprobs
-Objekt ist ein Wörterbuch mit den folgenden Feldern:
Schlüssel | type | Wert |
---|---|---|
text_offsets |
array von integers |
Die Position oder der Index der einzelnen Token in der Vervollständigungsausgabe. |
token_logprobs |
array von float |
Ausgewählte logprobs -Werte aus dem Wörterbuch im Array top_logprobs |
tokens |
array von string |
Ausgewählte Token |
top_logprobs |
array von dictionary |
Array des Wörterbuchs. In jedem Wörterbuch ist der Schlüssel das Token, und der Wert ist die Wahrscheinlichkeit. |
Beispielantwort
Der folgende JSON-Code ist eine Beispielantwort:
{
"id": "12345678-1234-1234-1234-abcdefghijkl",
"object": "chat.completion",
"created": 2012359,
"model": "",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "Sure, I\'d be happy to help! The translation of ""I love programming"" from English to Italian is:\n\n""Amo la programmazione.""\n\nHere\'s a breakdown of the translation:\n\n* ""I love"" in English becomes ""Amo"" in Italian.\n* ""programming"" in English becomes ""la programmazione"" in Italian.\n\nI hope that helps! Let me know if you have any other sentences you\'d like me to translate."
}
}
],
"usage": {
"prompt_tokens": 10,
"total_tokens": 40,
"completion_tokens": 30
}
}
Modellrückschluss: Beispiele
Beispieltyp | Beispielnotebook |
---|---|
CLI mit CURL- und Python-Webanforderungen | webrequests.ipynb |
OpenAI SDK (experimentell) | openaisdk.ipynb |
LangChain | langchain.ipynb |
Mistral AI | mistralai.ipynb |
LiteLLM | litellm.ipynb |
Kosten und Kontingente
Kosten- und Kontingentüberlegungen zur Mistral-Modellfamilie bei der Bereitstellung als Dienst
Mistral-Modelle, die als Dienst bereitgestellt werden, werden von Mistral AI über den Azure Marketplace angeboten und zur Verwendung in Azure Machine Learning Studio integriert. Sie finden Azure Marketplace-Preise bei der Bereitstellung der Modelle.
Jedes Mal, wenn ein Arbeitsbereich ein bestimmtes Modellangebot aus dem Azure Marketplace abonniert, wird eine neue Ressource erstellt, um die mit der Nutzung verbundenen Kosten nachzuverfolgen. Die gleiche Ressource wird zum Nachverfolgen der Kosten im Zusammenhang mit Rückschluss verwendet. Es stehen jedoch mehrere Verbrauchseinheiten zur Verfügung, um die einzelnen Szenarien unabhängig voneinander nachzuverfolgen.
Weitere Informationen zum Nachverfolgen von Kosten finden Sie unter Überwachen der Kosten für Modelle, die über den Azure Marketplace angeboten werden.
Das Kontingent wird pro Bereitstellung verwaltet. Jede Bereitstellung hat eine Rate von 200.000 Token pro Minute und 1.000 API-Anforderungen pro Minute. Derzeit wird jedoch eine Bereitstellung pro Modell und Arbeitsbereich beschränkt. Wenden Sie sich an den Microsoft Azure-Support, wenn die aktuellen Ratenbegrenzungen für Ihre Szenarien nicht ausreichen.
Inhaltsfilterung
Modelle, die als Dienst mit nutzungsbasierter Bezahlung bereitgestellt werden, werden durch Azure KI Inhaltssicherheit geschützt. Wenn Azure KI Inhaltssicherheit aktiviert ist, durchlaufen sowohl Prompt als auch Vervollständigung ein Ensemble von Klassifizierungsmodellen, das darauf abzielt, die Ausgabe schädlicher Inhalte zu erkennen und zu verhindern. Das System zur Inhaltsfilterung (Vorschau) erkennt bestimmte Kategorien potenziell schädlicher Inhalte sowohl in Eingabeprompts als auch in Ausgabevervollständigungen und ergreift entsprechende Maßnahmen. Erfahren Sie mehr über Azure KI Inhaltssicherheit.