Konfigurera AI Gateway på modellserverslutpunkter
I den här artikeln får du lära dig hur du konfigurerar Mosaic AI Gateway på en modell som betjänar slutpunkten.
Krav
- En Databricks-arbetsyta i en region som stöds av externa modeller.
- Slutför steg 1 och 2 i Skapa en extern modell som betjänar slutpunkten.
Konfigurera AI Gateway med hjälp av användargränssnittet
Det här avsnittet visar hur du konfigurerar AI Gateway när slutpunkten skapas med hjälp av användargränssnittet för servering.
Om du föredrar att göra detta programmatiskt kan du läsa notebook-exemplet.
I avsnittet AI Gateway på sidan för att skapa slutpunkter kan du konfigurera följande AI Gateway-funktioner individuellt:
Funktion | Så här aktiverar du | Details |
---|---|---|
Användningsspårning | Välj Aktivera användningsspårning för att aktivera spårning och övervakning av dataanvändningsmått. | – Du måste ha Unity Catalog aktiverat. – Kontoadministratörer måste aktivera schemat för serversystemtabellen innan de använder systemtabellerna: system.serving.endpoint_usage som samlar in tokenantal för varje begäran till slutpunkten och system.serving.served_entities som lagrar metadata för varje extern modell.– Se Tabellscheman för användningsspårning – Endast kontoadministratörer har behörighet att visa eller köra frågor mot served_entities tabellen eller endpoint_usage tabellen, även om användaren som hanterar slutpunkten måste aktivera användningsspårning. Se Bevilja åtkomst till systemtabeller– Antalet in- och utdatatoken beräknas som ( text_length +1)/4 om antalet token inte returneras av modellen. |
Nyttolastloggning | Välj Aktivera slutsatsdragningstabeller för att automatiskt logga begäranden och svar från slutpunkten till Delta-tabeller som hanteras av Unity Catalog. | – Du måste ha Unity Catalog aktiverat och CREATE_TABLE åtkomst i det angivna katalogschemat.– Slutsatsdragningstabeller som aktiveras av AI Gateway har ett annat schema än slutsatsdragningstabeller som skapats för modell som betjänar slutpunkter som hanterar anpassade modeller. Se SCHEMA för AI Gateway-aktiverad slutsatsdragningstabell. – Loggningsdata för nyttolast fyller i dessa tabeller mindre än en timme efter att du har frågat slutpunkten. – Nyttolaster som är större än 1 MB loggas inte. – Svarsnyttolasten aggregerar svaret för alla returnerade segment. – Direktuppspelning stöds. I strömningsscenarier aggregerar svarsnyttolasten svaret från returnerade segment. |
AI-skyddsräcken | Se Konfigurera AI Guardrails i användargränssnittet. | – Skyddsräcken förhindrar att modellen interagerar med osäkert och skadligt innehåll som identifieras i modellindata och utdata. – Utdataskydd stöds inte för inbäddningsmodeller eller för strömning. |
Hastighetsbegränsningar | Du kan tillämpa hastighetsbegränsningar för begäranden för att hantera trafik för slutpunkten per användare och slutpunkt | – Hastighetsbegränsningar definieras i frågor per minut (QPM). – Standardvärdet är Ingen gräns för både per användare och slutpunkt. |
Trafikroutning | Information om hur du konfigurerar trafikroutning på slutpunkten finns i Hantera flera externa modeller till en slutpunkt. |
Konfigurera AI Guardrails i användargränssnittet
I följande tabell visas hur du konfigurerar skyddsräcken som stöds.
Skyddsräcke | Så här aktiverar du | Details |
---|---|---|
Säkerhet | Välj Säkerhet för att aktivera skydd för att förhindra att din modell interagerar med osäkert och skadligt innehåll. | |
Identifiering av personligt identifierbar information (PII) | Välj PII-identifiering för att identifiera PII-data, till exempel namn, adresser och kreditkortsnummer. | |
Giltiga ämnen | Du kan skriva in ämnen direkt i det här fältet. Om du har flera poster måste du trycka på Retur efter varje ämne. Du kan också ladda upp en fil eller .txt en .csv fil. |
Högst 50 giltiga ämnen kan anges. Varje ämne får inte överstiga 100 tecken |
Ogiltiga nyckelord | Du kan skriva in ämnen direkt i det här fältet. Om du har flera poster måste du trycka på Retur efter varje ämne. Du kan också ladda upp en fil eller .txt en .csv fil. |
Högst 50 ogiltiga nyckelord kan anges. Varje nyckelord får inte överstiga 100 tecken. |
Tabellscheman för användningsspårning
Systemtabellen system.serving.served_entities
för användningsspårning har följande schema:
Kolumnnamn | beskrivning | Typ |
---|---|---|
served_entity_id |
Det unika ID:t för den betjänade entiteten. | STRÄNG |
account_id |
Kundkonto-ID för deltadelning. | STRÄNG |
workspace_id |
Kundens arbetsyte-ID för serverdelsslutpunkten. | STRÄNG |
created_by |
Skaparens ID. | STRÄNG |
endpoint_name |
Namnet på serverdelsslutpunkten. | STRÄNG |
endpoint_id |
Det unika ID:t för serverdelsslutpunkten. | STRÄNG |
served_entity_name |
Namnet på den betjänade entiteten. | STRÄNG |
entity_type |
Typ av entitet som hanteras. Kan vara FEATURE_SPEC , EXTERNAL_MODEL , FOUNDATION_MODEL , eller CUSTOM_MODEL |
STRÄNG |
entity_name |
Det underliggande namnet på entiteten. Skiljer sig från vilket served_entity_name som är ett angivet användarnamn. Är till exempel entity_name namnet på Unity Catalog-modellen. |
STRÄNG |
entity_version |
Versionen av den betjänade entiteten. | STRÄNG |
endpoint_config_version |
Versionen av slutpunktskonfigurationen. | INT |
task |
Aktivitetstypen. Kan vara llm/v1/chat , llm/v1/completions eller llm/v1/embeddings . |
STRÄNG |
external_model_config |
Konfigurationer för externa modeller. Till exempel: {Provider: OpenAI} |
STRUCT |
foundation_model_config |
Konfigurationer för grundmodeller. Till exempel{min_provisioned_throughput: 2200, max_provisioned_throughput: 4400} |
STRUCT |
custom_model_config |
Konfigurationer för anpassade modeller. Till exempel{ min_concurrency: 0, max_concurrency: 4, compute_type: CPU } |
STRUCT |
feature_spec_config |
Konfigurationer för funktionsspecifikationer. Till exempel: { min_concurrency: 0, max_concurrency: 4, compute_type: CPU } |
STRUCT |
change_time |
Tidsstämpel för ändring för den betjänade entiteten. | TIMESTAMP |
endpoint_delete_time |
Tidsstämpel för borttagning av entitet. Slutpunkten är containern för den betjänade entiteten. När slutpunkten har tagits bort tas även den hanterade entiteten bort. | TIMESTAMP |
Systemtabellen system.serving.endpoint_usage
för användningsspårning har följande schema:
Kolumnnamn | beskrivning | Typ |
---|---|---|
account_id |
Kundkontots ID. | STRÄNG |
workspace_id |
Kundens arbetsyte-ID för serverdelsslutpunkten. | STRÄNG |
client_request_id |
Användaren angav begärandeidentifierare som kan anges i den modell som betjänar begärandetexten. | STRÄNG |
databricks_request_id |
En Azure Databricks-genererad begärandeidentifierare som är kopplad till alla modelltjänstbegäranden. | STRÄNG |
requester |
ID:t för användaren eller tjänstens huvudnamn vars behörigheter används för anropsbegäran för serverdelsslutpunkten. | STRÄNG |
status_code |
HTTP-statuskoden som returnerades från modellen. | INTEGER |
request_time |
Tidsstämpeln där begäran tas emot. | TIMESTAMP |
input_token_count |
Tokenantalet för indata. | LÅNG |
output_token_count |
Tokenantalet för utdata. | LÅNG |
input_character_count |
Teckenantalet för indatasträngen eller prompten. | LÅNG |
output_character_count |
Teckenantalet för utdatasträngen för svaret. | LÅNG |
usage_context |
Den mapp som användaren angav innehåller identifierare för slutanvändaren eller kundprogrammet som anropar slutpunkten. Mer information finns i Definiera användning med usage_context. | KARTA |
request_streaming |
Om begäran är i strömläge. | BOOLESK |
served_entity_id |
Det unika ID som används för att ansluta till dimensionstabellen system.serving.served_entities för att söka efter information om slutpunkten och den hanterade entiteten. |
STRÄNG |
Definiera användning ytterligare med usage_context
När du kör frågor mot en extern modell med användningsspårning aktiverat kan du ange parametern usage_context
med typen Map[String, String]
. Mappningen av användningskontexten visas i tabellen för användningsspårning i usage_context
kolumnen. Kartstorleken usage_context
får inte överstiga 10 KiB.
Kontoadministratörer kan aggregera olika rader baserat på användningskontexten för att få insikter och kan koppla den här informationen till informationen i loggningstabellen för nyttolast. Du kan till exempel lägga till end_user_to_charge
för att usage_context
spåra kostnadsattribution för slutanvändare.
{
"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"
}
}
Schema för AI Gateway-aktiverad slutsatsdragningstabell
Slutsatsdragningstabeller som är aktiverade med HJÄLP av AI Gateway har följande schema:
Kolumnnamn | beskrivning | Typ |
---|---|---|
request_date |
UTC-datumet då modellserverns begäran togs emot. | DATUM |
databricks_request_id |
En Azure Databricks-genererad begärandeidentifierare som är kopplad till alla modelltjänstbegäranden. | STRÄNG |
client_request_id |
En valfri klientgenererad begärandeidentifierare som kan anges i den modell som betjänar begärandetexten. | STRÄNG |
request_time |
Tidsstämpeln där begäran tas emot. | TIMESTAMP |
status_code |
HTTP-statuskoden som returnerades från modellen. | INT |
sampling_fraction |
Samplingsfraktionen som användes i händelse av att begäran var nedsamplad. Det här värdet är mellan 0 och 1, där 1 representerar att 100 % av inkommande begäranden inkluderades. | DOUBLE |
execution_duration_ms |
Tiden i millisekunder som modellen utförde slutsatsdragning för. Detta inkluderar inte nätverksfördröjningar och representerar bara den tid det tog för modellen att generera förutsägelser. | BIGINT |
request |
JSON-brödtexten för den råa begäran som skickades till den modell som betjänar slutpunkten. | STRÄNG |
response |
JSON-brödtexten för råsvaret som returnerades av modellen som betjänar slutpunkten. | STRÄNG |
served_entity_id |
Det unika ID:t för den betjänade entiteten. | STRÄNG |
logging_error_codes |
SAMLING | |
requester |
ID:t för användaren eller tjänstens huvudnamn vars behörigheter används för anropsbegäran för serverdelsslutpunkten. | STRÄNG |
Uppdatera AI Gateway-funktioner på slutpunkter
Du kan uppdatera AI Gateway-funktioner på modell som betjänar slutpunkter som hade dem tidigare aktiverade och slutpunkter som inte gjorde det. Det tar cirka 20–40 sekunder att tillämpa uppdateringar av AI Gateway-konfigurationer, men det kan ta upp till 60 sekunder att uppdatera hastighetsbegränsningen.
Följande visar hur du uppdaterar AI Gateway-funktioner på en modell som betjänar slutpunkten med hjälp av användargränssnittet för servering.
I avsnittet Gateway på slutpunktssidan kan du se vilka funktioner som är aktiverade. Om du vill uppdatera de här funktionerna klickar du på Redigera AI Gateway.
Notebook-exempel
Följande notebook-fil visar hur du programmatiskt aktiverar och använder Ai Gateway-funktioner för Databricks Mosaic för att hantera och styra modeller från leverantörer. Se följande för REST API-information: