Konfigurieren des AI Gateway auf Modellbereitstellungsendpunkten
In diesem Artikel wird beschrieben, wie Sie das Mosaic AI Gateway auf einem Modellbereitstellungsendpunkt konfigurieren.
Anforderungen
- Ein Databricks-Arbeitsbereich in einer unterstützten Region für externe Modelle.
- Führen Sie die Schritte 1 und 2 von Erstellen eines Bereitstellungsendpunkts für ein externes Modell aus.
Konfigurieren des AI Gateway mithilfe der Benutzeroberfläche
In diesem Abschnitt wird gezeigt, wie Sie das KI-Gateway während der Erstellung des Endpunkts mithilfe der Benutzeroberfläche zur Bereitstellung konfigurieren.
Wenn Sie dies lieber programmgesteuert ausführen möchten, lesen Sie das Beispiel "Notizbuch".
Im Abschnitt AI Gateway auf der Seite „Endpunkterstellung“ können Sie die folgenden AI Gateway-Funktionen einzeln konfigurieren:
Funktion | Vorgehensweise zum Aktivieren | Details |
---|---|---|
Nutzungsverfolgung | Wählen Sie Nutzungsverfolgung aktivieren aus, um die Nachverfolgung und Überwachung von Datennutzungsmetriken zu aktivieren. | – Unity Catalog muss aktiviert sein. – Kontoadministratoren müssen das Tabellenschema des Bereitstellungssystems aktivieren, bevor sie die Systemtabellen verwenden: system.serving.endpoint_usage Dies erfasst die Tokenanzahl für jede Anforderung an den Endpunkt und system.serving.served_entities speichert Metadaten für jedes externe Modell.– Siehe Tabellenschemata der Nutzungsverfolgung – Nur Kontoadministratoren verfügen über die Berechtigung zum Anzeigen oder Abfragen der served_entities -Tabelle oder der endpoint_usage -Tabelle, obwohl der Benutzer, der den Endpunkt verwaltet, die Nutzungsverfolgung aktivieren muss. Siehe Gewähren von Zugriff auf Systemtabellen– Die Anzahl der Eingabe- und Ausgabetoken wird als ( text_length +1)/4 geschätzt, wenn die Tokenanzahl nicht vom Modell zurückgegeben wird. |
Nutzdatenprotokollierung | Wählen Sie Rückschlusstabellen aktivieren aus, um Anforderungen und Antworten von Ihrem Endpunkt automatisch in den von Unity Catalog verwalteten Delta-Tabellen zu protokollieren. | – Sie müssen Unity Katalog aktivieren und CREATE_TABLE -Zugriff im angegebenen Katalogschema haben.– Von AI-Gateway aktivierte Rückschlüssetabellen weisen ein anderes Schema auf als Für modellbasierte Endpunkte erstellte Ableitungstabellen , die benutzerdefinierte Modelle bedienen. Siehe AI Gateway-fähiges Rückschlusstabellenschema. – Nutzdatenprotokollierung füllt diese Tabellen weniger als eine Stunde nach der Abfrage des Endpunkts aus. – Nutzdaten, die größer als 1 MB sind, werden nicht protokolliert. – Die Antwortnutzdaten aggregieren die Antwort aller zurückgesendeten Blöcke. – Streaming wird unterstützt. In Streamingszenarien aggregieren die Antwortnutzdaten die Antwort der zurückgesendeten Blöcke. |
KI-Schutzmaßnahmen (Guardrails) | Siehe Konfigurieren von KI-Schutzmaßnahmen in der Benutzeroberfläche. | – Schutzmaßnahmen verhindern, dass das Modell mit unsicheren und schädlichen Inhalten interagiert, die in Modelleingaben und -ausgaben erkannt werden. – Ausgabe-Schutzmaßnahmen werden für Einbettungsmodelle oder Streaming nicht unterstützt. |
Ratenbegrenzungen | Sie können Ratenbegrenzungen erzwingen, um den Datenverkehr für Ihren Endpunkt pro Benutzer und pro Endpunkt zu verwalten. | – Ratenbegrenzungen sind als Abfragen pro Minute (QPM) definiert. – Der Standardwert ist keine Begrenzung pro Benutzer und pro Endpunkt. |
Routing von Datenverkehr | Informationen zum Konfigurieren des Datenverkehrsrouting auf Ihrem Endpunkt finden Sie unter Bereitstellen mehrerer externer Modelle an einen Endpunkt. |
Konfigurieren von KI-Schutzmaßnahmen in der Benutzeroberfläche
In der folgenden Tabelle wird gezeigt, wie unterstützte Schutzmaßnahmen konfiguriert werden.
Schutzmaßnahme | Vorgehensweise zum Aktivieren | Details |
---|---|---|
Sicherheit | Wählen Sie Sicherheit aus, um Schutzmaßnahmen zu ermöglichen, die verhindern, dass Ihr Modell mit unsicheren und schädlichen Inhalten interagiert. | |
Erkennung personenbezogener Endbenutzerinformationen (Personally Identifiable Information, PII) | Wählen Sie PII-Erkennung aus, um PII-Daten wie Namen, Adressen und Kreditkartennummern zu erkennen. | |
Gültige Themen | Sie können Themen direkt in dieses Feld eingeben. Wenn Sie mehrere Einträge haben, müssen Sie nach jedem Thema die Eingabetaste drücken. Alternativ können Sie eine .csv -Datei oder eine .txt -Datei hochladen. |
Es können bis zu 50 gültige Themen können angegeben werden. Jedes einzelne darf nicht länger als 100 Zeichen sein. |
Ungültige Schlüsselwörter | Sie können Themen direkt in dieses Feld eingeben. Wenn Sie mehrere Einträge haben, müssen Sie nach jedem Thema die Eingabetaste drücken. Alternativ können Sie eine .csv -Datei oder eine .txt -Datei hochladen. |
Es können bis zu 50 ungültige Schlüsselwörter angegeben werden. Die Länge des Schlüsselworts darf 100 Zeichen nicht überschreiten. |
Tabellenschemata der Nutzungsverfolgung
Die system.serving.served_entities
-Systemtabelle für Nutzungsverfolgung verwendet das folgende Schema:
Spaltenname | Beschreibung | type |
---|---|---|
served_entity_id |
Die eindeutige ID der bereitgestellten Entität | STRING |
account_id |
Die Debitorenkontokennung für Delta Sharing. | STRING |
workspace_id |
Die Kundenarbeitsbereichs-ID des Bereitstellungsendpunkts. | STRING |
created_by |
Die ID des Erstellers. | STRING |
endpoint_name |
Der Name des Bereitstellungsendpunkts. | STRING |
endpoint_id |
Die eindeutige ID des Bereitstellungsendpunkts. | STRING |
served_entity_name |
Der Name der bereitgestellten Entität. | STRING |
entity_type |
Typ der Entität, die bedient wird. Kann FEATURE_SPEC , EXTERNAL_MODEL , FOUNDATION_MODEL oder CUSTOM_MODEL sein. |
STRING |
entity_name |
Der zugrunde liegende Name der Entität. Unterscheidet sich von served_entity_name , welches ein vom Benutzer bereitgestellter Name ist. entity_name ist beispielsweise der Name des Unity Catalog-Modells. |
STRING |
entity_version |
Die Version der bereitgestellten Entität. | STRING |
endpoint_config_version |
Die Version der Endpunktkonfiguration. | INT |
task |
Der Aufgabentyp. Kann llm/v1/chat , llm/v1/completions oder llm/v1/embeddings sein. |
STRING |
external_model_config |
Konfigurationen für externe Modelle. Beispiel: {Provider: OpenAI} |
STRUCT |
foundation_model_config |
Konfigurationen für Basismodelle. Beispiel: {min_provisioned_throughput: 2200, max_provisioned_throughput: 4400} |
STRUCT |
custom_model_config |
Konfigurationen für benutzerdefinierte Modelle. Beispiel: { min_concurrency: 0, max_concurrency: 4, compute_type: CPU } |
STRUCT |
feature_spec_config |
Konfigurationen für Featurespezifikationen. Beispiel: { min_concurrency: 0, max_concurrency: 4, compute_type: CPU } |
STRUCT |
change_time |
Zeitstempel der Änderung für die bereitgestellte Entität. | TIMESTAMP |
endpoint_delete_time |
Zeitstempel des Löschens der Entität. Der Endpunkt ist der Container für die bereitgestellte Entität. Nachdem der Endpunkt gelöscht wurde, wird auch die bereitgestellte Entität gelöscht. | TIMESTAMP |
Die system.serving.endpoint_usage
-Systemtabelle für Nutzungsverfolgung verwendet das folgende Schema:
Spaltenname | Beschreibung | type |
---|---|---|
account_id |
Die Debitorenkontokennung. | STRING |
workspace_id |
Die Kundenarbeitsbereichs-ID des Bereitstellungsendpunkts. | STRING |
client_request_id |
Der vom Benutzer angegebene Anforderungsbezeichner, der im Anforderungstext des Modells angegeben werden kann. | STRING |
databricks_request_id |
Ein von Azure Databricks generierter Anforderungsbezeichner, der an alle Modellbereitstellungsanforderungen angefügt ist | STRING |
requester |
Die ID des Benutzer- oder Dienstprinzipals, dessen Berechtigungen für die Aufrufanforderung des Bereitstellungsendpunkts verwendet werden. | STRING |
status_code |
Der HTTP-Statuscode, der vom Modell zurückgegeben wurde | INTEGER |
request_time |
Der Zeitstempel, zu dem die Anforderung eingegangen ist. | TIMESTAMP |
input_token_count |
Die Tokenanzahl der Eingabe. | LONG |
output_token_count |
Die Tokenanzahl der Ausgabe. | LONG |
input_character_count |
Die Zeichenanzahl der Eingabezeichenfolge oder der Eingabeaufforderung. | LONG |
output_character_count |
Die Zeichenanzahl der Ausgabezeichenfolge der Antwort. | LONG |
usage_context |
Der vom Benutzer bereitgestellte Zuordnung mit Bezeichnern des Endbenutzers oder der Kundenanwendung, die den Anruf an den Endpunkt tätigt. Siehe Weitere Definition der Verwendung mit usage_context.. | MAP |
request_streaming |
Zeigt an, ob sich die Anforderung im Streammodus befindet. | BOOLEAN |
served_entity_id |
Die eindeutige ID, die zum Verknüpfen mit der system.serving.served_entities Dimensionstabelle verwendet wird, um Informationen über den Endpunkt und die bereitgestellte Entität abzufragen. |
STRING |
Weitere Definition der Nutzung mit usage_context
Wenn Sie ein externes Modell mit aktivierter Verwendungsnachverfolgung abfragen, können Sie den usage_context
-Parameter mit Typ Map[String, String]
angeben. Die Zuordnung des Verwendungskontexts wird in der Tabelle zur Verwendungsnachverfolgung in der usage_context
-Spalte angezeigt. Kontoadministratoren können unterschiedliche Zeilen basierend auf dem Verwendungskontext aggregieren, um Einblicke zu erhalten und diese Informationen mit den Informationen in der Nutzlastprotokollierungstabelle zu verknüpfen. Sie können z. B. end_user_to_charge
zu usage_context
für die Nachverfolgung der Kostenzuordnung für Endbenutzer hinzufügen.
{
"messages": [
{
"role": "user",
"content": "What is Databricks?"
}
],
"max_tokens": 128,
"usage_context":
{
"use_case": "external",
"project": "project1",
"priority": "high",
"end_user_to_charge": "abcde12345",
"a_b_test_group": "group_a"
}
}
AI Gateway-fähiges Rückschlusstabellenschema
Mit AI Gateway aktivierte Rückschlusstabellen haben das folgende Schema:
Spaltenname | Beschreibung | type |
---|---|---|
request_date |
Das UTC-Datum, an dem die Modellbereitstellungsanforderung empfangen wurde | DATE |
databricks_request_id |
Ein von Azure Databricks generierter Anforderungsbezeichner, der an alle Modellbereitstellungsanforderungen angefügt ist | STRING |
client_request_id |
Ein optionaler von einem Client generierter Anforderungsbezeichner, der im Anforderungstext der Modellbereitstellung angegeben werden kann. | STRING |
request_time |
Der Zeitstempel, zu dem die Anforderung eingegangen ist. | TIMESTAMP |
status_code |
Der HTTP-Statuscode, der vom Modell zurückgegeben wurde | INT |
sampling_fraction |
Der Stichprobenanteil, der für den Fall verwendet wird, dass die Anforderung reduziert wurde. Dieser Wert liegt zwischen 0 und 1, wobei 1 angibt, dass 100 % der eingehenden Anforderungen einbezogen wurden. | DOUBLE |
execution_duration_ms |
Die Zeit in Millisekunden, in der das Modell einen Rückschluss ausgeführt hat. Diese schließt keine Netzwerkwartezeiten für einen Mehraufwand ein und stellt lediglich die Zeit dar, die das Modell zum Generieren von Vorhersagen benötigt hat. | BIGINT |
request |
Der JSON-Textkörper der unformatierten Anforderung, der an den Modellbereitstellungsendpunkt gesendet wurde | STRING |
response |
Der JSON-Textkörper der unformatierten Antwort, der vom Modellbereitstellungsendpunkt zurückgegeben wurde | STRING |
served_entity_id |
Die eindeutige ID der bereitgestellten Entität | STRING |
logging_error_codes |
ARRAY | |
requester |
Die ID des Benutzer- oder Dienstprinzipals, dessen Berechtigungen für die Aufrufanforderung des Bereitstellungsendpunkts verwendet werden. | STRING |
Aktualisieren von AI Gateway-Funktionen auf Endpunkten
Sie können AI Gateway-Funktionen auf Modellbereitstellungsendpunkten aktualisieren, für die sie zuvor aktiviert waren, und Endpunkte, die nicht aktiviert waren. Aktualisierungen der AI Gateway-Konfigurationen werden innerhalb von 20 bis 40 Sekunden durchgeführt, Aktualisierungen der Ratenbegrenzung können jedoch bis zu 60 Sekunden dauern.
Im Folgenden wird gezeigt, wie Sie die AI Gateway-Funktionen auf einem Modellbereitstellungsendpunkt mithilfe der Serving-Benutzeroberfläche aktualisieren.
Im Abschnitt Gateway der Endpunktseite können Sie sehen, welche Funktionen aktiviert sind. Um diese Funktionen zu aktualisieren, klicken Sie auf AI Gateway bearbeiten.
Notebookbeispiel
Das folgende Notebook zeigt, wie Sie die Funktionen von Databricks Mosaic AI Gateway programmgesteuert aktivieren und nutzen können, um Modelle von Anbietern zu verwalten und zu steuern. Details zur REST-API finden Sie im Folgenden: