Python için Azure Yapay Zeka İçerik Güvenliği istemci kitaplığı - sürüm 1.0.0
Azure Yapay Zeka İçerik Güvenliği, uygulama ve hizmetlerde kullanıcı tarafından oluşturulan ve yapay zeka tarafından oluşturulan zararlı içerikleri algılar. İçerik Güvenliği, zararlı malzemeleri algılamanıza olanak sağlayan metin ve görüntü API'leri içerir:
- Metin Analizi API'si: Metni cinsel içerik, şiddet, nefret ve kendine zarar verecek şekilde çok önem düzeyiyle tarar.
- Görüntü Analizi API'si: Çok önem düzeyine sahip cinsel içerik, şiddet, nefret ve kendine zarar için görüntüleri tarar.
- Metin Blok Listesi Yönetim API'leri: Varsayılan yapay zeka sınıflandırıcıları çoğu içerik güvenliği gereksinimi için yeterlidir; ancak kullanım örneğine özgü terimleri denetlemeniz gerekebilir. Metin API'siyle kullanmak üzere engelleyici terim listeleri oluşturabilirsiniz.
Belgeler
Başlamanıza yardımcı olacak çeşitli belgeler mevcuttur
Başlarken
Önkoşullar
- Bu paketi kullanmak için Python 3.7 veya üzeri gereklidir.
- Bu paketi kullanmak için bir Azure aboneliğine ihtiyacınız vardır.
- Azure Yapay Zeka İçerik Güvenliği kaynağı yoksa yeni bir kaynak oluşturabilirsiniz.
Paketi yükleme
pip install azure-ai-contentsafety
İstemcinin kimliğini doğrulama
Uç noktayı alma
azure portalını veya Azure CLI'yı kullanarak Azure Yapay Zeka İçerik Güvenliği hizmet kaynağınızın uç noktasını bulabilirsiniz:
# 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"
API anahtarıyla ContentSafetyClient/BlocklistClient oluşturma
Parametre olarak credential
bir API anahtarı kullanmak için.
1. Adım: API anahtarını alma. API anahtarı Azure Portal'da veya aşağıdaki Azure CLI komutunu çalıştırarak bulunabilir:
az cognitiveservices account keys list --name "<resource-name>" --resource-group "<resource-group-name>"
2. Adım: anahtarı bir örneğine
AzureKeyCredential
dize olarak geçirin.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)
Microsoft Entra Kimliği belirteci kimlik bilgileriyle ContentSafetyClient/BlocklistClient oluşturma
1. Adım: Kaynağınız için Microsoft Entra kimliğini etkinleştirin. Kaynağınız için Microsoft Entra kimliğini etkinleştirme adımları için lütfen bu Microsoft Entra Kimliği ile kimlik doğrulaması belgesine bakın.
Ana adımlar şunlardır:
- Özel bir alt etki alanı ile kaynak oluşturun.
- Hizmet Sorumlusu oluşturun ve buna Bilişsel Hizmetler Kullanıcı rolü atayın.
2. Adım: Microsoft Entra uygulamasının istemci kimliği, kiracı kimliği ve istemci gizli dizisi değerlerini ortam değişkenleri olarak ayarlayın:
AZURE_CLIENT_ID
, ,AZURE_TENANT_ID
AZURE_CLIENT_SECRET
.DefaultAzureCredential bu ortam değişkenlerindeki değerleri kullanır.
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)
Önemli kavramlar
Kullanılabilir özellikler
Bu hizmetten farklı analiz türleri kullanılabilir. Aşağıdaki tabloda şu anda kullanılabilen API'ler açıklanmaktadır.
Özellik | Açıklama |
---|---|
Metin Analizi API'si | Metni cinsel içerik, şiddet, nefret ve kendine zarar verecek şekilde çok önem dereceleriyle tarar. |
Görüntü Analizi API'si | Cinsel içerik, şiddet, nefret ve kendine zarar verecek görüntüleri çok önem düzeyiyle tarar. |
Metin Blok Listesi Yönetim API'leri | Varsayılan yapay zeka sınıflandırıcıları çoğu içerik güvenliği gereksinimi için yeterlidir. Ancak, kullanım örneğine özgü terimleri denetlemeniz gerekebilir. Metin API'siyle kullanmak üzere engelleyici terim listeleri oluşturabilirsiniz. |
Zarar kategorileri
İçerik Güvenliği dört farklı uygunsuz içerik kategorisi tanır.
Kategori | Açıklama |
---|---|
Nefret | Nefret ve eşitlikle ilgili zararlar, ırk, etnik köken, milliyet, cinsiyet kimliği ve ifadesi, cinsel yönelim, din, göçmenlik durumu, yetenek durumu, kişisel görünüm ve vücut boyutu dahil ancak bunlarla sınırlı olmamak üzere bu grupların belirli ayırt edici özniteliklerine dayalı bir kişi veya kimlik grubuna atıfta bulunarak, pejorative veya ayrımcı dil kullanan herhangi bir içeriği ifade eder. |
Cinsel | Cinsel, anatomik organlar ve cinsel organlar, romantik ilişkiler ile ilgili dili tanımlar, cinsel veya sevgi dolu terimlerle, hamilelik, fiziksel cinsel eylemler, saldırı veya zorla cinsel şiddet eylemi olarak gösterilenler de dahil olmak üzere, kişinin isteklerine, fuhuşuna, pornografisine ve kötüye kullanımına karşı. |
Şiddet | Şiddet, bir kişiyi veya bir şeyi yaralayan, yaralayan, zarar verecek veya öldürmeye yönelik fiziksel eylemlerle ilgili dili tanımlar; silahlar, silahlar ve üreticiler, dernekler, mevzuat gibi ilgili varlıkları açıklar. |
Kendine zarar verme | Kendine zarar verme, kasi olarak yaralanmak, vücuduna zarar vermek veya kendini öldürmek için tasarlanmış fiziksel eylemlerle ilgili dili tanımlar. |
Sınıflandırma çok etiketli olabilir. Örneğin, bir metin örneği metin denetleme modeli üzerinden geçtiğinde, hem Cinsel içerik hem de Şiddet olarak sınıflandırılabilir.
Önem derecesi düzeyleri
Hizmetin uyguladığı her zarar kategorisi de önem derecesiyle birlikte gelir. Önem derecesi düzeyi, bayrak eklenmiş içeriği göstermenin sonuçlarının önem derecesini belirtmek için tasarlanır.
Metin: Metin modelinin geçerli sürümü tam 0-7 önem derecesini destekler. Varsayılan olarak, yanıt 4 değer verir: 0, 2, 4 ve 6. Her iki bitişik düzey tek bir düzeye eşlenir. Kullanıcılar istekte "outputType" kullanabilir ve çıkışta 8 değeri almak için bunu "EightSeverityLevels" olarak ayarlayabilir: 0,1,2,3,4,5,6,7. Ayrıntılar için metin içeriği önem düzeyi tanımlarına başvurabilirsiniz.
- [0,1] -> 0
- [2,3] -> 2
- [4,5] -> 4
- [6,7] -> 6
Görüntü: Görüntü modelinin geçerli sürümü, tam 0-7 önem derecesi ölçeğinin kırpılmış sürümünü destekler. Sınıflandırıcı yalnızca 0, 2, 4 ve 6 önem derecelerini döndürür; her iki bitişik düzey tek bir düzeye eşlenir. Ayrıntılar için görüntü içeriği önem düzeyi tanımlarına başvurabilirsiniz.
- [0,1] -> 0
- [2,3] -> 2
- [4,5] -> 4
- [6,7] -> 6
Metin blok listesi yönetimi
Metin blok listenizi yönetmek için aşağıdaki işlemler desteklenir:
- Blok listesi oluşturma veya değiştirme
- Tüm blok listelerini listeleme
- blocklistName ile blok listesi alma
- Blok listesine blocklistItems ekleme
- Blok listesinden blocklistItems kaldırma
- BlocklistName ile bir blok listesindeki tüm blocklistItem'leri listeleme
- blocklistItemId ve blocklistName ile blok listesinde blocklistItem alma
- Bir blok listesini ve tüm blok listesiItem'lerini silme
Metni analiz ederken kullanmak istediğiniz blok listelerini ayarlayabilir ve ardından döndürülen yanıttan blok listesi eşleşme sonucunu alabilirsiniz.
Örnekler
Aşağıdaki bölümde, aşağıdakiler de dahil olmak üzere en yaygın İçerik Güvenliği hizmet görevlerinden bazılarını kapsayan çeşitli kod parçacıkları sağlanır:
Lütfen burada kullanılan veriler için örnek verilere bakın. Daha fazla örnek için lütfen örneklere bakın.
Metni analiz etme
Blok listeleri olmadan metin çözümleme
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}")
Blok listeleriyle metni analiz etme
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
Görüntüyü analiz etme
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}")
Metin blok listesini yönetme
Metin blok listesi oluşturma veya güncelleştirme
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
Metin blok listelerini listeleme
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
Metin blok listesini alma
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
Metin blok listesini silme
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 ekleme
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 listesini oluşturma
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 alma
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 öğesini kaldırma
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
Sorun giderme
Genel
Azure Yapay Zeka İçerik Güvenliği istemci kitaplığı, Azure Core'da tanımlanan özel durumları tetikler. Hata kodları aşağıdaki gibi tanımlanır:
Hata Kodu | Olası nedenler | Öneriler |
---|---|---|
InvalidRequestBody | İstek gövdesindeki bir veya daha fazla alan API tanımıyla eşleşmiyor. | 1. API çağrısında belirttiğiniz API sürümünü denetleyin. 2. Seçtiğiniz API sürümü için ilgili API tanımını denetleyin. |
InvalidResourceName | URL'de belirttiğiniz kaynak adı, blok listesi adı, engelleyici terim kimliği gibi gereksinimleri karşılamıyor. | 1. API çağrısında belirttiğiniz API sürümünü denetleyin. 2. Verilen adın API tanımına göre geçersiz karakterlere sahip olup olmadığını denetleyin. |
ResourceNotFound | URL'de belirttiğiniz kaynak, blok listesi adı gibi mevcut olmayabilir. | 1. API çağrısında belirttiğiniz API sürümünü denetleyin. 2. URL'de belirtilen kaynağın varlığını bir kez daha denetleyin. |
InternalError | Sunucu tarafında bazı beklenmeyen durumlar tetiklendi. | 1. Küçük bir süre sonra birkaç kez yeniden denemek ve sorunun yeniden oluştuğuna bakmak isteyebilirsiniz. 2. Bu sorun devam ederse Azure Desteği'ne başvurun. |
ServerBusy | Sunucu tarafı isteği geçici olarak işleyemiyor. | 1. Küçük bir süre sonra birkaç kez yeniden denemek ve sorunun yeniden oluştuğuna bakmak isteyebilirsiniz. 2.Bu sorun devam ederse Azure Desteği'ne başvurun. |
TooManyRequests | Geçerli RPS, geçerli SKU'nuzun kotasını aştı. | 1. RPS kotasını anlamak için fiyatlandırma tablosunu denetleyin. 2.Daha fazla QPS'ye ihtiyacınız varsa Azure Desteği'ne başvurun. |
Günlüğe Kaydetme
Bu kitaplık , günlüğe kaydetme için standart günlük kitaplığını kullanır.
HTTP oturumlarıyla ilgili temel bilgiler (URL'ler, üst bilgiler vb.) düzeyinde INFO
günlüğe kaydedilir.
İstek/yanıt gövdeleri ve kaydedilmemiş üst bilgiler de dahil olmak üzere ayrıntılı DEBUG
düzey günlüğe kaydetme, istemcide veya anahtar sözcük bağımsız değişkeniyle logging_enable
işlem başına etkinleştirilebilir.
Burada örneklerin bulunduğu tam SDK günlük belgelerine bakın.
İsteğe Bağlı Yapılandırma
İsteğe bağlı anahtar sözcük bağımsız değişkenleri istemci ve işlem başına düzeyinde geçirilebilir. Azure-core başvuru belgelerinde yeniden denemeler, günlüğe kaydetme, aktarım protokolleri ve daha fazlası için kullanılabilir yapılandırmalar açıklanmaktadır.
Sonraki adımlar
Diğer belgeler
Azure content safety hakkında daha kapsamlı belgeler için bkz. docs.microsoft.com Azure Yapay Zeka İçerik Güvenliği.
Katkıda bulunma
Bu proje, katkı ve önerilere açıktır. Çoğu durumda, sağladığınız katkıyı kullanmamız için bize hak tanıma hakkına sahip olduğunuzu ve bu hakkı bize tanıdığınızı bildiren bir Katkıda Bulunan Lisans Sözleşmesi’ni (CLA) kabul etmeniz gerekir. Ayrıntılar için bkz. https://cla.microsoft.com.
Bir çekme isteği gönderdiğinizde, CLA robotu bir CLA sağlamanız gerekip gerekmediğini otomatik olarak belirler ve çekme isteğini uygun şekilde donatır (örn. etiket, açıklama). Robot tarafından sağlanan yönergeleri izlemeniz yeterlidir. Bu işlemi, CLA’mızı kullanarak tüm depolarda yalnızca bir kere yapmanız gerekir.
Bu proje Microsoft Open Source Code of Conduct (Microsoft Açık Kaynak Kullanım Kuralları) belgesinde listelenen kurallara uygundur. Daha fazla bilgi için Kullanım Kuralları hakkında SSS bölümüne bakın veya başka soru ya da görüşleriniz olursa opencode@microsoft.com ile iletişime geçin.
Azure SDK for Python