Azure AI Content Veiligheid clientbibliotheek voor Python - versie 1.0.0
Azure AI Content Veiligheid detecteert schadelijke door gebruikers gegenereerde en AI-gegenereerde inhoud in toepassingen en services. Inhoudsveiligheid omvat tekst- en afbeeldings-API's waarmee u materiaal kunt detecteren dat schadelijk is:
- Tekstanalyse-API: Hiermee wordt tekst gescand op seksuele inhoud, geweld, haat en zelfbeschadiging met niveaus met meerdere ernstniveaus.
- Afbeeldingsanalyse-API: scant afbeeldingen op seksuele inhoud, geweld, haat en zelfbeschadiging met niveaus met meerdere ernstniveaus.
- Beheer-API's voor tekstblokkeringslijsten: de standaard-AI-classificaties zijn voldoende voor de meeste behoeften op het veiligheidsniveau van inhoud; Mogelijk moet u echter controleren op termen die specifiek zijn voor uw use-case. U kunt blokkeringslijsten met termen maken voor gebruik met de Text-API.
Documentatie
Er is diverse documentatie beschikbaar om u op weg te helpen
Aan de slag
Vereisten
- Python 3.7 of hoger is vereist voor het gebruik van dit pakket.
- U hebt een Azure-abonnement nodig om dit pakket te gebruiken.
- Een Azure AI Content Veiligheid resource, als er geen bestaande resource is, kunt u een nieuwe maken.
Het pakket installeren
pip install azure-ai-contentsafety
De client verifiëren
Het eindpunt ophalen
U kunt het eindpunt voor uw Azure AI Content Veiligheid serviceresource vinden met behulp van Azure Portal of Azure CLI:
# Get the endpoint for the Azure AI Content Safety service resource
az cognitiveservices account show --name "resource-name" --resource-group "resource-group-name" --query "properties.endpoint"
Een ContentSafetyClient/BlocklistClient met API-sleutel maken
Als u een API-sleutel als parameter credential
wilt gebruiken.
Stap 1: haal de API-sleutel op. De API-sleutel vindt u in Azure Portal of door de volgende Azure CLI-opdracht uit te voeren:
az cognitiveservices account keys list --name "<resource-name>" --resource-group "<resource-group-name>"
Stap 2: Geef de sleutel door als een tekenreeks in een exemplaar van
AzureKeyCredential
.from azure.core.credentials import AzureKeyCredential from azure.ai.contentsafety import ContentSafetyClient, BlocklistClient endpoint = "https://<my-custom-subdomain>.cognitiveservices.azure.com/" credential = AzureKeyCredential("<api_key>") content_safety_client = ContentSafetyClient(endpoint, credential) blocklist_client = BlocklistClient(endpoint, credential)
Een ContentSafetyClient/BlocklistClient maken met Microsoft Entra id-tokenreferentie
Stap 1: schakel Microsoft Entra-id in voor uw resource. Raadpleeg dit document Verifiëren met Microsoft Entra-id voor de stappen voor het inschakelen van Microsoft Entra-id voor uw resource.
De belangrijkste stappen zijn:
- Maak een resource met een aangepast subdomein.
- Maak een service-principal en wijs de rol Cognitive Services-gebruiker eraan toe.
Stap 2: Stel de waarden van de client-id, tenant-id en clientgeheim van de Microsoft Entra-toepassing in als omgevingsvariabelen:
AZURE_CLIENT_ID
,AZURE_TENANT_ID
,AZURE_CLIENT_SECRET
.DefaultAzureCredential gebruikt de waarden uit deze omgevingsvariabelen.
from azure.identity import DefaultAzureCredential from azure.ai.contentsafety import ContentSafetyClient, BlocklistClient endpoint = "https://<my-custom-subdomain>.cognitiveservices.azure.com/" credential = DefaultAzureCredential() content_safety_client = ContentSafetyClient(endpoint, credential) blocklist_client = BlocklistClient(endpoint, credential)
Belangrijkste concepten
Beschikbare functies
Er zijn verschillende soorten analyses beschikbaar via deze service. In de volgende tabel worden de momenteel beschikbare API's beschreven.
Functie | Beschrijving |
---|---|
Tekstanalyse-API | Hiermee scant u tekst op seksuele inhoud, geweld, haat en zelfbeschadiging met niveaus met meerdere ernstniveaus. |
Afbeeldingsanalyse-API | Scant afbeeldingen op seksuele inhoud, geweld, haat en zelfbeschadiging met niveaus van meerdere ernstniveaus. |
Beheer-API's voor tekstblokkeringslijsten | De standaard-AI-classificaties zijn voldoende voor de meeste vereisten voor inhoudsveiligheid. Mogelijk moet u echter controleren op termen die specifiek zijn voor uw use-case. U kunt blokkeringslijsten met termen maken voor gebruik met de Text-API. |
Schadecategorieën
Inhoudsveiligheid herkent vier verschillende categorieën aan ongewenste inhoud.
Categorie | Beschrijving |
---|---|
Haat | Haat- en billijkheidsgerelateerde schade verwijst naar alle inhoud die pejoratieve of discriminerende taal aanvalt of gebruikt met verwijzing naar een persoon of identiteitsgroep op basis van bepaalde onderscheidende kenmerken van deze groepen, met inbegrip van maar niet beperkt tot ras, etniciteit, nationaliteit, genderidentiteit en expressie, seksuele geaardheid, religie, immigratiestatus, bekwaamheidsstatus, persoonlijk uiterlijk en lichaamslengte. |
Seksuele | Seksueel beschrijft taal met betrekking tot anatomische organen en geslachtsorganen, romantische relaties, handelingen die in erotische of aanhankelijke termen worden afgeschilderd, zwangerschap, fysieke seksuele handelingen, inclusief die worden afgeschilderd als een aanval of een gedwongen seksuele gewelddadige daad tegen iemands wil, prostitutie, pornografie en misbruik. |
Geweld | Geweld beschrijft taal met betrekking tot fysieke acties die bedoeld zijn om iemand of iets te verwonden, te beschadigen of te doden; beschrijft wapens, wapens en gerelateerde entiteiten, zoals fabrikanten, verenigingen, wetgeving, enzovoort. |
Zelfbeschadiging | Zelfbeschadiging beschrijft taal met betrekking tot fysieke acties die bedoeld zijn om opzettelijk pijn te doen, te verwonden, iemands lichaam te beschadigen of zichzelf te doden. |
Classificatie kan meerdere labels hebben. Wanneer een tekstvoorbeeld bijvoorbeeld het model voor tekstbeheer doorloopt, kan het worden geclassificeerd als zowel seksuele inhoud als geweld.
Ernstniveaus
Elke categorie van schade die door de service wordt toegepast, heeft ook een ernstniveauclassificatie. Het ernstniveau is bedoeld om de ernst aan te geven van de gevolgen van het weergeven van de gemarkeerde inhoud.
Tekst: de huidige versie van het tekstmodel ondersteunt de volledige ernstschaal van 0-7. Het antwoord voert standaard 4 waarden uit: 0, 2, 4 en 6. Elke twee aangrenzende niveaus worden toegewezen aan één niveau. Gebruikers kunnen 'outputType' gebruiken in de aanvraag en deze instellen op 'EightSeverityLevels' om 8 waarden in uitvoer op te halen: 0,1,2,3,4,5,6,7. U kunt definities van ernstniveaus voor tekstinhoud raadplegen voor meer informatie.
- [0,1] -> 0
- [2,3] -> 2
- [4,5] -> 4
- [6,7] -> 6
Afbeelding: De huidige versie van het afbeeldingsmodel ondersteunt de ingekorte versie van de volledige ernstschaal van 0-7. De classificatie retourneert alleen ernst 0, 2, 4 en 6; elke twee aangrenzende niveaus worden toegewezen aan één niveau. U kunt definities van ernstniveaus voor afbeeldingsinhoud raadplegen voor meer informatie.
- [0,1] -> 0
- [2,3] -> 2
- [4,5] -> 4
- [6,7] -> 6
Beheer van tekstblokkeringslijsten
De volgende bewerkingen worden ondersteund voor het beheren van uw tekstbloklijst:
- Een blokkeringslijst maken of wijzigen
- Alle blokkeringslijsten weergeven
- Een blokkeringslijst ophalen op blocklistName
- BlocklistItems toevoegen aan een blokkeringslijst
- BlocklistItems verwijderen uit een blokkeringslijst
- Alle blocklistItems in een blokkeringslijst weergeven op blocklistName
- Een blocklistItem ophalen in een blokkeringslijst door blocklistItemId en blocklistName
- Een blokkeringslijst en alle bijbehorende blokkeringslijsten verwijderen
U kunt de blokkeringslijsten instellen die u wilt gebruiken bij het analyseren van tekst, waarna u het resultaat van de blokkeringslijstovereenkomst kunt ophalen uit het geretourneerde antwoord.
Voorbeelden
De volgende sectie bevat verschillende codefragmenten die betrekking hebben op enkele van de meest voorkomende Taken van de Content Safety-service, waaronder:
Raadpleeg de voorbeeldgegevens voor de gegevens die hier worden gebruikt. Raadpleeg de voorbeelden voor meer voorbeelden.
Tekst analyseren
Tekst analyseren zonder blokkeringslijsten
import os
from azure.ai.contentsafety import ContentSafetyClient
from azure.ai.contentsafety.models import TextCategory
from azure.core.credentials import AzureKeyCredential
from azure.core.exceptions import HttpResponseError
from azure.ai.contentsafety.models import AnalyzeTextOptions
key = os.environ["CONTENT_SAFETY_KEY"]
endpoint = os.environ["CONTENT_SAFETY_ENDPOINT"]
# Create a Content Safety client
client = ContentSafetyClient(endpoint, AzureKeyCredential(key))
# Construct a request
request = AnalyzeTextOptions(text="You are an idiot")
# Analyze text
try:
response = client.analyze_text(request)
except HttpResponseError as e:
print("Analyze text failed.")
if e.error:
print(f"Error code: {e.error.code}")
print(f"Error message: {e.error.message}")
raise
print(e)
raise
hate_result = next(item for item in response.categories_analysis if item.category == TextCategory.HATE)
self_harm_result = next(item for item in response.categories_analysis if item.category == TextCategory.SELF_HARM)
sexual_result = next(item for item in response.categories_analysis if item.category == TextCategory.SEXUAL)
violence_result = next(item for item in response.categories_analysis if item.category == TextCategory.VIOLENCE)
if hate_result:
print(f"Hate severity: {hate_result.severity}")
if self_harm_result:
print(f"SelfHarm severity: {self_harm_result.severity}")
if sexual_result:
print(f"Sexual severity: {sexual_result.severity}")
if violence_result:
print(f"Violence severity: {violence_result.severity}")
Tekst analyseren met blokkeringslijsten
import os
from azure.ai.contentsafety import ContentSafetyClient
from azure.core.credentials import AzureKeyCredential
from azure.ai.contentsafety.models import AnalyzeTextOptions
from azure.core.exceptions import HttpResponseError
key = os.environ["CONTENT_SAFETY_KEY"]
endpoint = os.environ["CONTENT_SAFETY_ENDPOINT"]
# Create a Content Safety client
client = ContentSafetyClient(endpoint, AzureKeyCredential(key))
blocklist_name = "TestBlocklist"
input_text = "I h*te you and I want to k*ll you."
try:
# After you edit your blocklist, it usually takes effect in 5 minutes, please wait some time before analyzing with blocklist after editing.
analysis_result = client.analyze_text(
AnalyzeTextOptions(text=input_text, blocklist_names=[blocklist_name], halt_on_blocklist_hit=False)
)
if analysis_result and analysis_result.blocklists_match:
print("\nBlocklist match results: ")
for match_result in analysis_result.blocklists_match:
print(
f"BlocklistName: {match_result.blocklist_name}, BlockItemId: {match_result.blocklist_item_id}, "
f"BlockItemText: {match_result.blocklist_item_text}"
)
except HttpResponseError as e:
print("\nAnalyze text failed: ")
if e.error:
print(f"Error code: {e.error.code}")
print(f"Error message: {e.error.message}")
raise
print(e)
raise
Afbeelding analyseren
import os
from azure.ai.contentsafety import ContentSafetyClient
from azure.ai.contentsafety.models import ImageCategory
from azure.core.credentials import AzureKeyCredential
from azure.core.exceptions import HttpResponseError
from azure.ai.contentsafety.models import AnalyzeImageOptions, ImageData
key = os.environ["CONTENT_SAFETY_KEY"]
endpoint = os.environ["CONTENT_SAFETY_ENDPOINT"]
image_path = os.path.abspath(os.path.join(os.path.abspath(__file__), "..", "./sample_data/image.jpg"))
# Create a Content Safety client
client = ContentSafetyClient(endpoint, AzureKeyCredential(key))
# Build request
with open(image_path, "rb") as file:
request = AnalyzeImageOptions(image=ImageData(content=file.read()))
# Analyze image
try:
response = client.analyze_image(request)
except HttpResponseError as e:
print("Analyze image failed.")
if e.error:
print(f"Error code: {e.error.code}")
print(f"Error message: {e.error.message}")
raise
print(e)
raise
hate_result = next(item for item in response.categories_analysis if item.category == ImageCategory.HATE)
self_harm_result = next(item for item in response.categories_analysis if item.category == ImageCategory.SELF_HARM)
sexual_result = next(item for item in response.categories_analysis if item.category == ImageCategory.SEXUAL)
violence_result = next(item for item in response.categories_analysis if item.category == ImageCategory.VIOLENCE)
if hate_result:
print(f"Hate severity: {hate_result.severity}")
if self_harm_result:
print(f"SelfHarm severity: {self_harm_result.severity}")
if sexual_result:
print(f"Sexual severity: {sexual_result.severity}")
if violence_result:
print(f"Violence severity: {violence_result.severity}")
Tekstblokkeringslijst beheren
Tekstblokkeringslijst maken of bijwerken
import os
from azure.ai.contentsafety import BlocklistClient
from azure.ai.contentsafety.models import TextBlocklist
from azure.core.credentials import AzureKeyCredential
from azure.core.exceptions import HttpResponseError
key = os.environ["CONTENT_SAFETY_KEY"]
endpoint = os.environ["CONTENT_SAFETY_ENDPOINT"]
# Create a Blocklist client
client = BlocklistClient(endpoint, AzureKeyCredential(key))
blocklist_name = "TestBlocklist"
blocklist_description = "Test blocklist management."
try:
blocklist = client.create_or_update_text_blocklist(
blocklist_name=blocklist_name,
options=TextBlocklist(blocklist_name=blocklist_name, description=blocklist_description),
)
if blocklist:
print("\nBlocklist created or updated: ")
print(f"Name: {blocklist.blocklist_name}, Description: {blocklist.description}")
except HttpResponseError as e:
print("\nCreate or update text blocklist failed: ")
if e.error:
print(f"Error code: {e.error.code}")
print(f"Error message: {e.error.message}")
raise
print(e)
raise
Tekstblokkeringslijsten weergeven
import os
from azure.ai.contentsafety import BlocklistClient
from azure.core.credentials import AzureKeyCredential
from azure.core.exceptions import HttpResponseError
key = os.environ["CONTENT_SAFETY_KEY"]
endpoint = os.environ["CONTENT_SAFETY_ENDPOINT"]
# Create a Blocklist client
client = BlocklistClient(endpoint, AzureKeyCredential(key))
try:
blocklists = client.list_text_blocklists()
if blocklists:
print("\nList blocklists: ")
for blocklist in blocklists:
print(f"Name: {blocklist.blocklist_name}, Description: {blocklist.description}")
except HttpResponseError as e:
print("\nList text blocklists failed: ")
if e.error:
print(f"Error code: {e.error.code}")
print(f"Error message: {e.error.message}")
raise
print(e)
raise
Tekstblokkeringslijst ophalen
import os
from azure.ai.contentsafety import BlocklistClient
from azure.core.credentials import AzureKeyCredential
from azure.core.exceptions import HttpResponseError
key = os.environ["CONTENT_SAFETY_KEY"]
endpoint = os.environ["CONTENT_SAFETY_ENDPOINT"]
# Create a Blocklist client
client = BlocklistClient(endpoint, AzureKeyCredential(key))
blocklist_name = "TestBlocklist"
try:
blocklist = client.get_text_blocklist(blocklist_name=blocklist_name)
if blocklist:
print("\nGet blocklist: ")
print(f"Name: {blocklist.blocklist_name}, Description: {blocklist.description}")
except HttpResponseError as e:
print("\nGet text blocklist failed: ")
if e.error:
print(f"Error code: {e.error.code}")
print(f"Error message: {e.error.message}")
raise
print(e)
raise
Tekstblokkeringslijst verwijderen
import os
from azure.ai.contentsafety import BlocklistClient
from azure.core.credentials import AzureKeyCredential
from azure.core.exceptions import HttpResponseError
key = os.environ["CONTENT_SAFETY_KEY"]
endpoint = os.environ["CONTENT_SAFETY_ENDPOINT"]
# Create a Blocklist client
client = BlocklistClient(endpoint, AzureKeyCredential(key))
blocklist_name = "TestBlocklist"
try:
client.delete_text_blocklist(blocklist_name=blocklist_name)
print(f"\nDeleted blocklist: {blocklist_name}")
except HttpResponseError as e:
print("\nDelete blocklist failed:")
if e.error:
print(f"Error code: {e.error.code}")
print(f"Error message: {e.error.message}")
raise
print(e)
raise
BlockItems toevoegen
import os
from azure.ai.contentsafety import BlocklistClient
from azure.ai.contentsafety.models import AddOrUpdateTextBlocklistItemsOptions, TextBlocklistItem
from azure.core.credentials import AzureKeyCredential
from azure.core.exceptions import HttpResponseError
key = os.environ["CONTENT_SAFETY_KEY"]
endpoint = os.environ["CONTENT_SAFETY_ENDPOINT"]
# Create a Blocklist client
client = BlocklistClient(endpoint, AzureKeyCredential(key))
blocklist_name = "TestBlocklist"
block_item_text_1 = "k*ll"
block_item_text_2 = "h*te"
block_items = [TextBlocklistItem(text=block_item_text_1), TextBlocklistItem(text=block_item_text_2)]
try:
result = client.add_or_update_blocklist_items(
blocklist_name=blocklist_name, options=AddOrUpdateTextBlocklistItemsOptions(blocklist_items=block_items)
)
for block_item in result.blocklist_items:
print(
f"BlockItemId: {block_item.blocklist_item_id}, Text: {block_item.text}, Description: {block_item.description}"
)
except HttpResponseError as e:
print("\nAdd block items failed: ")
if e.error:
print(f"Error code: {e.error.code}")
print(f"Error message: {e.error.message}")
raise
print(e)
raise
BlockItems weergeven
import os
from azure.ai.contentsafety import BlocklistClient
from azure.core.credentials import AzureKeyCredential
from azure.core.exceptions import HttpResponseError
key = os.environ["CONTENT_SAFETY_KEY"]
endpoint = os.environ["CONTENT_SAFETY_ENDPOINT"]
# Create a Blocklist client
client = BlocklistClient(endpoint, AzureKeyCredential(key))
blocklist_name = "TestBlocklist"
try:
block_items = client.list_text_blocklist_items(blocklist_name=blocklist_name)
if block_items:
print("\nList block items: ")
for block_item in block_items:
print(
f"BlockItemId: {block_item.blocklist_item_id}, Text: {block_item.text}, "
f"Description: {block_item.description}"
)
except HttpResponseError as e:
print("\nList block items failed: ")
if e.error:
print(f"Error code: {e.error.code}")
print(f"Error message: {e.error.message}")
raise
print(e)
raise
BlockItem ophalen
import os
from azure.ai.contentsafety import BlocklistClient
from azure.core.credentials import AzureKeyCredential
from azure.ai.contentsafety.models import TextBlocklistItem, AddOrUpdateTextBlocklistItemsOptions
from azure.core.exceptions import HttpResponseError
key = os.environ["CONTENT_SAFETY_KEY"]
endpoint = os.environ["CONTENT_SAFETY_ENDPOINT"]
# Create a Blocklist client
client = BlocklistClient(endpoint, AzureKeyCredential(key))
blocklist_name = "TestBlocklist"
block_item_text_1 = "k*ll"
try:
# Add a blockItem
add_result = client.add_or_update_blocklist_items(
blocklist_name=blocklist_name,
options=AddOrUpdateTextBlocklistItemsOptions(blocklist_items=[TextBlocklistItem(text=block_item_text_1)]),
)
if not add_result or not add_result.blocklist_items or len(add_result.blocklist_items) <= 0:
raise RuntimeError("BlockItem not created.")
block_item_id = add_result.blocklist_items[0].blocklist_item_id
# Get this blockItem by blockItemId
block_item = client.get_text_blocklist_item(blocklist_name=blocklist_name, blocklist_item_id=block_item_id)
print("\nGet blockitem: ")
print(
f"BlockItemId: {block_item.blocklist_item_id}, Text: {block_item.text}, Description: {block_item.description}"
)
except HttpResponseError as e:
print("\nGet block item failed: ")
if e.error:
print(f"Error code: {e.error.code}")
print(f"Error message: {e.error.message}")
raise
print(e)
raise
BlockItems verwijderen
import os
from azure.ai.contentsafety import BlocklistClient
from azure.core.credentials import AzureKeyCredential
from azure.ai.contentsafety.models import (
TextBlocklistItem,
AddOrUpdateTextBlocklistItemsOptions,
RemoveTextBlocklistItemsOptions,
)
from azure.core.exceptions import HttpResponseError
key = os.environ["CONTENT_SAFETY_KEY"]
endpoint = os.environ["CONTENT_SAFETY_ENDPOINT"]
# Create a Blocklist client
client = BlocklistClient(endpoint, AzureKeyCredential(key))
blocklist_name = "TestBlocklist"
block_item_text_1 = "k*ll"
try:
# Add a blockItem
add_result = client.add_or_update_blocklist_items(
blocklist_name=blocklist_name,
options=AddOrUpdateTextBlocklistItemsOptions(blocklist_items=[TextBlocklistItem(text=block_item_text_1)]),
)
if not add_result or not add_result.blocklist_items or len(add_result.blocklist_items) <= 0:
raise RuntimeError("BlockItem not created.")
block_item_id = add_result.blocklist_items[0].blocklist_item_id
# Remove this blockItem by blockItemId
client.remove_blocklist_items(
blocklist_name=blocklist_name, options=RemoveTextBlocklistItemsOptions(blocklist_item_ids=[block_item_id])
)
print(f"\nRemoved blockItem: {add_result.blocklist_items[0].blocklist_item_id}")
except HttpResponseError as e:
print("\nRemove block item failed: ")
if e.error:
print(f"Error code: {e.error.code}")
print(f"Error message: {e.error.message}")
raise
print(e)
raise
Problemen oplossen
Algemeen
Azure AI Content Veiligheid clientbibliotheek genereert uitzonderingen die zijn gedefinieerd in Azure Core. Foutcodes worden als volgt gedefinieerd:
Foutcode | Mogelijke redenen | Suggesties |
---|---|---|
InvalidRequestBody | Een of meer velden in de aanvraagbody komen niet overeen met de API-definitie. | 1. Controleer de API-versie die u hebt opgegeven in de API-aanroep. 2. Controleer de bijbehorende API-definitie voor de API-versie die u hebt geselecteerd. |
InvalidResourceName | De resourcenaam die u in de URL hebt opgegeven, voldoet niet aan de vereisten, zoals de naam van de blokkeringslijst, de id van de blokkeringslijst, enzovoort. | 1. Controleer de API-versie die u hebt opgegeven in de API-aanroep. 2. Controleer of de opgegeven naam ongeldige tekens bevat volgens de API-definitie. |
ResourceNotFound | De resource die u in de URL hebt opgegeven, bestaat mogelijk niet, zoals de naam van de blokkeringslijst. | 1. Controleer de API-versie die u hebt opgegeven in de API-aanroep. 2. Controleer het bestaan van de resource die is opgegeven in de URL. |
InternalError | Er zijn enkele onverwachte situaties aan de serverzijde geactiveerd. | 1. U kunt het na een korte periode een paar keer opnieuw proberen en het probleem opnieuw zien. 2. Neem contact op met de ondersteuning van Azure als dit probleem zich blijft voordoen. |
ServerBusy | De aanvraag kan niet tijdelijk worden verwerkt aan de serverzijde. | 1. U kunt het na een korte periode een paar keer opnieuw proberen en het probleem opnieuw zien. 2.Neem contact op met de ondersteuning van Azure als dit probleem zich blijft voordoen. |
TooManyRequests | De huidige RPS heeft het quotum voor uw huidige SKU overschreden. | 1. Controleer de prijstabel om het RPS-quotum te begrijpen. 2.Neem contact op met de ondersteuning van Azure als u meer QPS nodig hebt. |
Logboekregistratie
Deze bibliotheek maakt gebruik van de standaardbibliotheek voor logboekregistratie voor logboekregistratie.
Basisinformatie over HTTP-sessies (URL's, headers, enzovoort) wordt geregistreerd op INFO
niveau.
Gedetailleerde DEBUG
logboekregistratie op niveau, inclusief aanvraag-/antwoordteksten en niet-bewerkte headers, kan worden ingeschakeld op de client of per bewerking met het logging_enable
trefwoordargument.
Bekijk hier de volledige documentatie voor SDK-logboekregistratie met voorbeelden.
Optionele configuratie
Optionele trefwoordargumenten kunnen worden doorgegeven op het niveau van de client en per bewerking. In de naslagdocumentatie van Azure Core worden de beschikbare configuraties beschreven voor nieuwe pogingen, logboekregistratie, transportprotocollen en meer.
Volgende stappen
Aanvullende documentatie
Zie de Azure AI Content Veiligheid op docs.microsoft.com voor uitgebreidere documentatie over Azure Content Safety.
Bijdragen
Wij verwelkomen bijdragen en suggesties voor dit project. Voor de meeste bijdragen moet u instemmen met een licentieovereenkomst voor bijdragers (CLA: Contributor License Agreement) waarin u verklaart dat u gerechtigd bent ons het recht te geven uw bijdrage te gebruiken, en dat u dit ook doet. Ga naar https://cla.microsoft.com voor meer informatie.
Wanneer u een pull-aanvraag indient, wordt met een CLA-bot automatisch bepaald of u een CLA moet verschaffen en wordt de pull-aanvraag dienovereenkomstig opgemaakt (bijvoorbeeld met een label of commentaar). Volg gewoon de instructies van de bot. U hoeft dit maar eenmaal te doen voor alle repo's waar gebruik wordt gemaakt van onze CLA.
Op dit project is de Microsoft Open Source Code of Conduct (Microsoft Open Source-gedragscode) van toepassing. Raadpleeg de Veelgestelde vragen over de gedragscode voor meer informatie of neem contact op met opencode@microsoft.com als u meer vragen of opmerkingen hebt.
Azure SDK for Python