Configurare il gateway di intelligenza artificiale nei modelli che servono gli endpoint
Questo articolo illustra come configurare Mosaic AI Gateway in un endpoint di servizio del modello.
Requisiti
- Un'area di lavoro di Databricks in un'area supportata per modelli esterni o in un'area supportata per la velocità effettiva con provisioning .
- Endpoint di gestione di un modello.
- Per creare un endpoint per i modelli esterni, completare i passaggi 1 e 2 di Creare un modello esterno che gestisce l'endpoint.
- Per creare un endpoint per la velocità effettiva assegnata, vedere API dei modelli di base di velocità effettiva assegnata.
Configurare il gateway di intelligenza artificiale usando l'interfaccia utente
Questa sezione illustra come configurare il gateway di intelligenza artificiale durante la creazione dell'endpoint usando l'interfaccia utente di servizio. Se si preferisce eseguire questa operazione a livello di codice, vedere l'esempio notebook.
Nella sezione AI Gateway della pagina di creazione dell'endpoint, è possibile configurare singolarmente le funzionalità dell'AI Gateway. Consulta Funzionalità supportate per sapere quali funzionalità sono disponibili sugli endpoint di servizio di modelli esterni e sugli endpoint di throughput con provisioning.
Funzionalità | Abilitazione | Dettagli |
---|---|---|
Monitoraggio dell'utilizzo | Select Abilitare il rilevamento dell'utilizzo per abilitare il rilevamento e il monitoraggio delle metriche di utilizzo dei dati. | - È necessario che Unity Catalog sia abilitato. - Gli amministratori dell'account devono abilitare il sistema di distribuzione tableschema prima di utilizzare il sistema tables: system.serving.endpoint_usage che acquisisce i conteggi dei token per ogni richiesta all'endpoint e system.serving.served_entities che archivia i metadati per ogni modello fondamentale.- Vedere table schemi di rilevamento dell'utilizzo - Solo gli amministratori dell'account dispongono dell'autorizzazione per visualizzare o eseguire interrogazioni sul served_entities table o endpoint_usage table, nonostante l'utente che gestisce l'endpoint debba abilitare il rilevamento dell'utilizzo. Vedere Grant l'accesso al sistema tables- Il numero di token di input e di output viene stimato come ( text_length +1)/4 se il numero di token non viene restituito dal modello. |
Registrazione del payload | Select Abilitare l'inferenza tables per loggare automaticamente le richieste e le risposte nel sistema Delta tables gestito da Unity Catalog. | - È necessario che Unity Catalog sia abilitato e avere l'accesso CREATE_TABLE nel catalogschemaspecificato.- L’inferenza tables abilitata dal gateway di intelligenza artificiale ha un schema diverso da quella di inferenza tables creata per il servizio di endpoint che servono modelli personalizzati. Consulta l'inferenza abilitata dal gateway AI tableschema. - I dati di registrazione del payload popolano questi tables meno di un'ora dopo l'esecuzione di query sull'endpoint. - I payload maggiori di 1 MB non vengono registrati. - Il payload della risposta aggrega la risposta di tutti i blocchi restituiti. - Lo streaming è supportato. Negli scenari di streaming, il payload della risposta aggrega la risposta dei blocchi restituiti. |
Guardrail di IA | Vedere Configurare guardrail di IA nell'interfaccia utente. | - Guardrail impedisce al modello di interagire con contenuto non sicuro e dannoso rilevato negli input e negli output del modello. - Le protezioni di output non sono supportate né per gli incorporamenti di modelli, né per lo streaming. |
Limiti di richieste inviate al bot | È possibile applicare i limiti di frequenza delle richieste per gestire il traffico per l'endpoint in base all'utente e per ogni endpoint | - I limiti di frequenza sono definiti nelle query al minuto (QPM). - Il valore predefinito è Nessun limit sia per utente che per endpoint. |
instradamento del traffico | Per configurare il routing del traffico nell'endpoint, vedere Gestire più modelli esterni a un endpoint. |
Configurare guardrail di IA nell'interfaccia utente
Il seguente table mostra come configurare le barriere di sicurezza supportate .
Protezione | Abilitazione | Dettagli |
---|---|---|
Sicurezza | Select Sicurezza per abilitare tutele che impediscano al modello di interagire con contenuti non sicuri e dannosi. | |
Rilevamento delle informazioni personali | Select rilevamento di PII per rilevare dati personali, ad esempio nomi, indirizzi, numeri di carta di credito. | |
Argomenti validi | È possibile digitare argomenti direttamente in questo campo. Se sono presenti più voci, assicurarsi di premere invio dopo ogni argomento. In alternativa, è possibile caricare un file .csv o .txt . |
È possibile specificare un massimo di 50 argomenti validi. Ogni argomento non può superare i 100 caratteri |
Parole chiave non valide | È possibile digitare argomenti direttamente in questo campo. Se sono presenti più voci, assicurarsi di premere invio dopo ogni argomento. In alternativa, è possibile caricare un file .csv o .txt . |
È possibile specificare un massimo di 50 parole chiave non valide. La lunghezza di ciascuna chiave non può superare i 100 caratteri. |
Schemi table di rilevamento dell'utilizzo
Il sistema di rilevamento dell'utilizzo system.serving.served_entities
table presenta i schemaseguenti:
nome Column | Descrizione | Tipo |
---|---|---|
served_entity_id |
ID univoco dell’entità dell'evento. | STRING |
account_id |
ID dell'account cliente per la condivisione Delta. | STRING |
workspace_id |
ID dell'area di lavoro del cliente dell'endpoint di servizio. | STRING |
created_by |
ID del creatore. | STRING |
endpoint_name |
Nome dell'endpoint dell’endpoint di servizio. | STRING |
endpoint_id |
ID univoco dell'endpoint di servizio. | STRING |
served_entity_name |
Nome dell’entità servita. | STRING |
entity_type |
Tipo dell'entità servita. Può essere FEATURE_SPEC , EXTERNAL_MODEL , FOUNDATION_MODEL o CUSTOM_MODEL |
STRING |
entity_name |
Nome sottostante dell'entità. Diverso da quello served_entity_name che è un nome specificato dall'utente. Ad esempio, entity_name è il nome del modello di Catalog Unity. |
STRING |
entity_version |
Versione dell'entità servita. | STRING |
endpoint_config_version |
Versione della configurazione dell'endpoint. | INT |
task |
Tipo di attività. Può essere llm/v1/chat , llm/v1/completions o llm/v1/embeddings . |
STRING |
external_model_config |
Configurazioni per i modelli esterni. Ad esempio, {Provider: OpenAI} |
STRUCT |
foundation_model_config |
Configurazioni per i modelli di base. Ad esempio, {min_provisioned_throughput: 2200, max_provisioned_throughput: 4400} |
STRUCT |
custom_model_config |
Configurazioni per i modelli personalizzati. Ad esempio, { min_concurrency: 0, max_concurrency: 4, compute_type: CPU } |
STRUCT |
feature_spec_config |
Configurazioni per le specifiche delle caratteristiche. Ad esempio, { min_concurrency: 0, max_concurrency: 4, compute_type: CPU } |
STRUCT |
change_time |
Data e ora della modifica per l'entità servita. | TIMESTAMP |
endpoint_delete_time |
Data e ora dell'eliminazione dell'entità. L'endpoint è il contenitore per l'entità servita. Dopo l'eliminazione dell'endpoint, viene eliminata anche l'entità servita. | TIMESTAMP |
Il sistema di rilevamento dell'utilizzo system.serving.endpoint_usage
table presenta i schemaseguenti:
nome Column | Descrizione | Tipo |
---|---|---|
account_id |
Numero dell’ID account cliente. | STRING |
workspace_id |
ID dell'area di lavoro del cliente dell'endpoint di servizio. | STRING |
client_request_id |
La richiesta identifier, fornita dall'utente, che può essere specificata nel corpo della richiesta del modello. | STRING |
databricks_request_id |
Una richiesta generata da Azure Databricks identifier collegata a tutte le richieste di gestione del modello. | STRING |
requester |
ID dell'utente o dell'entità servizio le cui autorizzazioni vengono usate per la richiesta di chiamata dell'endpoint di servizio. | STRING |
status_code |
Codice di stato HTTP restituito dal modello. | INTEGER |
request_time |
La data e l'ora in cui è stata ricevuta la richiesta. | TIMESTAMP |
input_token_count |
Il numero dei token di input. | LONG |
output_token_count |
Il numero dei token di output. | LONG |
input_character_count |
Numero di caratteri della stringa di input o della richiesta. | LONG |
output_character_count |
Numero di caratteri della stringa di output della risposta. | LONG |
usage_context |
Mappa fornita dall'utente contenente gli identificatori dell'utente finale o dell'applicazione del cliente che effettua la chiamata all'endpoint. Si veda Altre informazioni su come definire l'utilizzo con usage_context. | MAP |
request_streaming |
Indica se la richiesta è in modalità streaming. | BOOLEAN |
served_entity_id |
ID univoco utilizzato per join con la dimensione system.serving.served_entities table per cercare informazioni sull'endpoint e sull'entità servita. |
STRING |
Definire ulteriormente l'utilizzo con usage_context
Quando si esegue una query su un modello esterno con il rilevamento dell'utilizzo abilitato, è possibile fornire il usage_context
parametro con il tipo Map[String, String]
. Il mapping del contesto di utilizzo appare nel monitoraggio dell'utilizzo table nel usage_context
column. Le dimensioni della usage_context
mappa non possono superare 10 KiB.
Gli amministratori dell'account possono aggregare righe diverse in base al contesto di utilizzo per get approfondimenti e possono join queste informazioni con i dati contenuti nel log del payload table. Ad esempio, è possibile aggiungere end_user_to_charge
a usage_context
per tenere traccia dell'attribuzione dei costi per gli utenti finali.
{
"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"
}
}
Update funzionalità del gateway di intelligenza artificiale sugli endpoint
È possibile update funzionalità del gateway di intelligenza artificiale sugli endpoint di servizio del modello precedentemente abilitati e quelli che non lo erano. Gli aggiornamenti alle configurazioni del gateway di IA richiedono circa 20-40 secondi per l’applicazione, ma gli aggiornamenti della limitazione della frequenza possono richiedere fino a 60 secondi.
Di seguito viene illustrato come update funzionalità del gateway di intelligenza artificiale in un endpoint di servizio del modello usando l'interfaccia utente di gestione.
Nella sezione Gateway della pagina endpoint è possibile visualizzare le caratteristiche abilitate. Per update queste funzionalità, fare clic su Modifica gateway di intelligenza artificiale.
Esempio di notebook
Il notebook seguente illustra come abilitare e usare programmaticamente le funzionalità di Databricks Mosaic AI Gateway per gestire e governare i modelli da providers. Per informazioni dettagliate sull'API REST, vedere quanto segue: