Kommentar
Å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.
Important
Tjänstepolicyerna är i beta. Unity AI Gateway är allmänt tillgänglig, men dess betafunktioner är aktiverade separat. En kontoadministratör måste aktivera Unity AI Gateway beta-funktionerna från kontokonsolens förhandsgranskningssida . Se Hantera förhandsversioner av Azure Databricks.
Denna handledning går igenom hur man lägger till räcken till en modelltjänst, på två kompletterande sätt. På Azure Databricks är skyddsmekanismer tjänstprinciper. En modelltjänst kan fronta en Azure Databricks värdbaserad modell eller en extern leverantör som OpenAI, Anthropic eller Google, och du styr båda på samma sätt:
- Inbyggda tjänstprinciper (skyddsräcken): hanterade, Azure Databricks tillhandahållna kontroller för vanliga risker som PII, osäkert innehåll, jailbreak-försök och hallucinationer. Du bifogar en genom att välja den i användargränssnittet, utan kod att skriva.
- Anpassade tjänstprinciper: SQL-funktioner som du skriver för regler som är specifika för din organisation, till exempel ett konfidentiellt projektkodnamn eller ett förbjudet svarsmönster.
För tjänstprincipbegrepp, inbyggda skyddsräcken och den fullständiga redigeringsreferensen, se Tjänstprinciper för AI-skyddsbara objekt, Skapa och bifoga en tjänstprincip och Funktionsreferens för tjänstprincip.
Du kopplar båda på samma sätt, från fliken Principer för en modelltjänst i Unity AI Gateway-användargränssnittet, och du kan blanda dem. Azure Databricks utvärderar varje punkt vid två punkter:
- Inmatningsfasen (ON CALL) innan modellen anropas.
- Utgångsfasen (ON RESULT) efter att modellen svarar.
I användargränssnittet väljer du vilken fas när du ansluter policyn. En anpassad princip kan också begränsa sig till en fas genom att förgrena sig på event:type.
Scenario: Ditt team exponerar en LLM via en modelltjänst (main.default.team_chat) som appar och agenter anropar. Du vill blockera osäkert eller skadligt innehåll med en hanterad skyddsräcke, blockera alla prompts som nämner ett konfidentiellt projekt, och blockera svar som innehåller en osäker länk, allt utan att ändra applikationskoden.
I slutet av den här självstudien har du:
- Ett inbyggt skydd mot osäkert innehåll i tjänsten.
- En anpassad förfrågningspolicy som blockerar ett konfidentiellt kodnamn i inmatningsfasen (ON CALL).
- En anpassad responspolicy som blockerar osäkra länkar i utdatafasen (ON RESULT).
- Alla tre är bifogade och verifierade i modelltjänstens testmiljö.
Förutsättningar
- En arbetsyta aktiverad för Unity Catalog. Se Kom igång med Unity Catalog.
- Unity AI Gateway beta-funktionerna är aktiverade för ditt konto, vilket aktiverar tjänstepolicyer och andra Unity AI Gateway Beta-funktioner. Se Hantera förhandsversioner av Azure Databricks.
- En modelltjänst för att styra, och
EXECUTEpå den så att du kan testa. För att skapa en, se Skapa och hantera modell-API:er (modelltjänster). I den här handledningen användsmain.default.team_chat. -
MANAGEi Model Service för att koppla policyer. -
CREATE FUNCTIONi det schema där du skapar de anpassade policyfunktionerna (main.governancei den här handledningen). - För det inbyggda skyddsräcket: utvärderarmodellen som kör skyddsräckets kontroll (LLM-domaren) är förvald, så ingen konfiguration krävs. Om du väljer en annan utvärderare under Avancerade alternativ behöver du
CAN_QUERYför den.
Steg 1: Tillämpa ett inbyggt skyddsräcke
Inbyggda skyddsmekanismer hanteras genom kontroller med LLM-domare. Du väljer en från menyn Typ av skyddsräcke . utvärderingsmodelltjänsten som kör kontrollen (LLM-domaren) är förmarkerad åt dig. Tillgängliga skyddsräcken är:
-
Osäkert innehåll (
system.ai.block_unsafe_content): nekar osäkert eller skadligt innehåll. -
Jailbreak (
system.ai.block_jailbreak): nekar prompt-injection och jailbreak-försök (endast begäranden). -
Hallucination (
system.ai.block_hallucination): nekar hallucinerade svar (endast svar).
Lägg till skyddet för osäkert innehåll till din modelltjänst:
- I sidofältet på arbetsytan klickar du på AI Gateway.
- På fliken Modeller väljer du din modelltjänst (
main.default.team_chat). - Öppna fliken Principer och klicka sedan på Ny princip.
- Ange ett namn, till exempel
block-unsafe-content. - Under Tillämpad på behåller du Alla kontoanvändare eller omfångsbegränsar principen till specifika huvudkonton.
- I Typ av skyddsräcke väljer du Olämpligt innehåll.
- Ställ in Rank på
1. Rangordningen anger utvärderingsordningen: den lägsta rangordningen körs först på begäran och sist i svaret. - Under Fas väljer du både Indataskyddsmekanismer (före modellen) och Utdataskydd (efter modellen), så skyddsräcket körs på begäranden och svar.
- Klicka på Create policy (Skapa princip).
Skyddsräcket använder en förvald utvärderingsmodelltjänst (LLM-domaren som kör kontrollen). Om du vill använda en annan modell expanderar du Avancerade alternativ innan du skapar principen. du behöver CAN_QUERY på den modell som du väljer.
Note
När du har bifogat eller ändrat en princip för en modelltjänst kan du vänta en kort stund innan ändringen börjar gälla innan du testar den. Under betaversionen av servicepolicys kan det ta några minuter att sprida sig.
Steg 2: Lägg till en anpassad begärandeprincip
Skyddsräcken täcker vanliga risker. Om du behöver en regel som är specifik för din organisation skriver du en anpassad princip. En anpassad princip är en SQL UDF som tar (event VARIANT) och returnerar ett beslut. Läs meddelandetexten från event:context.message, en API-agnostisk projektion av det senaste användar- eller assistentmeddelandet.
Den här principen nekar alla begäranden som nämner ett konfidentiellt projektkodnamn. Markeringen event:type::string = 'request' begränsar den till inmatningsfasen (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 och lower är en del av SQL-delmängden som stöds i principorgan. Information om en fullständig lista och regler för att skriva en principfunktion finns i Referens för tjänstprincipfunktioner.
Bifoga funktionen som en anpassad policy med omfattning till begärandefasen:
- På fliken Principer för modelltjänsten klickar du på Ny princip och anger ett Namn, till exempel
block-codename. - I Guardrail-typ väljer du Anpassad.
- Klicka på Anpassad funktion, välj funktion och välj
main.governance.block_confidential_codename. - Under Fas väljer du endast Skyddsräcken för indata (före modellen), eftersom detta är en förfrågningspolicy.
- Ange Rank till
10och klicka sedan på Skapa princip.
Steg 3: Lägg till en anpassad svarsprincip
En modell kan också returnera innehåll som du inte vill skicka igenom. Den här principen nekar ett svar som innehåller en osäker länk (en http:// URL eller en javascript: URI). Kontrollen event:type::string = 'response' begränsar den till utgångsfasen (ON RESULT), så en användare som bara nämner dessa scheman i en prompt utlöser den inte på vägen in:
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;
Koppla funktionen som en anpassad princip som är begränsad till svarsfasen:
- På fliken Principer klickar du på Ny princip och anger ett Namn, till exempel
block-unsafe-links. - I Guardrail-typ väljer du Anpassad och sedan
main.governance.block_unsafe_linksunder Anpassad funktion. - Under Fas väljer du endast Utdataskydd (efter modellen), eftersom det här är en svarsprincip.
- Ange Rank till
20och klicka sedan på Skapa princip.
Steg 4: Verifiera
Alla tre policyerna visas nu på tjänstens flik Policyer. Använd testmiljön för att kontrollera att var och en utlöses:
- På modelltjänstsidan klickar du på Chatta på lekplatsen.
- Skicka en prompt som begär osäkert eller skadligt innehåll. Skyddsräcket för osäkert innehåll blockerar det, och svaret rapporterar att innehållet blockerades enligt policy.
- Skicka
Tell me about Project Aurora.Begärandeprincipen blockerar den med anledningen till att begäranden om konfidentiella projekt inte tillåts. - Skicka en uppmaning som gör att modellen returnerar en
http://länk. Responspolicyn blockerar den i utdatafasen (ON RESULT) med anledningen att Response innehöll en osäker länk och blockerades av policyn. - Skicka en vanlig fråga. Den returnerar ett normalt slutförande.
För att testa tjänsten från dina egna appar eller skript istället, se Query model APIs (model services).
Städa upp
När du är klar tar du bort principerna på fliken Principer : öppna varje princip som du har skapat och ta bort den. Du kan också ta bort de anpassade funktionerna:
DROP FUNCTION IF EXISTS main.governance.block_confidential_codename;
DROP FUNCTION IF EXISTS main.governance.block_unsafe_links;