Útmutató: Szolgáltatási politika korlátok hozzáadása egy modell szolgáltatáshoz

Important

A szolgáltatási szabályzatok Béta állapotban vannak. A Unity Gateway általánosan elérhető, de a szolgáltatási szabályzatok külön vannak engedélyezve. A Workspace adminjai a szolgáltatási szabályzatokhoz való hozzáférést a Előzetesek oldalon szabályozhatják a Unity Ai Gateway Service Policies előzetes bekapcsolásával. Lásd: Munkaterületszintű előzetes verziók kezelése.

Ez a tutorial két kiegészítő módon vezeti végig, hogyan lehet korlátokat hozzáadni egy Modell Szolgáltatáshoz. Azure Databricks-en a guardrails szolgáltatási irányelvek. A modellszolgáltatás egy Azure Databricks üzemeltetett modellt vagy külső szolgáltatót( például OpenAI, Anthropic vagy Google) is használhat, és mindkettőt ugyanúgy szabályozhatja:

  • Beépített szolgáltatásszabályzatok (védőkorlátok):: felügyelt, Azure Databricks által biztosított ellenőrzések olyan gyakori kockázatokra, mint a PII, a nem biztonságos tartalom, a feltörési kísérletek és a hallucinációk. Egyet egyszerűen a kezelőfelületen kiválasztva csatolhat, kódírás nélkül.
  • Egyéni szolgáltatásszabályzatok: A szervezetre jellemző szabályokhoz írt SQL-függvények, például a bizalmas projektkódnév vagy a tiltott válaszminta.

A szolgáltatásházirend-fogalmakról, a beépített védőkorlátokról és a teljes szerzői hivatkozásról lásd: Szolgáltatásszabályzatok az AI biztonságossá tételéhez, szolgáltatásszabályzat létrehozása és csatolása, valamint szolgáltatásszabályzat-függvények referenciája.

Mindkettőt ugyanúgy csatolod, egy modellszolgáltatás Szabályzatok füléről a Unity Gateway UI-ban, és összekeverheted őket. Azure Databricks két ponton értékeli mindegyiket:

  • A bemeneti fázis (ON CALL) a modell megidézése előtt.
  • A kimeneti fázis (ON EREDMÉNY) a modell válasza után.

A felhasználói felületen kiválaszthatja a szabályzat csatolásának fázisát. Az egyéni szabályzat a(z) event:type szerinti elágazással egy fázisra is korlátozható.

Forgatókönyv: A csapat egy LLM-et tesz elérhetővé egy modellszolgáltatáson (main.default.team_chat) keresztül, amelyet az alkalmazások és az ügynökök meghívnak. Biztonságos vagy káros tartalmakat szeretnél menedzselt korláttal blokkolni, minden olyan promptot, amely bizalmas projektet említ, és azokat a válaszokat, amelyek nem biztonságos linket tartalmaznak, mindezt anélkül, hogy megváltoztatnád az alkalmazáskódot.

Az oktatóanyag végére a következőkre lesz szüksége:

  • A szolgáltatásba beépített, nem biztonságos tartalmak elleni védőkorlát.
  • Egy egyedi kérési szabályzat, amely tiltja a bizalmas kódnevet a bemeneti fázisban (HÍVÁSON).
  • Egy egyedi válaszpolitika, amely blokkolja a nem biztonságos hivatkozásokat a kimeneti fázisban (ON RESULT).
  • Mindhárom elemet a modellszolgáltatás tesztkörnyezetében csatolták és ellenőrizték.

