Quickstart: Beveiligde materiaaldetectie voor code (preview)
De functie Protected Material for Code biedt een uitgebreide oplossing voor het identificeren van AI-uitvoer die overeenkomen met code uit bestaande GitHub-opslagplaatsen. Met deze functie kunnen modellen voor het genereren van code met vertrouwen worden gebruikt, op een manier die de transparantie voor eindgebruikers verbetert en naleving van het organisatiebeleid bevordert.
Let op
De codescanner/indexeerfunctie van de inhoudsveiligheidsservice is alleen actueel tot en met 6 november 2021. Code die na deze datum is toegevoegd aan GitHub, wordt niet gedetecteerd. Gebruik uw eigen discretie bij het gebruik van beveiligd materiaal voor code om recente codeteksten te detecteren.
De belangrijkste doelstellingen van de functie Beveiligde materiaaldetectie voor code voor door AI gegenereerde code zijn:
- Het detecteren en voorkomen van de weergave van beveiligde code die door AI-modellen wordt gegenereerd.
- Organisaties in staat stellen risico's te beheren die zijn gekoppeld aan door AI gegenereerde code.
- Om ervoor te zorgen dat door AI gegenereerde code voldoet aan wettelijke, ethische en organisatiebeleidsnormen.
Zie de conceptpagina voor de detectie van beveiligde materialen voor meer informatie over de detectie van beveiligde materialen. Zie de sectie Invoervereisten van het overzicht voor API-invoerlimieten.
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- Zodra u uw Azure-abonnement hebt, maakt u een Content Safety-resource in Azure Portal om uw sleutel en eindpunt op te halen. Voer een unieke naam in voor uw resource, selecteer uw abonnement en selecteer een resourcegroep, ondersteunde regio (zie Beschikbaarheid van regio) en ondersteunde prijscategorie. Selecteer vervolgens Maken.
- Het implementeren van de resource duurt enkele minuten. Nadat deze is voltooid, gaat u naar de resource. Selecteer in het linkerdeelvenster onder Resourcebeheer de optie Abonnementssleutel en Eindpunt. Het eindpunt en een van de sleutels worden gebruikt om API's aan te roepen.
- cURL geïnstalleerd
Code analyseren voor detectie van beveiligde materialen
In de volgende sectie wordt een voorbeeldaanvraag met cURL beschreven. Plak de onderstaande opdracht in een teksteditor en breng de volgende wijzigingen aan.
- Vervang door
<endpoint>
de eindpunt-URL die is gekoppeld aan uw resource. - Vervang door
<your_subscription_key>
een van de sleutels die bij uw resource worden geleverd. - Vervang eventueel het
"code"
veld in de hoofdtekst door uw eigen code die u wilt analyseren.Tip
Zie invoervereisten voor maximale codelengtebeperkingen. Detectie van beveiligde materialen is bedoeld om te worden uitgevoerd op LLM-voltooiingen, niet op gebruikersprompts.
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()"
}'
De onderstaande velden moeten worden opgenomen in de URL:
Naam | Vereist? | Beschrijving | Type |
---|---|---|---|
API-versie | Vereist | Dit is de API-versie die moet worden gecontroleerd. De huidige versie is: api-version=2024-09-15-preview. Voorbeeld: <endpoint>/contentsafety/text:detectProtectedMaterialForCode?api-version=2024-09-15-preview |
String |
De parameters in de aanvraagbody worden gedefinieerd in deze tabel:
Naam | Vereist? | Beschrijving | Type |
---|---|---|---|
code | Vereist | Dit is de onbewerkte code die moet worden gecontroleerd. Andere niet-ascii-tekens kunnen worden opgenomen. | String |
Zie de volgende voorbeeldwaarde voor het "code"
veld:
{
"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()"
}
Open een opdrachtpromptvenster en voer de cURL-opdracht uit.
Het API-antwoord interpreteren
U ziet nu de resultaten van de beveiligde materiaaldetectie die worden weergegeven als JSON-gegevens in de console-uitvoer. Voorbeeld:
{
"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"
]
}
]
}
}
De JSON-velden in de uitvoer worden hier gedefinieerd:
Name | Omschrijving | Type |
---|---|---|
protectedMaterialAnalysis | Analyseresultaten met details over gedetecteerde beveiligde code. | Object |
Gedetecteerd | Hiermee wordt aangegeven of beveiligd materiaal uit GitHub-opslagplaatsen is gedetecteerd. | Booleaanse waarde |
codeCitations | Lijst met bronvermeldingen waarin de beveiligde code is gevonden. | Matrix |
codeCitations.license | Het licentietype dat is gekoppeld aan de gedetecteerde code. | String |
codeCitations.sourceUrls | Een lijst met URL's uit GitHub-opslagplaatsen waar de beveiligde code is gedetecteerd. | Matrix van tekenreeksen |
Resources opschonen
Als u een Azure AI-servicesabonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.
Gerelateerde inhoud
- Concepten voor beveiligde materiaaldetectie
- Configureer filters voor elke categorie en test op gegevenssets met Behulp van Content Safety Studio, exporteer de code en implementeer.