Rychlý start: Detekce chráněných materiálů pro kód (Preview)
Funkce Chráněný materiál pro kód poskytuje komplexní řešení pro identifikaci výstupů AI, které odpovídají kódu z existujících úložišť GitHub. Tato funkce umožňuje použití modelů generování kódu s jistotou způsobem, který zvyšuje transparentnost koncovým uživatelům a podporuje dodržování zásad organizace.
Upozornění
Skener kódu/indexer služby content safety je aktuální pouze do 6. listopadu 2021. Kód, který byl přidán do GitHubu po tomto datu, se nerozpozná. Při použití chráněného materiálu pro kód použijte vlastní uvážení k detekci nedávných těl kódu.
Klíčovými cíli funkce Detekce chráněných materiálů pro funkci kódu generovaného AI jsou:
- Detekce a zabránění zobrazení chráněného kódu generovaného modely AI
- Aby organizace mohly spravovat rizika spojená s kódem vygenerovaným AI.
- Aby byl kód vygenerovaný pomocí umělé inteligence v souladu s právními, etickými a organizačními standardy zásad.
Další informace o detekci chráněných materiálů najdete na stránce s konceptem detekce chráněných materiálů. Informace o limitech vstupu rozhraní API najdete v části Požadavky na vstup v části Přehled.
Požadavky
- Předplatné Azure – Vytvoření předplatného zdarma
- Jakmile budete mít předplatné Azure, vytvořte na webu Azure Portal prostředek zabezpečení obsahu, abyste získali svůj klíč a koncový bod. Zadejte jedinečný název vašeho prostředku, vyberte své předplatné a vyberte skupinu prostředků, podporovanou oblast (viz Dostupnost oblastí) a podporovanou cenovou úroveň. Pak vyberte Vytvořit.
- Nasazení prostředku trvá několik minut. Po dokončení vyberte přejít k prostředku. V levém podokně v části Správa prostředků vyberte Klíč předplatného a koncový bod. Koncový bod a jeden z klíčů se používají k volání rozhraní API.
- Nainstalovaný cURL
Analýza kódu pro detekci chráněných materiálů
Následující část vás provede ukázkovým požadavkem s cURL. Vložte následující příkaz do textového editoru a proveďte následující změny.
- Nahraďte
<endpoint>
adresou URL koncového bodu přidruženou k vašemu prostředku. - Nahraďte
<your_subscription_key>
jedním z klíčů, které jsou součástí vašeho prostředku. - Volitelně můžete pole v těle nahradit
"code"
vlastním kódem, který chcete analyzovat.Tip
Viz Požadavky na vstup pro maximální omezení délky kódu. Detekce chráněných materiálů je určená ke spuštění při dokončování LLM, nikoli při zobrazování výzev uživatelů.
curl --location --request POST '<endpoint>/contentsafety/text:detectProtectedMaterialForCode?api-version=2024-09-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data-raw '{
"code": "python import pygame pygame.init() win = pygame.display.set_mode((500, 500)) pygame.display.set_caption(My Game) x = 50 y = 50 width = 40 height = 60 vel = 5 run = True while run: pygame.time.delay(100) for event in pygame.event.get(): if event.type == pygame.QUIT: run = False keys = pygame.key.get_pressed() if keys[pygame.K_LEFT] and x > vel: x -= vel if keys[pygame.K_RIGHT] and x < 500 - width - vel: x += vel if keys[pygame.K_UP] and y > vel: y -= vel if keys[pygame.K_DOWN] and y < 500 - height - vel: y += vel win.fill((0, 0, 0)) pygame.draw.rect(win, (255, 0, 0), (x, y, width, height)) pygame.display.update() pygame.quit()"
}'
Následující pole musí být zahrnuta v adrese URL:
Název | Povinný? | Popis | Typ |
---|---|---|---|
Verze rozhraní API | Požaduje se | Toto je verze rozhraní API, která se má zkontrolovat. Aktuální verze je: api-version=2024-09-15-preview. Příklad: <endpoint>/contentsafety/text:detectProtectedMaterialForCode?api-version=2024-09-15-preview |
String |
Parametry v textu požadavku jsou definovány v této tabulce:
Název | Povinný? | Popis | Typ |
---|---|---|---|
kód | Požaduje se | Toto je nezpracovaný kód, který se má zkontrolovat. Můžete zahrnout i jiné znaky, které nejsou ascii. | String |
Podívejte se na následující ukázkovou hodnotu "code"
pole:
{
"code": "python import pygame pygame.init() win = pygame.display.set_mode((500, 500)) pygame.display.set_caption(My Game) x = 50 y = 50 width = 40 height = 60 vel = 5 run = True while run: pygame.time.delay(100) for event in pygame.event.get(): if event.type == pygame.QUIT: run = False keys = pygame.key.get_pressed() if keys[pygame.K_LEFT] and x > vel: x -= vel if keys[pygame.K_RIGHT] and x < 500 - width - vel: x += vel if keys[pygame.K_UP] and y > vel: y -= vel if keys[pygame.K_DOWN] and y < 500 - height - vel: y += vel win.fill((0, 0, 0)) pygame.draw.rect(win, (255, 0, 0), (x, y, width, height)) pygame.display.update() pygame.quit()"
}
Otevřete okno příkazového řádku a spusťte příkaz cURL.
Interpretace odpovědi rozhraní API
Ve výstupu konzoly by se měly zobrazit výsledky detekce chráněných materiálů jako data JSON. Příklad:
{
"protectedMaterialAnalysis": {
"detected": true,
"codeCitations": [
{
"license": "NOASSERTION",
"sourceUrls": [
"https://github.com/kolejny-projekt-z-kck/game-/tree/f134099ce970da951bac9baac83c7885e991c676/ganeee.py",
"https://github.com/Felipe-Velasco/Modulo-Pygame/tree/11490c44a951812dc0c6424b68b1e14fc5cc4c0b/pygame%20basics.py",
"https://github.com/bwootton/firstgame/tree/70d722a6b1ccb79bfa56d9cc69932051848c44bf/jump.py",
"https://github.com/Jason017/Pygame-Learning-Module/tree/17cd69f169d3759e00816ed4a3795dd6db7e157f/pygameModule02.py",
"https://github.com/Coders-Brothers/pygame-tutorial/tree/1b481f5687cdda7c0765089780ef451af6e175cd/lesson-2.py"
]
}
]
}
}
Pole JSON ve výstupu jsou definována tady:
Název | Popis | Typ |
---|---|---|
protectedMaterialAnalysis | Výsledky analýzy obsahující podrobnosti o zjištěném chráněném kódu | Objekt |
zjištěný | Označuje, jestli byl zjištěn chráněný materiál z úložišť GitHubu. | Logická hodnota |
codeCitations | Seznam citací, ve kterých byl chráněný kód nalezen. | Pole |
codeCitations.license | Typ licence přidružený k zjištěnému kódu. | String |
codeCitations.sourceUrls | Seznam adres URL z úložišť GitHubu, kde byl zjištěn chráněný kód. | Pole řetězců |
Vyčištění prostředků
Pokud chcete vyčistit a odebrat předplatné služeb Azure AI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.
Související obsah
- Koncepty detekce chráněných materiálů
- Nakonfigurujte filtry pro každou kategorii a otestujte datové sady pomocí content Safety Studia, exportujte kód a nasaďte ho.