Prerequisites

  • A Unity Cataloghoz engedélyezett munkaterület. Tekintse meg a Unity Catalog használatának első lépéseit.
  • A Unity Ai Gateway Szolgáltatási Szabályzatok előnézete be lett kapcsolva a munkaterületedhez. Egy munkaterület adminisztrátora a Előnézetek oldalán kapcsolja be. Lásd: Munkaterületszintű előzetes verziók kezelése.
  • Egy modellszolgáltatás, amely szabályozható, és EXECUTE rajta is tesztelhető. A létrehozáshoz lásd: Egyedi modellszolgáltatás létrehozása . Ez az oktatóanyag a main.default.team_chat-t használja.
  • MANAGE a Modellszolgáltatásban a szabályzatok csatolásához.
  • CREATE FUNCTION az egyéni szabályzatfüggvények létrehozására szolgáló sémán (main.governance ebben az oktatóanyagban).
  • A beépített védőkorlát esetében: a védőkorlát ellenőrzését futtató kiértékelő modell (az LLM-bíró) előre ki van jelölve, így nincs szükség beállításra. Ha egy másik értékelőt választasz a Haladó beállítások között, szükséged van EXECUTE rá, valamint USE CATALOG és USE SCHEMA a katalógusán és a sémáján.

1. lépés: Beépített védőkorlát alkalmazása

A beépített védőkorlátok felügyelt, LLM-bíráló alapú ellenőrzések. Válasszon egyet a Guardrail típus menüjéből; az ellenőrzést végrehajtó kiértékelő modellszolgáltatás (az LLM-bíró) előre ki van jelölve Önnek. A rendelkezésre álló védőkorlátok a következők:

  • Nem biztonságos tartalom (system.ai.block_unsafe_content): letiltja a nem biztonságos vagy káros tartalmakat.
  • Jailbreak (system.ai.block_jailbreak): tagadja a gyorsinjektálási és a jailbreak-kísérleteket (csak kérések).
  • Hallucináció (system.ai.block_hallucination): tagadja a hallucinált válaszokat (csak válaszok).

Csatold a veszélyes tartalom korlátot a modell szolgáltatásodhoz:

  1. A munkaterület oldalsávjában kattintson az AI-átjáróra.
  2. A Modellek lapon válassza ki a modellszolgáltatást (main.default.team_chat).
  3. Nyissa meg a Szabályzatok lapot, majd kattintson az Új szabályzat gombra.
  4. Adjon meg egy nevet, például block-unsafe-content.
  5. A(z) Alkalmazva erre alatt tartsa meg a(z) Minden fiókfelhasználó beállítást, vagy korlátozza a szabályzat hatókörét adott identitásokra.
  6. Guardrail típusbanválaszd ki az Unsafe Content-et.
  7. Állítsa be a Rangot a következőre1: . A rangsor a kiértékelési sorrendet állítja be: a legalacsonyabb rang először a kérésen fut, majd a válaszon utolsó.
  8. A Fázis alatt jelölje be mind a bemeneti védelmi korlátokat (A modell előtt), mind a kimeneti védelmi korlátokat (A modell után), hogy a védelmi korlát a kérelmeken és a válaszokon is lefusson.
  9. Kattintson a Create policy (Szabályzat létrehozása) parancsra.

A védőkorlát egy előre kiválasztott Kiértékelő modellszolgáltatást (az ellenőrzést végrehajtó LLM-bírót) használ. Egy másik modell használatához a szabályzat létrehozása előtt nyissa le a Speciális beállítások elemet. Szükséged van EXECUTE a kiválasztott modellszolgáltatáson, valamint USE CATALOG és USE SCHEMA annak katalógusán és sémáján.

Note

Miután csatolt vagy módosított egy szabályzatot egy modellszolgáltatáson, a tesztelés előtt hagyjon egy rövid időt a módosítás érvénybe lépésére. A szolgáltatási szabályzatok bétaverziója során néhány percet is igénybe vehet, amíg a módosítások érvénybe lépnek.

2. lépés: Egyéni kérelemszabályzat hozzáadása

A védőkorlátok gyakori kockázatokat fednek le. Egy szervezetre jellemző szabályhoz írj egyedi szabályt, akár SQL függvényt, akár LLM-as-a-judge szabályt. Ez az oktató SQL-t használ. Az egyedi SQL-politika egy UDF, amely (event VARIANT) bemenetet fogad, és egy döntést ad vissza. Olvassa el az üzenet szövegét a event:context.message elemből, amely az utolsó felhasználói vagy asszisztensi üzenet API-független leképezése.

