Verwenden der Meta Llama-Familie von Modellen mit Azure Machine Learning Studio
In diesem Artikel erfahren Sie mehr über die Familie der Meta Llama Modelle (LLMs). Meta Llama-Modelle und Tools sind eine Sammlung vortrainierter und optimierter Text- und Bildansatzmodelle mit generativer KI, die von SLMs (1B- und 3B-Basismodelle und -Instruct-Modelle) für Rückschlüsse auf dem Gerät und am Edge und mittelgroßen LLMs (7B-, 8B- und 70B-Basismodelle und -Instruct-Modelle) bis hin zu hochleistungsfähigen Modellen wie Meta Llama 3.1 405B Instruct für synthetische Datengenerierung und Destillation reichen.
Tipp
Im Meta-Blog und Microsoft Tech Community-Blog finden Sie unsere Ankündigungen zu den Llama 3.2-Familienmodellen von Meta, die jetzt im Azure KI-Modellkatalog verfügbar sind.
Sehen Sie sich die folgenden GitHub-Beispiele an, um Integrationen mit LangChain, LiteLLM, OpenAI und der Azure API zu erkunden.
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.
Meta Llama-Modellfamilie
Zu den Meta Llama-Modellfamilien gehören die folgenden Modelle:
Die Llama 3.2-Sammlung von SLMs und Bildansatzmodellen ist jetzt verfügbar. In Kürze werden Llama 3.2 11B Vision Instruct und Llama 3.2 90B Vision Instruct als serverloser API-Endpunkt über Models-as-a-Service verfügbar sein. Ab heute stehen die folgenden Modelle für die Bereitstellung über verwaltetes Compute zur Verfügung:
- Llama 3.2 1B
- Llama 3.2 3B
- Llama 3.2 1B Instruct
- Llama 3.2 3B Instruct
- Llama Guard 3 1B
- Llama Guard 11B Vision
- Llama 3.2 11B Vision Instruct
- Llama 3.2 90B Vision Instruct ist für die Bereitstellung von verwaltetem Compute verfügbar.
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.
Einen Azure Machine Learning-Arbeitsbereich und eine Compute-Instanz. Falls Sie nicht über diese Komponenten verfügen, führen Sie die Schritte unter Schnellstart: So erstellen Sie Arbeitsbereichsressourcen, die Sie für die ersten Schritte mit Azure Machine Learning benötigen aus, um sie zu erstellen. Das Angebot für die Modellimplementierung als serverlose API für Meta Llama 3.1 oder Llama 3 ist nur mit 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 Rolle Besitzer oder Mitwirkender für das Azure-Abonnement zugewiesen werden. Alternativ kann Ihrem Konto eine benutzerdefinierte Rolle zugewiesen werden, die über die folgenden Berechtigungen verfügt:
Für das Azure-Abonnement: Zum Abonnieren des Arbeitsbereichs für das Azure Marketplace-Angebot, einmal für jeden Arbeitsbereich pro Angebot:
Microsoft.MarketplaceOrdering/agreements/offers/plans/read
Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
Microsoft.SaaS/register/action
Für die Ressourcengruppe: Zum Erstellen und Verwenden der SaaS-Ressource:
Microsoft.SaaS/resources/read
Microsoft.SaaS/resources/write
Für den Arbeitsbereich: Zum Bereitstellen von Endpunkten (die Azure Machine Learning-Rolle „Wissenschaftliche Fachkraft für Daten“ enthält diese Berechtigungen bereits):
Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*
Weitere Informationen zu Berechtigungen finden Sie unter Verwalten des Zugriffs auf einen Azure Machine Learning-Arbeitsbereich.
Erstellen einer neuen Bereitstellung
So erstellen Sie eine Bereitstellung
Navigieren Sie zu Azure Machine Learning Studio.
Wählen Sie den Arbeitsbereich aus, in dem Sie Ihre Modelle bereitstellen möchten. Damit Sie das Modellimplementierungsangebot mit nutzungsbasierter Bezahlung verwenden können, muss Ihr Arbeitsbereich zu einer der verfügbaren Regionen gehören, die in den Voraussetzungen dieses Artikels aufgeführt sind.
Wählen Sie
Meta-Llama-3.1-405B-Instruct
für eine Bereitstellung aus dem Modellkatalog.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 Seite Details für
Meta-Llama-3.1-405B-Instruct
die Option Bereitstellen und dann Serverlose API mit Azure KI Inhaltssicherheit aus.Wählen Sie im Bereitstellungs-Assistenten den Link zu Azure Marketplace-Nutzungsbedingungen aus, um mehr über die Nutzungsbedingungen zu erfahren. Sie können auch die Registerkarte Marketplace – Angebotsdetails 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.
Meta-Llama-3.1-405B-Instruct
) im Azure Marketplace abonnieren. Für diesen Schritt muss Ihr Konto über die Azure-Abonnementberechtigungen und Ressourcengruppenberechtigungen verfügen, die in den Voraussetzungen aufgeführt sind. 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.Hinweis
Für das Abonnieren eines Arbeitsbereichs für ein bestimmtes Azure Marketplace-Angebot (in diesem Fall Llama-3-70B) muss Ihr Konto über Zugriff vom Typ Mitwirkender oder Besitzer auf der Abonnementebene verfügen, auf der das Projekt erstellt wird. Alternativ kann Ihrem Benutzerkonto eine benutzerdefinierte Rolle zugewiesen werden, die über die Azure-Abonnementberechtigungen und Ressourcengruppenberechtigungen verfügt, die in den Voraussetzungen aufgeführt sind.
Sobald Sie den Arbeitsbereich für das jeweilige Azure Marketplace-Angebot registriert haben, müssen nachfolgende Bereitstellungen des gleichen Angebots im gleichen Arbeitsbereich nicht mehr abonniert werden. Daher müssen Sie nicht über die Berechtigungen auf Abonnementebene für nachfolgende Bereitstellungen verfügen. Wenn dieses Szenario für Sie gilt, wählen Sie Bereitstellung fortsetzen aus.
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.
Sie können auch die Ziel-URL und den Wert für Geheimer Schlüssel notieren, um die Bereitstellung aufzurufen und Vervollständigungen zu generieren.
Die Details, die URL und die Zugriffsschlüssel des Endpunkts finden Sie unter Arbeitsbereich>Endpunkte>Serverlose Endpunkte.
Informationen zur Abrechnung für Meta Llama-Modelle, die als serverlose API bereitgestellt werden, finden Sie unter Kosten- und Kontingentüberlegungen für Meta Llama-Modelle, die als serverlose API bereitgestellt werden.
Nutzen von Meta Llama-Modellen als Dienst
Modelle, die als Dienst bereitgestellt werden, können entweder mithilfe der Chat- oder der Vervollständigungs-API genutzt werden, abhängig vom bereitgestellten Modelltyp.
Wählen Sie im Arbeitsbereich die Optionen Endpunkte>Serverlose Endpunkte aus.
Suchen Sie die von Ihnen erstellte
Meta-Llama-3.1-405B-Instruct
-Bereitstellung, und wählen Sie diese aus.Kopieren Sie die Ziel-URL und die Tokenwerte für den Schlüssel.
Senden Sie eine API-Anforderung basierend auf dem Typ des bereitgestellten Modells.
- Verwenden Sie für Vervollständigungsmodelle wie
Llama-3-8B
die<target_url>/v1/completions
-API. - Verwenden Sie für Chatmodelle wie
Meta-Llama-3.1-405B-Instruct
die/chat/completions
-API.
Weitere Informationen zur Verwendung der APIs finden Sie im Abschnitt Referenz.
- Verwenden Sie für Vervollständigungsmodelle wie
Referenz für Meta Llama 3.1-Modelle, die als serverlose API bereitgestellt werden
Llama-Modelle akzeptieren sowohl die Azure KI Model Inference-API auf der Route /chat/completions
als auch eine Llama-Chat-API auf /v1/chat/completions
. Auf die gleiche Weise können Textabschlusse mithilfe der Azure AI Model Inference-API auf der Route /completions
oder einer Llama Completions-API auf /v1/completions
generiert werden
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.
Vervollständigungs-API
Verwenden Sie die Methode POST
, um die Anforderung an die /v1/completions
-Route zu senden:
Anforderung
POST /v1/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 |
---|---|---|---|
prompt |
string |
Keine Standardeinstellung. Dieser Wert muss angegeben werden. | Der Prompt, der an das Modell gesendet werden 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 |
16 |
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. Wir empfehlen, dies oder top_p zu ändern, aber nicht beides. |
n |
integer |
1 |
Wie viele Vervollständigungen für jede Äußerung generiert werden sollen. Hinweis: Da dieser Parameter viele Vervollständigungen generiert, kann Ihr Tokenkontingent schnell aufgebraucht sein. |
stop |
array |
null |
Zeichenfolge oder eine Liste von Zeichenfolgen, die das Wort enthalten, bei dem die API das Generieren weiterer Token beendet. Der zurückgegebene Text wird die Beendigungssequenz nicht enthalten. |
best_of |
integer |
1 |
Generiert serverseitige best_of -Vervollständigungen und gibt die „beste“ zurück (diejenige mit der geringsten logarithmierten Wahrscheinlichkeit pro Token). Die Ergebnisse können nicht gestreamt werden. Wenn Sie diese Funktion zusammen mit n verwenden, steuert best_of die Anzahl der möglichen Vervollständigungen, und n gibt an, wie viele zurückgegeben werden sollen – „best_of“ muss größer als n sein. Hinweis: Da dieser Parameter viele Vervollständigungen generiert, kann Ihr Tokenkontingent schnell aufgebraucht sein. |
logprobs |
integer |
null |
Eine Zahl, die angibt, dass die logarithmierten Wahrscheinlichkeiten für die wahrscheinlichsten Token von logprobs sowie die ausgewählten Token eingeschlossen werden sollen. Wenn logprobs z. B. 10 ist, gibt die API eine Liste der 10 wahrscheinlichsten Token zurück. Die API gibt immer „logprob“ des Tokens der Stichprobenentnahme zurück, sodass die Antwort bis zu „logprobs +1“ Elemente enthalten kann. |
presence_penalty |
float |
null |
Eine Zahl zwischen -2,0 und 2,0. Positive Werte benachteiligen neue Token, je nachdem, ob sie bereits im Text vorkommen, und erhöhen so die Wahrscheinlichkeit, dass das Modell über neue Themen spricht. |
ignore_eos |
boolean |
True |
Gibt an, ob das EOS-Token ignoriert und die Generierung von Token fortgesetzt werden soll, nachdem das EOS-Token generiert wurde. |
use_beam_search |
boolean |
False |
Gibt an, ob die Strahlsuche anstelle der Stichprobenentnahme verwendet werden soll. In diesem Fall muss best_of größer als 1 und temperature muss 0 sein. |
stop_token_ids |
array |
null |
Liste der IDs für Token, die beim Generieren die weitere Tokengenerierung beenden. Die zurückgegebene Ausgabe enthält die Stopptoken, es sei denn, die Stopptoken sind spezielle Token. |
skip_special_tokens |
boolean |
null |
Gibt an, ob spezielle Token in der Ausgabe übersprungen werden sollen. |
Beispiel
Text
{
"prompt": "What's the distance to the moon?",
"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 Eingabeaufforderung 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 text_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.
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. |
text |
string |
Vervollständigungsergebnis |
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. |
Beispiel
{
"id": "12345678-1234-1234-1234-abcdefghijkl",
"object": "text_completion",
"created": 217877,
"choices": [
{
"index": 0,
"text": "The Moon is an average of 238,855 miles away from Earth, which is about 30 Earths away.",
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 7,
"total_tokens": 23,
"completion_tokens": 16
}
}
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 |
16 |
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. Wir empfehlen, dies oder top_p zu ändern, aber nicht beides. |
n |
integer |
1 |
Wie viele Vervollständigungen für jede Äußerung generiert werden sollen. Hinweis: Da dieser Parameter viele Vervollständigungen generiert, kann Ihr Tokenkontingent schnell aufgebraucht sein. |
stop |
array |
null |
Zeichenfolge oder eine Liste von Zeichenfolgen, die das Wort enthalten, bei dem die API das Generieren weiterer Token beendet. Der zurückgegebene Text wird die Beendigungssequenz nicht enthalten. |
best_of |
integer |
1 |
Generiert serverseitige best_of -Vervollständigungen und gibt die „beste“ zurück (diejenige mit der geringsten logarithmierten Wahrscheinlichkeit pro Token). Die Ergebnisse können nicht gestreamt werden. Wenn Sie diese Funktion zusammen mit n verwenden, steuert best_of die Anzahl der möglichen Vervollständigungen, und n gibt an, wie viele zurückgegeben werden sollen – best_of muss größer als n sein. Hinweis: Da dieser Parameter viele Vervollständigungen generiert, kann Ihr Tokenkontingent schnell aufgebraucht sein. |
logprobs |
integer |
null |
Eine Zahl, die angibt, dass die logarithmierten Wahrscheinlichkeiten für die wahrscheinlichsten Token von logprobs sowie die ausgewählten Token eingeschlossen werden sollen. Wenn logprobs z. B. 10 ist, gibt die API eine Liste der 10 wahrscheinlichsten Token zurück. Die API gibt immer „logprob“ des Tokens der Stichprobenentnahme zurück, sodass die Antwort bis zu „logprobs +1“ Elemente enthalten kann. |
presence_penalty |
float |
null |
Eine Zahl zwischen -2,0 und 2,0. Positive Werte benachteiligen neue Token, je nachdem, ob sie bereits im Text vorkommen, und erhöhen so die Wahrscheinlichkeit, dass das Modell über neue Themen spricht. |
ignore_eos |
boolean |
True |
Gibt an, ob das EOS-Token ignoriert und die Generierung von Token fortgesetzt werden soll, nachdem das EOS-Token generiert wurde. |
use_beam_search |
boolean |
False |
Gibt an, ob die Strahlsuche anstelle der Stichprobenentnahme verwendet werden soll. In diesem Fall muss best_of größer als 1 und temperature muss 0 sein. |
stop_token_ids |
array |
null |
Liste der IDs für Token, die beim Generieren die weitere Tokengenerierung beenden. Die zurückgegebene Ausgabe enthält die Stopptoken, es sei denn, die Stopptoken sind spezielle Token. |
skip_special_tokens |
boolean |
null |
Gibt an, ob spezielle Token in der Ausgabe übersprungen werden sollen. |
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 . |
Beispiel
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. |
Beispiel
Im Folgenden sehen Sie 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
}
}
Bereitstellen von Meta Llama-Modellen für verwaltete Computeressourcen
Abgesehen von der Bereitstellung mit dem verwalteten Dienst mit nutzungsbasierter Bezahlung können Sie auch Meta Llama 3.1-Modelle auf verwaltete Computeressourcen in Azure Machine Learning Studio bereitstellen. Bei der Bereitstellung auf verwalteten Computeressourcen können Sie alle Details zu der Infrastruktur auswählen, in der das Modell ausgeführt wird, einschließlich der zu verwendenden VMs und der Anzahl der Instanzen, die für die Verarbeitung der erwarteten Last verwendet werden. Auf verwalteten Computeressourcen bereitgestellte Modelle verbrauchen das Kontingent Ihres Abonnements. Die folgenden Modelle aus der 3.1-Releasewelle sind auf verwalteten Computeressourcen verfügbar:
Meta-Llama-3.1-8B-Instruct
(FT unterstützt)Meta-Llama-3.1-70B-Instruct
(FT unterstützt)Meta-Llama-3.1-8B
(FT unterstützt)Meta-Llama-3.1-70B
(FT unterstützt)Llama Guard 3 8B
Prompt Guard
Erstellen einer neuen Bereitstellung
Führen Sie die folgenden Schritte aus, um ein Modell wie Meta-Llama-3.1-70B-Instruct
für eine verwaltete Computeressource in Azure Machine Learning Studio bereitzustellen.
Wählen Sie den Arbeitsbereich aus, in dem Sie das Modell bereitstellen möchten.
Wählen Sie aus dem Modellkatalog von Studio das Modell aus, das Sie bereitstellen möchten.
Alternativ können Sie die Bereitstellung initiieren, indem Sie zu Ihrem Arbeitsbereich wechseln und Endpunkte>Verwalteter Computer>Erstellen auswählen.
Wählen Sie auf der Übersichtsseite des Modells die Option Bereitstellen und dann Verwaltete Computeressource ohne Azure KI Inhaltssicherheit aus.
Wählen Sie auf der Seite Mit Azure KI Inhaltssicherheit bereitstellen (Vorschau) die Option Azure KI Inhaltssicherheit überspringen aus, damit Sie das Modell weiterhin mithilfe der Benutzeroberfläche bereitstellen können.
Tipp
Im Allgemeinen wird empfohlen, Azure KI Inhaltssicherheit aktivieren (empfohlen) für die Bereitstellung des Meta Llama-Modells auszuwählen. Diese Bereitstellungsoption wird derzeit nur mit dem Python SDK unterstützt und erfolgt in einem Notebook.
Wählen Sie Proceed (Fortfahren) aus.
Tipp
Wenn im ausgewählten Projekt nicht genügend Kontingent verfügbar ist, können Sie die Option Ich möchte das freigegebene Kontingent verwenden und bestätige, dass dieser Endpunkt in 168 Stunden gelöscht wird. verwenden.
Wählen Sie die VM und die Anzahl der Instanzen aus, die Sie der Bereitstellung zuweisen möchten.
Wählen Sie aus, ob Sie diese Bereitstellung als Teil eines neuen oder eines vorhandenen Endpunkts erstellen möchten. Endpunkte können mehrere Bereitstellungen hosten, wobei die Ressourcenkonfiguration für jede dieser Bereitstellungen exklusiv bleibt. Bereitstellungen unter demselben Endpunkt teilen sich den Endpunkt-URI und seine Zugriffsschlüssel.
Geben Sie an, ob Sie Rückschlussdatensammlung (Vorschau) aktivieren möchten.
Geben Sie an, ob Sie Paketmodell (Vorschau) aktivieren möchten.
Klicken Sie auf Bereitstellen. Nach einigen Augenblicken wird die Seite Details des Endpunkts geöffnet.
Warten Sie, bis die Erstellung und die Bereitstellung des Endpunkts abgeschlossen sind. Dies kann einige Minuten in Anspruch nehmen.
Wählen Sie die Seite Nutzen des Endpunkts aus, um Codebeispiele abzurufen, die Sie zum Verwenden des bereitgestellten Modells in Ihrer Anwendung nutzen können.
Weitere Informationen zum Bereitstellen von Modellen auf verwaltete Computeressourcen mithilfe von Studio finden Sie unter Bereitstellen von Basismodellen für Rückschlussendpunkte.
Verwenden von Meta-Llama-Modellen, die für verwaltete Computeressourcen bereitgestellt werden
Informationen zum Aufrufen von Meta Llama 3-Modellen, die auf verwalteten Computeressourcen bereitgestellt werden, finden Sie auf der Modellkarte im Modellkatalog von Azure Machine Learning Studio. Die Karten der einzelnen Modelle enthalten eine Übersichtsseite, die eine Beschreibung des Modells, Beispiele für codebasierte Rückschlüsse, Optimierung und Modellauswertung enthält.
Zusätzliche Ableitungsbeispiele
Paket | Beispielnotebook |
---|---|
CLI mit CURL- und Python-Webanforderungen | webrequests.ipynb |
OpenAI SDK (experimentell) | openaisdk.ipynb |
LangChain | langchain.ipynb |
LiteLLM SDK | litellm.ipynb |
Kosten und Kontingente
Kosten- und Kontingentüberlegungen zu Meta Llama 3.1-Modellen, die als serverlose API bereitgestellt werden
Meta Llama 3.1-Modelle, die als serverlose API bereitgestellt werden, werden von Meta über den Azure Marketplace angeboten und zur Verwendung in Azure Machine Learning Studio integriert. Die Azure Marketplace-Preise werden bei der Bereitstellung oder bei der Optimierung der Modelle angezeigt.
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 und Optimierung 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 Ratenbegrenzung von 400.000 Token pro Minute und 1.000 API-Anforderungen pro Minute. Derzeit wird jedoch eine Bereitstellung pro Modell und Projekt beschränkt. Wenden Sie sich an den Microsoft Azure-Support, wenn die aktuellen Ratenbegrenzungen für Ihre Szenarien nicht ausreichen.
Kosten- und Kontingentüberlegungen zu Meta Llama 3.1-Modellen, die als verwaltete Computeressourcen bereitgestellt werden
Für die Bereitstellung und für Rückschlüsse von Meta Llama 3.1-Modellen mit verwalteten Computeressourcen nutzen Sie das Kernkontingent für VMs, das Ihrem Abonnement für die jeweilige Region zugewiesen ist. Wenn Sie sich für Azure KI Studio registrieren, erhalten Sie ein Standard-VM-Kontingent für mehrere VM-Familien, die in der Region verfügbar sind. Sie können weiterhin Bereitstellungen erstellen, bis Sie ihr Kontingentlimit erreicht haben. Sobald Sie diesen Grenzwert erreicht haben, können Sie eine Kontingenterhöhung anfordern.
Inhaltsfilterung
Modelle, die als serverlose API bereitgestellt werden, werden durch Azure KI Inhaltssicherheit geschützt. Bei der Bereitstellung auf verwalteten Computeressourcen können Sie diese Funktion deaktivieren. 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.