Keamanan Konten Azure AI pustaka klien untuk Python - versi 1.0.0
Keamanan Konten Azure AI mendeteksi konten yang dihasilkan pengguna dan buatan AI yang berbahaya dalam aplikasi dan layanan. Keamanan Konten mencakup API teks dan gambar yang memungkinkan Anda mendeteksi materi yang berbahaya:
- TEXT Analysis API: Memindai teks untuk konten seksual, kekerasan, kebencian, dan melukai diri sendiri dengan tingkat keparahan multi.
- API Analisis Gambar: Memindai gambar untuk konten seksual, kekerasan, kebencian, dan melukai diri sendiri dengan tingkat keparahan multi.
- TEXT Blocklist Management API: Pengklasifikasi AI default cukup untuk sebagian besar kebutuhan keamanan konten; namun, Anda mungkin perlu menyaring istilah yang khusus untuk kasus penggunaan Anda. Anda dapat membuat daftar blokir istilah untuk digunakan dengan Text API.
Dokumentasi
Berbagai dokumentasi tersedia untuk membantu Anda memulai
Memulai
Prasyarat
- Python 3.7 atau yang lebih baru diharuskan untuk menggunakan paket ini.
- Anda memerlukan langganan Azure untuk menggunakan paket ini.
- Sumber daya Keamanan Konten Azure AI, jika tidak ada sumber daya, Anda dapat membuat sumber daya baru.
Instal paketnya
pip install azure-ai-contentsafety
Mengautentikasi klien
Mendapatkan titik akhir
Anda dapat menemukan titik akhir untuk sumber daya layanan Keamanan Konten Azure AI Anda menggunakan Portal Microsoft Azure atau 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"
Membuat ContentSafetyClient/BlocklistClient dengan kunci API
Untuk menggunakan kunci API sebagai credential
parameter .
Langkah 1: Dapatkan kunci API. Kunci API dapat ditemukan di Portal Microsoft Azure atau dengan menjalankan perintah Azure CLI berikut:
az cognitiveservices account keys list --name "<resource-name>" --resource-group "<resource-group-name>"
Langkah 2: Berikan kunci sebagai string ke dalam instans
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)
Membuat ContentSafetyClient/BlocklistClient dengan kredensial token ID Microsoft Entra
Langkah 1: Aktifkan ID Microsoft Entra untuk sumber daya Anda. Lihat dokumen ini Autentikasi dengan ID Microsoft Entra untuk langkah-langkah mengaktifkan ID Microsoft Entra untuk sumber daya Anda.
Langkah utamanya adalah:
- Buat sumber daya dengan subdomain kustom.
- Buat Perwakilan Layanan dan tetapkan peran Pengguna Cognitive Services ke dalamnya.
Langkah 2: Atur nilai ID klien, ID penyewa, dan rahasia klien aplikasi Microsoft Entra sebagai variabel lingkungan:
AZURE_CLIENT_ID
, ,AZURE_TENANT_ID
AZURE_CLIENT_SECRET
.DefaultAzureCredential akan menggunakan nilai dari variabel lingkungan ini.
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)
Konsep utama
Fitur yang tersedia
Ada berbagai jenis analisis yang tersedia dari layanan ini. Tabel berikut ini menjelaskan API yang saat ini tersedia.
Fitur | Deskripsi |
---|---|
API Analisis Teks | Memindai teks untuk konten seksual, kekerasan, kebencian, dan melukai diri sendiri dengan tingkat keparahan multi-tingkat. |
API Analisis Gambar | Memindai gambar untuk konten seksual, kekerasan, kebencian, dan melukai diri sendiri dengan tingkat keparahan multi. |
API Manajemen Daftar BlokIr Teks | Pengklasifikasi AI default cukup untuk sebagian besar kebutuhan keamanan konten. Namun, Anda mungkin perlu menyaring istilah yang khusus untuk kasus penggunaan Anda. Anda dapat membuat daftar blokir istilah untuk digunakan dengan Text API. |
Kategori bahaya
Keamanan Konten mengenali empat kategori konten yang tidak menyenangkan yang berbeda.
Kategori | Deskripsi |
---|---|
Benci | Kerusakan terkait kebencian dan keadilan mengacu pada konten apa pun yang menyerang atau menggunakan bahasa pejoratif atau diskriminatif dengan merujuk ke seseorang atau kelompok identitas berdasarkan atribut pembeda tertentu dari kelompok-kelompok ini termasuk tetapi tidak terbatas pada ras, etnis, kebangsaan, identitas dan ekspresi gender, orientasi seksual, agama, status imigrasi, status kemampuan, penampilan pribadi, dan ukuran tubuh. |
Seksual | Seksual menggambarkan bahasa yang terkait dengan organ anatomi dan alat kelamin, hubungan romantis, tindakan yang digambarkan dalam istilah erotis atau kasih sayang, kehamilan, tindakan seksual fisik, termasuk yang digambarkan sebagai penyerangan atau tindakan kekerasan seksual paksa terhadap kehendak, prostitusi, pornografi, dan pelecehan seseorang. |
Kekerasan | Kekerasan menggambarkan bahasa yang terkait dengan tindakan fisik yang dimaksudkan untuk menyakiti, melukai, merusak, atau membunuh seseorang atau sesuatu; menjelaskan senjata, senjata dan entitas terkait, seperti produsen, asosiasi, undang-undang, dan sebagainya. |
Melukai diri sendiri | Melukai diri sendiri menggambarkan bahasa yang terkait dengan tindakan fisik yang dimaksudkan untuk dengan sengaja melukai, melukai, merusak tubuh seseorang atau membunuh diri sendiri. |
Klasifikasi dapat di-multi-label. Misalnya, ketika sampel teks melewati model moderasi teks, sampel tersebut dapat diklasifikasikan sebagai Konten seksual dan Kekerasan.
Tingkat keparahan
Setiap kategori bahaya yang diterapkan layanan juga dilengkapi dengan peringkat tingkat keparahan. Tingkat keparahan dimaksudkan untuk menunjukkan tingkat keparahan konsekuensi dari menunjukkan konten yang ditandai.
Teks: Versi model teks saat ini mendukung skala tingkat keparahan 0-7 penuh. Secara default, respons akan menghasilkan 4 nilai: 0, 2, 4, dan 6. Masing-masing dua tingkat yang berdekatan dipetakan ke satu tingkat. Pengguna dapat menggunakan "outputType" dalam permintaan dan mengaturnya sebagai "EightSeverityLevels" untuk mendapatkan 8 nilai dalam output: 0,1,2,3,4,5,6,7. Anda dapat merujuk definisi tingkat keparahan konten teks untuk detailnya.
- [0,1] -> 0
- [2,3] -> 2
- [4,5] -> 4
- [6,7] -> 6
Gambar: Versi model gambar saat ini mendukung versi yang dipangkas dari skala tingkat keparahan 0-7 penuh. Pengklasifikasi hanya mengembalikan tingkat keparahan 0, 2, 4, dan 6; masing-masing dua tingkat yang berdekatan dipetakan ke satu tingkat. Anda dapat merujuk definisi tingkat keparahan konten gambar untuk detailnya.
- [0,1] -> 0
- [2,3] -> 2
- [4,5] -> 4
- [6,7] -> 6
Manajemen daftar blokir teks
Operasi berikut didukung untuk mengelola daftar blokir teks Anda:
- Membuat atau mengubah daftar blokir
- Mencantumkan semua daftar blokir
- Mendapatkan daftar blokir dengan blocklistName
- Menambahkan blocklistItems ke daftar blokir
- Menghapus blocklistItems dari daftar blokir
- Mencantumkan semua blocklistItems dalam daftar blokir menurut blocklistName
- Mendapatkan blocklistItem dalam daftar blokir dengan blocklistItemId dan blocklistName
- Menghapus daftar blokir dan semua blocklistItems-nya
Anda dapat mengatur daftar blokir yang ingin Anda gunakan saat menganalisis teks, lalu Anda bisa mendapatkan hasil pencocokan daftar blokir dari respons yang dikembalikan.
Contoh
Bagian berikut ini menyediakan beberapa cuplikan kode yang mencakup beberapa tugas layanan Content Safety yang paling umum, termasuk:
Silakan lihat data sampel untuk data yang digunakan di sini. Untuk sampel lainnya, silakan merujuk ke sampel.
Analisa teks
Menganalisis teks tanpa daftar blokir
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}")
Menganalisis teks dengan daftar blokir
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
Menganalisis Gambar
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}")
Mengelola daftar blokir teks
Membuat atau memperbarui daftar blokir teks
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
Daftar daftar blokir teks
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
Dapatkan daftar blokir teks
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
Hapus daftar blokir teks
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
Menambahkan blockItems
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
Daftar blockItems
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
Dapatkan blockItem
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
Menghapus blockItems
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
Pemecahan Masalah
Umum
Keamanan Konten Azure AI pustaka klien akan memunculkan pengecualian yang ditentukan di Azure Core. Kode kesalahan didefinisikan seperti di bawah ini:
Kode Kesalahan | Kemungkinan alasan | Saran |
---|---|---|
InvalidRequestBody | Satu atau beberapa bidang dalam isi permintaan tidak cocok dengan definisi API. | 1. Periksa versi API yang Anda tentukan dalam panggilan API. 2. Periksa definisi API yang sesuai untuk versi API yang Anda pilih. |
InvalidResourceName | Nama sumber daya yang Anda tentukan di URL tidak memenuhi persyaratan, seperti nama daftar blokir, ID istilah daftar blokir, dll. | 1. Periksa versi API yang Anda tentukan dalam panggilan API. 2. Periksa apakah nama yang diberikan memiliki karakter yang tidak valid sesuai dengan definisi API. |
ResourceNotFound | Sumber daya yang Anda tentukan di URL mungkin tidak ada, seperti nama daftar blokir. | 1. Periksa versi API yang Anda tentukan dalam panggilan API. 2. Periksa kembali keberadaan sumber daya yang ditentukan dalam URL. |
InternalError | Beberapa situasi tak terduga di sisi server telah dipicu. | 1. Anda mungkin ingin mencoba kembali beberapa kali setelah periode kecil dan melihatnya masalah terjadi lagi. 2. Hubungi Dukungan Azure jika masalah ini berlanjut. |
ServerBusy | Sisi server tidak dapat memproses permintaan untuk sementara. | 1. Anda mungkin ingin mencoba kembali beberapa kali setelah periode kecil dan melihatnya masalah terjadi lagi. 2.Hubungi Dukungan Azure jika masalah ini berlanjut. |
TooManyRequests | RPS saat ini telah melebihi kuota untuk SKU Anda saat ini. | 1. Periksa tabel harga untuk memahami kuota RPS. 2.Hubungi Dukungan Azure jika Anda memerlukan lebih banyak QPS. |
Pembuatan Log
Pustaka ini menggunakan pustaka pengelogan standar untuk pengelogan.
Informasi dasar tentang sesi HTTP (URL, header, dll.) dicatat pada INFO
tingkat.
Pengelogan tingkat terperinci DEBUG
, termasuk isi permintaan/respons dan header yang tidak diredaktifkan , dapat diaktifkan pada klien atau per operasi dengan logging_enable
argumen kata kunci.
Lihat dokumentasi pengelogan SDK lengkap dengan contoh di sini.
Konfigurasi Opsional
Argumen kata kunci opsional dapat diteruskan di tingkat klien dan per operasi. Dokumentasi referensi azure-core menjelaskan konfigurasi yang tersedia untuk percobaan ulang, pengelogan, protokol transportasi, dan banyak lagi.
Langkah berikutnya
Dokumentasi tambahan
Untuk dokumentasi yang lebih luas tentang Azure Content Safety, lihat Keamanan Konten Azure AI di docs.microsoft.com.
Berkontribusi
Proyek ini menyambut baik kontribusi dan saran. Sebagian besar kontribusi mengharuskan Anda menyetujui Perjanjian Lisensi Kontributor (CLA) yang menyatakan bahwa Anda memiliki hak untuk, dan benar-benar melakukannya, memberi kami hak untuk menggunakan kontribusi Anda. Untuk detailnya, kunjungi https://cla.microsoft.com.
Ketika Anda mengirimkan permintaan tarik, CLA-bot akan secara otomatis menentukan apakah Anda perlu memberikan CLA dan menghias PR dengan tepat (misalnya, label, komentar). Cukup ikuti instruksi yang diberikan oleh bot. Anda hanya perlu melakukan ini sekali di semua repos menggunakan CLA kami.
Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft. Untuk informasi selengkapnya, lihat Tanya Jawab Umum Kode Etik atau kontak dengan pertanyaan atau komentar opencode@microsoft.com tambahan.
Azure SDK for Python