Ez a szabályzat tagad minden olyan kérést, amely bizalmas projektkódnevet említ. A event:type::string = 'request' ellenőrzés a bemeneti fázisra korlátozza (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 és lower az SQL-részhalmaz része, amelyet a szabályzati testületek támogatnak. A teljes listát, valamint a szabályzatfüggvény írására vonatkozó szabályokat lásd a A szolgáltatási szabályzatfüggvény referenciája című témakörben.

Csatolja a függvényt egyéni szabályzatként, amely a kérelem fázisára terjed ki:

  1. A modellszolgáltatás Szabályzatok lapján kattintson az Új szabályzat gombra, és adjon meg egy nevet, például block-codename.
  2. A Guardrail típusban válassza az Egyéni lehetőséget.
  3. Kattintson az Egyéni függvény, majd a Függvény kijelölése elemre, és válassza a lehetőséget main.governance.block_confidential_codename.
  4. A Fázis alatt csak a bemeneti védőkorlátokat válassza ki (A modell előtt), mert ez a kérésekre vonatkozó szabályzat.
  5. Állítsa be a Rangsor beállítást 10, majd kattintson a Szabályzat létrehozása gombra.

3. lépés: Egyéni válaszszabályzat hozzáadása

A modellek olyan tartalmakat is visszaadhatnak, amelyeket nem szeretne átadni. Ez a szabályzat tagadja a nem biztonságos hivatkozást ( http:// URL-címet vagy javascript: URI-t) tartalmazó választ. A event:type::string = 'response' ellenőrzés a kimeneti fázisra (AZ EREDMÉNYNÉL) korlátozza ezt, így az a felhasználó sem aktiválja azt már a bemenetkor, aki egy promptban csak megemlíti ezeket a sémákat:

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;

Csatolja a függvényt egyéni szabályzatként, amely a válaszfázisra terjed ki:

  1. A Szabályzatok lapon kattintson az Új házirend elemre, és adjon meg egy nevet, például block-unsafe-links.
  2. A Guardrail típusa mezőben válassza az Egyéni lehetőséget, majd a main.governance.block_unsafe_links alatt válassza ki a(z) elemet.
  3. A Fázis területen csak a kimeneti védőkorlátokat válassza ki (a modell után), mert ez egy válaszszabályzat.
  4. Állítsa be a Rangsor beállítást 20, majd kattintson a Szabályzat létrehozása gombra.

4. lépés: Ellenőrzés

Mindhárom szabályzat megjelenik a szolgáltatás Szabályzatok lapján. Használja a játszóteret, hogy megerősítse az egyes tűzeseteket:

  1. A modellszolgáltatás oldalán kattintson a Csevegés a játszótéren elemre.
  2. Küldj egy promptot, amely veszélyes vagy káros tartalmat kér. Az unsafe content védőkorlát blokkolja, és a válasz azt állítja, hogy a tartalmat a szabályzat tiltotta.
  3. Küldés Tell me about Project Aurora. A kérelmi szabályzat a következő indokkal letiltja: A bizalmas projektekre vonatkozó kérelmek nem engedélyezettek.
  4. Küldjön egy üzenetet, amely arra kéri, hogy a modell egy hivatkozást adjon vissza http:// . A válaszszabályzat a kimeneti fázisban (ON RESULT) blokkolja azt a következő indokkal: A válasz nem biztonságos hivatkozást tartalmazott, ezért a szabályzat blokkolta.
  5. Küldjön egy egyszerű promptot. Normál befejezést ad vissza.

Ha a szolgáltatást saját alkalmazásaidból vagy szkriptjeidből tesztelheted, nézd meg a lekérdezési alapokat és beágyazási modelleket.

Takarítás

Ha végzett, távolítsa el a szabályzatokat a Szabályzatok lapon: nyissa meg és törölje az összes létrehozott szabályzatot. Ezután szükség esetén elveti az egyéni függvényeket:

DROP FUNCTION IF EXISTS main.governance.block_confidential_codename;
DROP FUNCTION IF EXISTS main.governance.block_unsafe_links;

Következő lépések