Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln får du lära dig hur du konfigurerar Mosaic AI Gateway på en modell som betjänar slutpunkten.
Requirements
- En Databricks-arbetsyta i en region där modellhantering stöds. Se Tillgänglighet för modellserverfunktioner.
- En modell som betjänar slutpunkten. Du kan använda någon av de förkonfigurerade slutpunkterna för betala per token på din arbetsyta eller göra följande:
- Om du vill skapa en slutpunkt för externa modeller slutför du steg 1 och 2 i Skapa en extern modell som betjänar slutpunkten.
- Information om hur du skapar en slutpunkt för etablerat dataflöde finns i Api:er för etablerad dataflödesmodell.
- Information om hur du skapar en slutpunkt för en anpassad modell finns i Skapa en slutpunkt.
Konfigurera AI Gateway med hjälp av användargränssnittet
I avsnittet AI Gateway på sidan för att skapa slutpunkter kan du konfigurera AI Gateway-funktioner individuellt. Se Funktioner som stöds för vilka funktioner som är tillgängliga på externa modeller som betjänar slutpunkter och etablerade dataflödesslutpunkter.
I följande tabell sammanfattas hur du konfigurerar AI-gatewayen när slutpunkten skapas med hjälp av serveringsgränssnittet. Om du föredrar att göra detta programmatiskt kan du läsa notebook-exemplet.
| Feature | 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. |
|
| 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. |
|
| AI-skyddsräcken | Se Konfigurera AI Guardrails i användargränssnittet. |
|
| Hastighetsbegränsningar | Välj Frekvensgränser för att hantera och ange antalet frågor per minut (QPM) eller token per minut (TPM) som slutpunkten kan stödja.
|
|
| Trafikdelning | I avsnittet Serverade entiteter anger du procentandelen trafik som du vill dirigeras till specifika modeller. Information om hur du konfigurerar trafikdelning på slutpunkten programmatiskt finns i Hantera flera externa modeller till en slutpunkt. |
|
| Fallbacks | Välj Aktivera reservlösningar i AI Gateway-sektionen för att skicka din begäran till andra modeller vid slutpunkten som reservlösningar. |
|
Följande diagram visar ett exempel på reservlösningar där,
- Tre betjänade entiteter hanteras på en modell som betjänar slutpunkten.
- Begäran dirigeras ursprungligen till Den serverade entiteten 3.
- Om begäran returnerar ett 200-svar, lyckades den på Betjänad entitet 3, och begäran samt dess svar loggas till tabellerna för användningsspårning och nyttolastloggning i slutpunkten.
- Om begäran returnerar ett 429- eller 5xx-fel på den betjänade entiteten 3 återgår begäran till nästa betjänade entitet på slutpunkten, Hanterad entitet 1.
- Om begäran returnerar ett 429- eller 5xx-fel på den betjänade entiteten 1 återgår begäran till nästa betjänade entitet på slutpunkten, Hanterad entitet 2.
- Om begäran returnerar ett 429- eller 5xx-fel på den betjänade entiteten 2 misslyckas begäran eftersom detta är det maximala antalet återställningsentiteter. Den misslyckade begäran och svarsfelet loggas till loggningstabellerna för användningsspårning och nyttolast.
Konfigurera AI Guardrails i användargränssnittet
Important
Den här funktionen finns som allmänt tillgänglig förhandsversion.
Följande tabell visar hur du konfigurerar de skyddsräcken som stöds av .
| Guardrail | Så här aktiverar du |
|---|---|
| Safety | 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 blockera eller maskera PII-data, till exempel namn, adresser, kreditkortsnummer om sådan information identifieras i slutpunktsbegäranden och svar. Annars väljer du Ingen för att ingen PII-identifiering ska ske. |
Tabellscheman för användningsspårning
I följande avsnitt sammanfattas scheman för användningsspårningstabeller för system.serving.served_entities- och system.serving.endpoint_usage-systemtabeller.
system.serving.served_entities tabellschema för användningsspårning
Den system.serving.served_entities systemtabellen för användningsspårning har följande schema:
| Kolumnnamn | Description | Type |
|---|---|---|
served_entity_id |
Det unika ID:t för den betjänade entiteten. | STRING |
account_id |
Kundkonto-ID för Delta Sharing. | STRING |
workspace_id |
Kundens arbetsyte-ID för tjänstens slutpunkt. | STRING |
created_by |
Skaparens ID. För pay-per-token-slutpunkter är detta System-User |
STRING |
endpoint_name |
Namnet på tjänsteslutpunkten. | STRING |
endpoint_id |
Det unika ID:t för tjänsteslutpunkten. | STRING |
served_entity_name |
Namnet på den betjänade entiteten. | STRING |
entity_type |
Typ av entitet som hanteras. Kan vara FEATURE_SPEC, EXTERNAL_MODEL, FOUNDATION_MODEL, eller CUSTOM_MODEL |
STRING |
entity_name |
Det underliggande namnet på entiteten. Annorlunda från served_entity_name, som är ett namn angivet av användaren. Till exempel är entity_name namnet på Unity Catalog-modellen. |
STRING |
entity_version |
Versionen av den betjänade entiteten. | STRING |
endpoint_config_version |
Versionen av slutpunktskonfigurationen. | INT |
task |
Aktivitetstypen. Kan vara llm/v1/chat, llm/v1/completionseller llm/v1/embeddings. |
STRING |
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 |
system.serving.endpoint_usage tabellschema för användningsspårning
Den system.serving.endpoint_usage systemtabellen för användningsspårning har följande schema:
| Kolumnnamn | Description | Type |
|---|---|---|
account_id |
Kundkontots ID. | STRING |
workspace_id |
Kundens arbetsyte-ID för tjänande slutpunkt. | STRING |
client_request_id |
Användaren angav begärandeidentifierare som kan anges i den modell som betjänar begärandetexten. För anpassade modellslutpunkter stöds detta inte för begäranden som är större än 4MiB. | STRING |
databricks_request_id |
En Azure Databricks-genererad begärandeidentifierare som är kopplad till alla modelltjänstbegäranden. | STRING |
requester |
ID:t för användaren eller tjänstens huvudidentitet vars behörigheter används för anropsförfrågan till tjänsteslutpunkten. | STRING |
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. Detta blir 0 för anpassade modellbegäranden. | LONG |
output_token_count |
Tokenantalet för utdata. Detta blir 0 för anpassade modellbegäranden. | LONG |
input_character_count |
Teckenantalet för indatasträngen eller prompten. Detta blir 0 för anpassade modellbegäranden. | LONG |
output_character_count |
Teckenantalet för utdatasträngen för svaret. Detta blir 0 för anpassade modellbegäranden. | LONG |
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. För anpassade modellslutpunkter stöds detta inte för begäranden som är större än 4MiB. |
MAP |
request_streaming |
Om begäran är i strömmande läge. | BOOLEAN |
served_entity_id |
Det unika ID:t som används för att kopplas till system.serving.served_entities-dimensionstabellen för att hämta information om slutpunkten och den tillhandahållna entiteten. |
STRING |
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 kolumnen usage_context. Kartstorleken usage_context får inte överstiga 10 KiB.
{
"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"
}
}
Om du använder OpenAI Python-klienten kan du specificera usage_context genom att inkludera den i parametern extra_body.
from openai import OpenAI
client = OpenAI(
api_key="dapi-your-databricks-token",
base_url="https://example.staging.cloud.databricks.com/serving-endpoints"
)
response = client.chat.completions.create(
model="databricks-claude-3-7-sonnet",
messages=[{"role": "user", "content": "What is Databricks?"}],
temperature=0,
extra_body={"usage_context": {"project": "project1"}},
)
answer = response.choices[0].message.content
print("Answer:", answer)
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. Till exempel kan du lägga till end_user_to_charge till usage_context för att spåra kostnadsattribution för slutanvändare.
Övervaka slutpunktsanvändning
Om du vill övervaka slutpunktsanvändningen kan du ansluta systemtabellerna och slutsatsdragningstabellerna för slutpunkten.
Sammanfoga systemtabeller
Det här exemplet gäller för externa, etablerade dataflöden, pay-per-token och anpassade modellslutpunkter.
Om du vill ansluta endpoint_usage- och served_entities-systemtabellerna använder du följande SQL:
SELECT * FROM system.serving.endpoint_usage as eu
JOIN system.serving.served_entities as se
ON eu.served_entity_id = se.served_entity_id
WHERE created_by = "\<user_email\>";
Uppdatera AI Gateway-funktioner på slutpunkter
Du kan uppdatera AI Gateway-funktioner på modellbetjänande slutpunkter som tidigare hade dem aktiverade och slutpunkter som inte hade dem. 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. Mer information om REST API finns i PUT /api/2.0/serving-endpoints/{name}/ai-gateway .