Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Questa funzionalità è in versione beta. Gli amministratori dell'account possono gestire l'accesso a questa funzionalità dalla pagina Anteprime della console dell'account. Vedere Gestire le anteprime di Azure Databricks.
Questa esercitazione illustra come moderare il contenuto delle interazioni di un servizio modello in due modi complementari. Un servizio modello può gestire un modello ospitato Azure Databricks o un provider esterno, ad esempio OpenAI, Anthropic o Google, e si regolano entrambi nello stesso modo:
- Protezioni integrate: controlli gestiti forniti da Azure Databricks per contrastare rischi comuni come PII, contenuti non sicuri, tentativi di jailbreak e allucinazioni. È possibile collegarne uno selezionandolo nell'interfaccia utente, senza codice da scrivere.
- Criteri di servizio personalizzati: funzioni SQL scritte per regole specifiche dell'organizzazione, ad esempio un nome di codice di progetto riservato o un modello di risposta vietato.
Puoi collegare entrambi allo stesso modo, dalla scheda Policies di un servizio di modello nell'interfaccia utente di Unity AI Gateway, e puoi anche mescolarli. Azure Databricks valuta ognuno in due punti: ON CALL (prima di richiamare il modello) e ON RESULT (dopo la risposta del modello). Nell'interfaccia utente, selezioni la fase quando associ il criterio. Un criterio personalizzato può anche applicarsi a una sola fase ramificando su event:type.
Scenario: Il tuo team espone un LLM tramite un Model Service (main.default.team_chat) chiamato da app e agenti. Si vuole bloccare le informazioni personali con un guardrail gestito, bloccare qualsiasi richiesta che includa un progetto riservato e bloccare le risposte che contengono un collegamento non sicuro, senza modificare il codice dell'applicazione.
Al termine di questa esercitazione, si dispone di:
- Un meccanismo di protezione integrato per le informazioni di identificazione personale nel servizio.
- Criteri di richiesta personalizzati che bloccano un nome di codice riservato in ON CALL.
- Criteri di risposta personalizzati che bloccano i collegamenti non sicuri in ON RESULT.
- Tutti e tre collegati e verificati dal playground del servizio modello.
Prerequisiti
- Un'area di lavoro abilitata per Unity Catalog. Consulta Introduzione al Catalogo Unity.
- Anteprima di Unity AI Gateway abilitata per il tuo account. Vedere Gestire le anteprime di Azure Databricks.
- Un servizio modello da gestire e
EXECUTEsu di esso in modo da poter eseguire il test. Per crearne uno, vedere Creare e gestire i servizi modello. In questa esercitazione viene usatomain.default.team_chat. -
MANAGEnel servizio modello per collegare i criteri. -
CREATE FUNCTIONnello schema in cui si creano le funzioni di criteri personalizzati (main.governancein questo tutorial). - Per il guardrail predefinito: il modello di analizzatore che esegue il controllo del guardrail (il giudice LLM) è pre-selezionato, quindi non è necessaria alcuna configurazione. Se si seleziona un valutatore diverso sotto Opzioni avanzate, è necessario
CAN_QUERYsu di esso.
Passaggio 1: Applicare una barriera di protezione integrata
Le misure di salvaguardia integrate sono controlli LLM-judge gestiti. Selezioni un'opzione dal menu Tipo di protezione; il servizio del modello di valutazione che esegue il controllo (il giudice LLM) è preselezionato. Le guardrail disponibili sono:
-
Blocco delle informazioni personali (
system.ai.block_pii): nega il contenuto che contiene informazioni personali. -
Contenuto non sicuro (
system.ai.block_unsafe_content): nega contenuto non sicuro o dannoso. -
Jailbreak (
system.ai.block_jailbreak): nega tentativi di prompt-injection e jailbreak (solo richieste). -
Allucinazione (
system.ai.block_hallucination): nega risposte allucinate (solo risposte).
Collegare la protezione delle informazioni personali al servizio modello:
- Nella barra laterale dell'area di lavoro fare clic su Gateway di intelligenza artificiale.
- Nella scheda Modelli selezionare il servizio modello (
main.default.team_chat). - Aprire la scheda Criteri , quindi fare clic su Nuovo criterio.
- Immettere un nome, ad esempio
block-pii. - In Applicato a mantenere Tutti gli utenti dell'account o definire l'ambito dei criteri a entità specifiche.
- In Tipo di guardrail, selezionare Blocco delle PII.
- Imposta Rank su
1. Rank imposta l'ordine di valutazione: la classificazione più bassa viene eseguita per prima sulla richiesta e l'ultima sulla risposta. - In Fase selezionare entrambe le protezioni di input (prima del modello) e le protezioni di output (dopo il modello), quindi la protezione viene eseguita su richieste e risposte.
- Fare clic su Crea regola.
La protezione utilizza un servizio del modello Evaluator preselezionato (il modello LLM che esegue la verifica). Per usare un modello diverso, espandere Opzioni avanzate prima di creare il criterio; è necessario CAN_QUERY nel modello selezionato.
Note
Dopo aver collegato o modificato un criterio in un servizio modello, attendere un breve periodo di tempo per rendere effettiva la modifica prima del test. Durante la beta, la propagazione può richiedere alcuni minuti.
Passaggio 2: Aggiungere un criterio di richiesta personalizzato
Le guardrail coprono i rischi comuni. Per una regola specifica per l'organizzazione, scrivere criteri personalizzati. Una policy personalizzata è una funzione SQL definita dall'utente che accetta (event VARIANT) e restituisce una decisione; legge il testo del messaggio da event:context.message, una proiezione indipendente dall'API dell'ultimo messaggio dell'utente o dell'assistente.
Questo criterio nega qualsiasi richiesta che menziona un nome di codice di progetto riservato. Il event:type::string = 'request' controllo lo limita a ON CALL:
CREATE OR REPLACE FUNCTION main.governance.block_confidential_codename(
event VARIANT
)
RETURNS VARIANT
LANGUAGE SQL
RETURN
CASE
WHEN event:type::string = 'request'
AND contains(lower(event:context.message::string), 'project aurora')
THEN to_variant_object(named_struct('result', 'DENY', 'reason', 'Requests about confidential projects are not permitted.'))
ELSE to_variant_object(named_struct('result', 'ALLOW', 'reason', ''))
END;
contains e lower fanno parte del sottoinsieme SQL supportato nei corpi dei criteri. Per l'elenco completo e le regole per la scrittura di una funzione di criteri, vedere Informazioni di riferimento sulle funzioni dei criteri di servizio.
Collega la funzione come policy personalizzata, con ambito limitato alla fase di richiesta:
- Nella scheda Criteri del servizio modello fare clic su Nuovo criterio e immettere un nome, ad esempio
block-codename. - In Tipo guardrail selezionare Personalizzato.
- Fare clic su Funzione personalizzata, quindi selezionare la funzione e selezionare
main.governance.block_confidential_codename. - In Fase selezionare solo Guardrail di input (Prima del modello), perché si tratta di un criterio di richiesta.
- Impostare Classifica su
10, quindi fare clic su Crea criterio.
Passaggio 3: Aggiungere un criterio di risposta personalizzato
Un modello può anche restituire contenuti che non vuoi inoltrare. Questo criterio nega una risposta che contiene un collegamento non sicuro (un http:// URL o un javascript: URI). Il event:type::string = 'response' controllo lo limita a ON RESULT, quindi un utente che si limita a menzionare tali schemi in una richiesta non lo attiva in fase di input:
CREATE OR REPLACE FUNCTION main.governance.block_unsafe_links(
event VARIANT
)
RETURNS VARIANT
LANGUAGE SQL
RETURN
CASE
WHEN event:type::string = 'response'
AND (contains(lower(event:context.message::string), 'http://')
OR contains(lower(event:context.message::string), 'javascript:'))
THEN to_variant_object(named_struct('result', 'DENY', 'reason', 'Response contained an insecure link and was blocked by policy.'))
ELSE to_variant_object(named_struct('result', 'ALLOW', 'reason', ''))
END;
Allega la funzione come policy personalizzata, limitandola alla fase di risposta:
- Nella scheda Criteri fare clic su Nuovo criterio e immettere un nome, ad esempio
block-unsafe-links. - In Tipo guardrail selezionare Personalizzato, quindi selezionare
main.governance.block_unsafe_linksin Funzione personalizzata. - In Fase selezionare solo Guardrail di output (dopo il modello) perché si tratta di un criterio di risposta.
- Impostare Classifica su
20, quindi fare clic su Crea criterio.
Passaggio 4: Verificare
Tutti e tre i criteri vengono ora visualizzati nella scheda Criteri del servizio. Usa il playground per verificare che ciascuno si attivi:
- Nella pagina del servizio modello fare clic su Chat in playground.
- Inviare un prompt contenente informazioni personali, ad esempio
My SSN is 123-45-6789, store it.la protezione PII blocca la richiesta e viene visualizzato un errore strutturato. - Invia
Tell me about Project Aurora.Il criterio di richiesta lo blocca con il motivo Per cui le richieste relative ai progetti riservati non sono consentite. - Invia un prompt che faccia in modo che il modello restituisca un link
http://. Il criterio di risposta lo blocca in ON RESULT con il seguente motivo: La risposta conteneva un collegamento non sicuro ed è stata bloccata dal criterio. - Inviare una richiesta normale. Restituisce un completamento normale.
Per testare invece il servizio dalle proprie app o script, vedi Eseguire query sui servizi modello.
Pulizia
Al termine, rimuovere i criteri nella scheda Criteri : aprire ogni criterio creato ed eliminarlo. Eliminare quindi facoltativamente le funzioni personalizzate:
DROP FUNCTION IF EXISTS main.governance.block_confidential_codename;
DROP FUNCTION IF EXISTS main.governance.block_unsafe_links;