استخدام قائمة حظر
مقالة 02/21/2024
4 من المساهمين
الملاحظات
في هذه المقالة
تنبيه
قد تحتوي عينة البيانات في هذا الدليل على محتوى مسيء. ينصح بسلطة المستخدم التقديرية.
المصنفات الذكاء الاصطناعي الافتراضية كافية لمعظم احتياجات ال con وضع الخيمة ration. ومع ذلك، قد تحتاج إلى شاشة للعناصر الخاصة بحالة الاستخدام الخاصة بك.
المتطلبات الأساسية
اشتراك Azure - إنشاء اشتراك مجاناً
بمجرد حصولك على اشتراك Azure، أنشئ مورد Content خزينة ty في مدخل Microsoft Azure للحصول على المفتاح ونقطة النهاية. أدخل اسما فريدا لموردك، وحدد اشتراكك، وحدد مجموعة موارد، والمنطقة المدعومة (شرق الولايات المتحدة أو غرب أوروبا)، ومستوى التسعير المدعوم. وبعد ذلك، حدد إنشاء .
يستغرق المورد بضع دقائق للتوزيع. بعد الانتهاء، حدد go to resource . في الجزء الأيمن، ضمن إدارة الموارد، حدد مفتاح الاشتراك ونقطة النهاية. يتم استخدام نقطة النهاية وأي من المفاتيح لاستدعاء واجهات برمجة التطبيقات.
أحد الإجراءات التالية المثبتة:
cURL لمكالمات واجهة برمجة تطبيقات REST.
تم تثبيت Python 3.x
يجب أن يتضمن تثبيت Python خاصتك pip . يمكنك التحقق مما إذا كانت لديك نقطة مثبتة عن طريق تشغيل pip --version
على سطر الأوامر. الحصول على نقطة عن طريق تثبيت أحدث إصدار من Python.
إذا كنت تستخدم Python، فستحتاج إلى تثبيت مكتبة عميل Azure الذكاء الاصطناعي Content خزينة ty ل Python. قم بتشغيل الأمر pip install azure-ai-contentsafety
في دليل المشروع الخاص بك.
.NET Runtime مثبت.
تم تثبيت .NET Core SDK.
إذا كنت تستخدم .NET، فستحتاج إلى تثبيت مكتبة عميل Azure الذكاء الاصطناعي Content خزينة ty ل .NET. قم بتشغيل الأمر dotnet add package Azure.AI.ContentSafety --prerelease
في دليل المشروع الخاص بك.
إنشاء متغيرات البيئة
في هذا المثال، ستكتب بيانات الاعتماد الخاصة بك إلى متغيرات البيئة على الجهاز المحلي الذي يقوم بتشغيل التطبيق.
تلميح
لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع مقالة أمان خدمات Azure الذكاء الاصطناعي لمزيد من خيارات المصادقة مثل Azure Key Vault .
لتعيين متغير البيئة للمفتاح ونقطة النهاية، افتح نافذة وحدة التحكم واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
لتعيين CONTENT_SAFETY_KEY
متغير البيئة، استبدل YOUR_CONTENT_SAFETY_KEY
بأحد مفاتيح المورد الخاص بك.
لتعيين CONTENT_SAFETY_ENDPOINT
متغير البيئة، استبدل YOUR_CONTENT_SAFETY_ENDPOINT
بنقطة النهاية للمورد الخاص بك.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج قيد التشغيل ستقرأ متغيرات البيئة، بما في ذلك نافذة وحدة التحكم.
export CONTENT_SAFETY_KEY='YOUR_CONTENT_SAFETY_KEY'
export CONTENT_SAFETY_ENDPOINT='YOUR_CONTENT_SAFETY_ENDPOINT'
بعد إضافة متغيرات البيئة، قم بتشغيل source ~/.bashrc
من نافذة وحدة التحكم الخاصة بك لجعل التغييرات فعالة.
تحليل النص باستخدام قائمة حظر
يمكنك إنشاء قوائم حظر لاستخدامها مع واجهة برمجة تطبيقات النص. تساعدك الخطوات التالية على البدء.
إنشاء قائمة حظر أو تعديلها
انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:
استبدل <endpoint>
بعنوان URL لنقطة النهاية.
استبدل <enter_your_key_here>
بمفتاحك.
استبدل <your_list_name>
(في عنوان URL) باسم مخصص للقائمة. استبدل أيضا المصطلح الأخير من عنوان URL REST بنفس الاسم. الأحرف المسموح بها: 0-9، A-Z، a-z، - . _ ~
.
استبدل قيمة "description"
الحقل بشكل اختياري بوصف مخصص.
curl --location --request PATCH '<endpoint>/contentsafety/text/blocklists/<your_list_name>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \
--data-raw '{
"description": "This is a violence list"
}'
يجب أن تكون 201
التعليمات البرمجية للاستجابة (إنشاء قائمة جديدة) أو 200
(تحديث قائمة موجودة).
أنشئ تطبيق وحدة تحكم C# جديدا وافتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
string endpoint = Environment.GetEnvironmentVariable("CONTENT_SAFETY_ENDPOINT");
string key = Environment.GetEnvironmentVariable("CONTENT_SAFETY_KEY");
BlocklistClient blocklistClient = new BlocklistClient(new Uri(endpoint), new AzureKeyCredential(key));
var blocklistName = "<your_list_name>";
var blocklistDescription = "<description>";
var data = new
{
description = blocklistDescription,
};
var createResponse = blocklistClient.CreateOrUpdateTextBlocklist(blocklistName, RequestContent.Create(data));
if (createResponse.Status == 201)
{
Console.WriteLine("\nBlocklist {0} created.", blocklistName);
}
else if (createResponse.Status == 200)
{
Console.WriteLine("\nBlocklist {0} updated.", blocklistName);
}
استبدل <your_list_name>
باسم مخصص للقائمة. الأحرف المسموح بها: 0-9, A-Z, a-z, - . _ ~
.
استبدل <description>
بشكل اختياري بوصف مخصص.
تشغيل التعليمات البرمجية.
إنشاء تطبيق Java وفتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
String endpoint = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_ENDPOINT");
String key = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_KEY");
BlocklistClient blocklistClient = new BlocklistClientBuilder()
.credential(new KeyCredential(key))
.endpoint(endpoint).buildClient();
String blocklistName = "<your_list_name>";
Map<String, String> description = new HashMap<>();
description.put("description", "<description>");
BinaryData resource = BinaryData.fromObject(description);
RequestOptions requestOptions = new RequestOptions();
Response<BinaryData> response =
blocklistClient.createOrUpdateTextBlocklistWithResponse(blocklistName, resource, requestOptions);
if (response.getStatusCode() == 201) {
System.out.println("\nBlocklist " + blocklistName + " created.");
} else if (response.getStatusCode() == 200) {
System.out.println("\nBlocklist " + blocklistName + " updated.");
}
استبدل <your_list_name>
باسم مخصص للقائمة. الأحرف المسموح بها: 0-9, A-Z, a-z, - . _ ~
.
استبدل <description>
بشكل اختياري بوصف مخصص.
تشغيل التعليمات البرمجية.
إنشاء نص Python جديد في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
import os
from azure.ai.contentsafety import BlocklistClient
from azure.core.credentials import AzureKeyCredential
from azure.ai.contentsafety.models import TextBlocklist
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 = "<your_list_name>"
blocklist_description = "<description>"
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
استبدل <your_list_name>
باسم مخصص للقائمة. الأحرف المسموح بها: 0-9, A-Z, a-z, - . _ ~
.
استبدل <description>
بوصف مخصص.
قم بتشغيل البرنامج النصي
إنشاء برنامج نصي JavaScript جديد وفتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
const ContentSafetyClient = require("@azure-rest/ai-content-safety").default,
{ isUnexpected } = require("@azure-rest/ai-content-safety");
const { AzureKeyCredential } = require("@azure/core-auth");
// Load the .env file if it exists
require("dotenv").config();
const endpoint = process.env["CONTENT_SAFETY_ENDPOINT"] || "<endpoint>";
const key = process.env["CONTENT_SAFETY_API_KEY"] || "<key>";
const credential = new AzureKeyCredential(key);
const client = ContentSafetyClient(endpoint, credential);
async function createOrUpdateTextBlocklist() {
const blocklistName = "<your_list_name>";
const blocklistDescription = "<description>";
const createOrUpdateTextBlocklistParameters = {
contentType: "application/merge-patch+json",
body: {
description: blocklistDescription,
},
};
const result = await client
.path("/text/blocklists/{blocklistName}", blocklistName)
.patch(createOrUpdateTextBlocklistParameters);
if (isUnexpected(result)) {
throw result;
}
console.log(
"Blocklist created or updated. Name: ",
result.body.blocklistName,
", Description: ",
result.body.description
);
}
(async () => {
await createOrUpdateTextBlocklist();
})().catch((err) => {
console.error("The sample encountered an error:", err);
});
استبدل <your_list_name>
باسم مخصص للقائمة. الأحرف المسموح بها: 0-9, A-Z, a-z, - . _ ~
.
استبدل <description>
بشكل اختياري بوصف مخصص.
قم بتشغيل البرنامج النصي
إضافة blocklistItems إلى القائمة
إشعار
هناك حد أقصى يبلغ 10,000 مصطلح إجمالا في جميع القوائم. يمكنك إضافة 100 blocklistItems على الأكثر في طلب واحد.
انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:
استبدل <endpoint>
بعنوان URL لنقطة النهاية.
استبدل <enter_your_key_here>
بمفتاحك.
استبدل <your_list_name>
(في عنوان URL) بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل قيمة "description"
الحقل بشكل اختياري بوصف مخصص.
استبدل قيمة "text"
الحقل بالعنصر الذي تريد إضافته إلى قائمة الحظر. الحد الأقصى لطول blocklistItem هو 128 حرفا.
curl --location --request POST '<endpoint>/contentsafety/text/blocklists/<your_list_name>:addOrUpdateBlocklistItems?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \
--data-raw '"blocklistItems": [{
"description": "string",
"text": "bleed"
}]'
تلميح
يمكنك إضافة blocklistItems متعددة في استدعاء API واحد. جعل نص الطلب صفيف JSON من مجموعات البيانات:
{
"blocklistItems": [
{
"description": "string",
"text": "bleed"
},
{
"description": "string",
"text": "blood"
}
]
}
يجب أن يكون 200
رمز الاستجابة .
{
"blocklistItems:"[
{
"blocklistItemId": "string",
"description": "string",
"text": "bleed"
}
]
}
أنشئ تطبيق وحدة تحكم C# جديدا وافتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
string endpoint = Environment.GetEnvironmentVariable("CONTENT_SAFETY_ENDPOINT");
string key = Environment.GetEnvironmentVariable("CONTENT_SAFETY_KEY");
BlocklistClient blocklistClient = new BlocklistClient(new Uri(endpoint), new AzureKeyCredential(key));
var blocklistName = "<your_list_name>";
string blocklistItemText1 = "<block_item_text_1>";
string blocklistItemText2 = "<block_item_text_2>";
var blocklistItems = new TextBlocklistItem[] { new TextBlocklistItem(blocklistItemText1), new TextBlocklistItem(blocklistItemText2) };
var addedBlocklistItems = blocklistClient.AddOrUpdateBlocklistItems(blocklistName, new AddOrUpdateTextBlocklistItemsOptions(blocklistItems));
if (addedBlocklistItems != null && addedBlocklistItems.Value != null)
{
Console.WriteLine("\nBlocklistItems added:");
foreach (var addedBlocklistItem in addedBlocklistItems.Value.BlocklistItems)
{
Console.WriteLine("BlocklistItemId: {0}, Text: {1}, Description: {2}", addedBlocklistItem.BlocklistItemId, addedBlocklistItem.Text, addedBlocklistItem.Description);
}
}
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل قيم blocklistItemText1
الحقول و blocklistItemText2
بالعناصر التي تريد إضافتها إلى قائمة الحظر. الحد الأقصى لطول blockItem هو 128 حرفا.
إضافة المزيد من سلاسل blockItem إلى المعلمة blockItems
اختياريا.
تشغيل التعليمات البرمجية.
إنشاء تطبيق Java وفتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
String endpoint = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_ENDPOINT");
String key = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_KEY");
BlocklistClient blocklistClient = new BlocklistClientBuilder()
.credential(new KeyCredential(key))
.endpoint(endpoint).buildClient();
String blocklistName = "<your_list_name>";
String blockItemText1 = "<block_item_text_1>";
String blockItemText2 = "<block_item_text_2>";
List<TextBlocklistItem> blockItems = Arrays.asList(new TextBlocklistItem(blockItemText1).setDescription("Kill word"),
new TextBlocklistItem(blockItemText2).setDescription("Hate word"));
AddOrUpdateTextBlocklistItemsResult addedBlockItems = blocklistClient.addOrUpdateBlocklistItems(blocklistName,
new AddOrUpdateTextBlocklistItemsOptions(blockItems));
if (addedBlockItems != null && addedBlockItems.getBlocklistItems() != null) {
System.out.println("\nBlockItems added:");
for (TextBlocklistItem addedBlockItem : addedBlockItems.getBlocklistItems()) {
System.out.println("BlockItemId: " + addedBlockItem.getBlocklistItemId() + ", Text: " + addedBlockItem.getText() + ", Description: " + addedBlockItem.getDescription());
}
}
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل قيم blockItemText1
الحقول و blockItemText2
بالعناصر التي تريد إضافتها إلى قائمة الحظر. الحد الأقصى لطول blockItem هو 128 حرفا.
إضافة المزيد من سلاسل blockItem إلى المعلمة blockItems
اختياريا.
تشغيل التعليمات البرمجية.
إنشاء نص Python جديد في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
import os
from azure.ai.contentsafety import BlocklistClient
from azure.core.credentials import AzureKeyCredential
from azure.ai.contentsafety.models import (
AddOrUpdateTextBlocklistItemsOptions, TextBlocklistItem
)
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 = "<your_list_name>"
blocklist_item_text_1 = "<block_item_text_1>"
blocklist_item_text_2 = "<block_item_text_2>"
blocklist_items = [TextBlocklistItem(text=blocklist_item_text_1), TextBlocklistItem(text=blocklist_item_text_2)]
try:
result = client.add_or_update_blocklist_items(
blocklist_name=blocklist_name, options=AddOrUpdateTextBlocklistItemsOptions(blocklist_items=blocklist_items)
for blocklist_item in result.blocklist_items:
print(
f"BlocklistItemId: {blocklist_item.blocklist_item_id}, Text: {blocklist_item.text}, Description: {blocklist_item.description}"
)
except HttpResponseError as e:
print("\nAdd blocklistItems failed: ")
if e.error:
print(f"Error code: {e.error.code}")
print(f"Error message: {e.error.message}")
raise
print(e)
raise
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل قيم blocklist_item_text_1
الحقول و blocklist_item_text_2
بالعناصر التي تريد إضافتها إلى قائمة الحظر. الحد الأقصى لطول blockItem هو 128 حرفا.
إضافة المزيد من سلاسل blockItem إلى المعلمة block_items
اختياريا.
قم بتشغيل البرنامج النصي
const ContentSafetyClient = require("@azure-rest/ai-content-safety").default,
{ isUnexpected } = require("@azure-rest/ai-content-safety");
const { AzureKeyCredential } = require("@azure/core-auth");
// Load the .env file if it exists
require("dotenv").config();
const endpoint = process.env["CONTENT_SAFETY_ENDPOINT"] || "<endpoint>";
const key = process.env["CONTENT_SAFETY_API_KEY"] || "<key>";
const credential = new AzureKeyCredential(key);
const client = ContentSafetyClient(endpoint, credential);
async function addBlocklistItems() {
const blocklistName = "<your_list_name>";
const blocklistItemText1 = "<block_item_text_1>";
const blocklistItemText2 = "<block_item_text_2>";
const addOrUpdateBlocklistItemsParameters = {
body: {
blocklistItems: [
{
description: "Test blocklist item 1",
text: blocklistItemText1,
},
{
description: "Test blocklist item 2",
text: blocklistItemText2,
},
],
},
};
const result = await client
.path("/text/blocklists/{blocklistName}:addOrUpdateBlocklistItems", blocklistName)
.post(addOrUpdateBlocklistItemsParameters);
if (isUnexpected(result)) {
throw result;
}
console.log("Blocklist items added: ");
if (result.body.blocklistItems) {
for (const blocklistItem of result.body.blocklistItems) {
console.log(
"BlocklistItemId: ",
blocklistItem.blocklistItemId,
", Text: ",
blocklistItem.text,
", Description: ",
blocklistItem.description
);
}
}
}
(async () => {
await addBlocklistItems();
})().catch((err) => {
console.error("The sample encountered an error:", err);
});
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل قيم block_item_text_1
الحقول و block_item_text_2
بالعناصر التي تريد إضافتها إلى قائمة الحظر. الحد الأقصى لطول blockItem هو 128 حرفا.
إضافة المزيد من سلاسل blockItem إلى المعلمة blocklistItems
اختياريا.
قم بتشغيل البرنامج النصي
إشعار
سيكون هناك بعض التأخير بعد إضافة blockItem أو تحريره قبل أن يدخل حيز التنفيذ على تحليل النص، وعادة ما لا يزيد عن خمس دقائق .
تحليل النص باستخدام قائمة حظر
انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:
استبدل <endpoint>
بعنوان URL لنقطة النهاية.
استبدل <enter_your_key_here>
بمفتاحك.
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة. "blocklistNames"
يمكن أن يحتوي الحقل على صفيف من معرفات قائمة متعددة.
تغيير قيمة اختياريا."breakByBlocklists"
true
يشير إلى أنه بمجرد مطابقة قائمة الحظر، سيرجع التحليل على الفور دون إخراج النموذج. false
سيؤدي إلى استمرار النموذج في إجراء التحليل في الفئات الافتراضية.
قم بتغيير قيمة "text"
الحقل اختياريا إلى أي نص تريد تحليله.
curl --location --request POST '<endpoint>/contentsafety/text:analyze?api-version=2023-10-01&' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \
--data-raw '{
"text": "I want to beat you till you bleed",
"categories": [
"Hate",
"Sexual",
"SelfHarm",
"Violence"
],
"blocklistNames":["<your_list_name>"],
"haltOnBlocklistHit": false,
"outputType": "FourSeverityLevels"
}'
ستحتوي استجابة JSON على "blocklistMatchResults"
تشير إلى أي تطابقات مع قائمة الحظر الخاصة بك. يقوم بالإبلاغ عن الموقع في السلسلة النصية حيث تم العثور على المطابقة.
{
"blocklistsMatch": [
{
"blocklistName": "string",
"blocklistItemId": "string",
"blocklistItemText": "bleed"
}
],
"categoriesAnalysis": [
{
"category": "Hate",
"severity": 0
}
]
}
أنشئ تطبيق وحدة تحكم C# جديدا وافتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
string endpoint = Environment.GetEnvironmentVariable("CONTENT_SAFETY_ENDPOINT");
string key = Environment.GetEnvironmentVariable("CONTENT_SAFETY_KEY");
ContentSafetyClient client = new ContentSafetyClient(new Uri(endpoint), new AzureKeyCredential(key));
var blocklistName = "<your_list_name>";
// After you edit your blocklist, it usually takes effect in 5 minutes, please wait some time before analyzing with blocklist after editing.
var request = new AnalyzeTextOptions("<your_input_text>");
request.BlocklistNames.Add(blocklistName);
request.HaltOnBlocklistHit = true;
Response<AnalyzeTextResult> response;
try
{
response = client.AnalyzeText(request);
}
catch (RequestFailedException ex)
{
Console.WriteLine("Analyze text failed.\nStatus code: {0}, Error code: {1}, Error message: {2}", ex.Status, ex.ErrorCode, ex.Message);
throw;
}
if (response.Value.BlocklistsMatch != null)
{
Console.WriteLine("\nBlocklist match result:");
foreach (var matchResult in response.Value.BlocklistsMatch)
{
Console.WriteLine("BlocklistName: {0}, BlocklistItemId: {1}, BlocklistText: {2}, ", matchResult.BlocklistName, matchResult.BlocklistItemId, matchResult.BlocklistItemText);
}
}
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل request
نص الإدخال بأي نص تريد تحليله.
قم بتشغيل البرنامج النصي
إنشاء تطبيق Java وفتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
String endpoint = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_ENDPOINT");
String key = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_KEY");
ContentSafetyClient contentSafetyClient = new ContentSafetyClientBuilder()
.credential(new KeyCredential(key))
.endpoint(endpoint).buildClient();
String blocklistName = "<your_list_name>";
AnalyzeTextOptions request = new AnalyzeTextOptions("<sample_text>");
request.setBlocklistNames(Arrays.asList(blocklistName));
request.setHaltOnBlocklistHit(true);
AnalyzeTextResult analyzeTextResult;
try {
analyzeTextResult = contentSafetyClient.analyzeText(request);
} catch (HttpResponseException ex) {
System.out.println("Analyze text failed.\nStatus code: " + ex.getResponse().getStatusCode() + ", Error message: " + ex.getMessage());
throw ex;
}
if (analyzeTextResult.getBlocklistsMatch() != null) {
System.out.println("\nBlocklist match result:");
for (TextBlocklistMatch matchResult : analyzeTextResult.getBlocklistsMatch()) {
System.out.println("BlocklistName: " + matchResult.getBlocklistName() + ", BlockItemId: " + matchResult.getBlocklistItemId() + ", BlockItemText: " + matchResult.getBlocklistItemText());
}
}
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل request
نص الإدخال بأي نص تريد تحليله.
قم بتشغيل البرنامج النصي
إنشاء نص Python جديد في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
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 = "<your_list_name>"
input_text = "<your_input_text>"
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}, BlocklistItemId: {match_result.blocklist_item_id}, "
f"BlocklistItemText: {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
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل input_text
المتغير بأي نص تريد تحليله.
قم بتشغيل البرنامج النصي
const ContentSafetyClient = require("@azure-rest/ai-content-safety").default,
{ isUnexpected } = require("@azure-rest/ai-content-safety");
const { AzureKeyCredential } = require("@azure/core-auth");
// Load the .env file if it exists
require("dotenv").config();
const endpoint = process.env["CONTENT_SAFETY_ENDPOINT"] || "<endpoint>";
const key = process.env["CONTENT_SAFETY_API_KEY"] || "<key>";
const credential = new AzureKeyCredential(key);
const client = ContentSafetyClient(endpoint, credential);
async function analyzeTextWithBlocklists() {
const blocklistName = "<your_list_name>";
const inputText = "<your_input_text>";
const analyzeTextParameters = {
body: {
text: inputText,
blocklistNames: [blocklistName],
haltOnBlocklistHit: false,
},
};
const result = await client.path("/text:analyze").post(analyzeTextParameters);
if (isUnexpected(result)) {
throw result;
}
console.log("Blocklist match results: ");
if (result.body.blocklistsMatch) {
for (const blocklistMatchResult of result.body.blocklistsMatch) {
console.log(
"BlocklistName: ",
blocklistMatchResult.blocklistName,
", BlocklistItemId: ",
blocklistMatchResult.blocklistItemId,
", BlocklistItemText: ",
blocklistMatchResult.blocklistItemText
);
}
}
}
(async () => {
await analyzeTextWithBlocklists();
})().catch((err) => {
console.error("The sample encountered an error:", err);
});
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل inputText
المتغير بأي نص تريد تحليله.
قم بتشغيل البرنامج النصي
عمليات قائمة الحظر الأخرى
يحتوي هذا القسم على المزيد من العمليات لمساعدتك في إدارة ميزة قائمة الحظر واستخدامها.
سرد كافة blocklistItems في قائمة
انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:
استبدل <endpoint>
بعنوان URL لنقطة النهاية.
استبدل <enter_your_key_here>
بمفتاحك.
استبدل <your_list_name>
(في عنوان URL للطلب) بالاسم الذي استخدمته في خطوة إنشاء القائمة.
curl --location --request GET '<endpoint>/contentsafety/text/blocklists/<your_list_name>/blocklistItems?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json'
يجب أن يكون 200
رمز الحالة ويجب أن يبدو نص الاستجابة كما يلي:
{
"values": [
{
"blocklistItemId": "string",
"description": "string",
"text": "bleed",
}
]
}
أنشئ تطبيق وحدة تحكم C# جديدا وافتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
string endpoint = Environment.GetEnvironmentVariable("CONTENT_SAFETY_ENDPOINT");
string key = Environment.GetEnvironmentVariable("CONTENT_SAFETY_KEY");
BlocklistClient blocklistClient = new BlocklistClient(new Uri(endpoint), new AzureKeyCredential(key));
var blocklistName = "<your_list_name>";
var allBlocklistitems = blocklistClient.GetTextBlocklistItems(blocklistName);
Console.WriteLine("\nList BlocklistItems:");
foreach (var blocklistItem in allBlocklistitems)
{
Console.WriteLine("BlocklistItemId: {0}, Text: {1}, Description: {2}", blocklistItem.BlocklistItemId, blocklistItem.Text, blocklistItem.Description);
}
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
قم بتشغيل البرنامج النصي
إنشاء تطبيق Java وفتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
String endpoint = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_ENDPOINT");
String key = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_KEY");
BlocklistClient blocklistClient = new BlocklistClientBuilder()
.credential(new KeyCredential(key))
.endpoint(endpoint).buildClient();
String blocklistName = "<your_list_name>";
PagedIterable<TextBlocklistItem> allBlockitems = blocklistClient.listTextBlocklistItems(blocklistName);
System.out.println("\nList BlockItems:");
for (TextBlocklistItem blocklistItem : allBlockitems) {
System.out.println("BlockItemId: " + blocklistItem.getBlocklistItemId() + ", Text: " + blocklistItem.getText() + ", Description: " + blocklistItem.getDescription());
}
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
قم بتشغيل البرنامج النصي
إنشاء نص Python جديد في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
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 = "<your_list_name>"
try:
blocklist_items = client.list_text_blocklist_items(blocklist_name=blocklist_name)
if blocklist_items:
print("\nList blocklist items: ")
for blocklist_item in blocklist_items:
print(
f"BlocklistItemId: {blocklist_item.blocklist_item_id}, Text: {blocklist_item.text}, "
f"Description: {blocklist_item.description}"
)
except HttpResponseError as e:
print("\nList blocklist items failed: ")
if e.error:
print(f"Error code: {e.error.code}")
print(f"Error message: {e.error.message}")
raise
print(e)
raise
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
قم بتشغيل البرنامج النصي
const ContentSafetyClient = require("@azure-rest/ai-content-safety").default,
{ isUnexpected } = require("@azure-rest/ai-content-safety");
const { AzureKeyCredential } = require("@azure/core-auth");
// Load the .env file if it exists
require("dotenv").config();
const endpoint = process.env["CONTENT_SAFETY_ENDPOINT"] || "<endpoint>";
const key = process.env["CONTENT_SAFETY_API_KEY"] || "<key>";
const credential = new AzureKeyCredential(key);
const client = ContentSafetyClient(endpoint, credential);
async function listBlocklistItems() {
const blocklistName = "<your_list_name>";
const result = await client
.path("/text/blocklists/{blocklistName}/blocklistItems", blocklistName)
.get();
if (isUnexpected(result)) {
throw result;
}
console.log("List blocklist items: ");
if (result.body.value) {
for (const blocklistItem of result.body.value) {
console.log(
"BlocklistItemId: ",
blocklistItem.blocklistItemId,
", Text: ",
blocklistItem.text,
", Description: ",
blocklistItem.description
);
}
}
}
(async () => {
await listBlocklistItems();
})().catch((err) => {
console.error("The sample encountered an error:", err);
});
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
قم بتشغيل البرنامج النصي
سرد كافة قوائم الحظر
انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:
استبدل <endpoint>
بعنوان URL لنقطة النهاية.
استبدل <enter_your_key_here>
بمفتاحك.
curl --location --request GET '<endpoint>/contentsafety/text/blocklists?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json'
يجب أن يكون 200
رمز الحالة . تبدو استجابة JSON كما يلي:
"value": [
{
"blocklistName": "string",
"description": "string"
}
]
أنشئ تطبيق وحدة تحكم C# جديدا وافتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
string endpoint = Environment.GetEnvironmentVariable("CONTENT_SAFETY_ENDPOINT");
string key = Environment.GetEnvironmentVariable("CONTENT_SAFETY_KEY");
BlocklistClient blocklistClient = new BlocklistClient(new Uri(endpoint), new AzureKeyCredential(key));
var blocklists = blocklistClient.GetTextBlocklists();
Console.WriteLine("\nList blocklists:");
foreach (var blocklist in blocklists)
{
Console.WriteLine("BlocklistName: {0}, Description: {1}", blocklist.Name, blocklist.Description);
}
قم بتشغيل البرنامج النصي
إنشاء تطبيق Java وفتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
String endpoint = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_ENDPOINT");
String key = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_KEY");
BlocklistClient blocklistClient = new BlocklistClientBuilder()
.credential(new KeyCredential(key))
.endpoint(endpoint).buildClient();
PagedIterable<TextBlocklist> allTextBlocklists = blocklistClient.listTextBlocklists();
System.out.println("\nList Blocklist:");
for (TextBlocklist blocklist : allTextBlocklists) {
System.out.println("Blocklist: " + blocklist.getName() + ", Description: " + blocklist.getDescription());
}
قم بتشغيل البرنامج النصي
إنشاء نص Python جديد في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
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
قم بتشغيل البرنامج النصي
const ContentSafetyClient = require("@azure-rest/ai-content-safety").default,
{ isUnexpected } = require("@azure-rest/ai-content-safety");
const { AzureKeyCredential } = require("@azure/core-auth");
// Load the .env file if it exists
require("dotenv").config();
const endpoint = process.env["CONTENT_SAFETY_ENDPOINT"] || "<endpoint>";
const key = process.env["CONTENT_SAFETY_API_KEY"] || "<key>";
const credential = new AzureKeyCredential(key);
const client = ContentSafetyClient(endpoint, credential);
async function listTextBlocklists() {
const result = await client.path("/text/blocklists").get();
if (isUnexpected(result)) {
throw result;
}
console.log("List blocklists: ");
if (result.body.value) {
for (const blocklist of result.body.value) {
console.log(
"BlocklistName: ",
blocklist.blocklistName,
", Description: ",
blocklist.description
);
}
}
}
(async () => {
await listTextBlocklists();
})().catch((err) => {
console.error("The sample encountered an error:", err);
});
قم بتشغيل البرنامج النصي
الحصول على قائمة حظر بواسطة blocklistName
انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:
استبدل <endpoint>
بعنوان URL لنقطة النهاية.
استبدل <enter_your_key_here>
بمفتاحك.
استبدل <your_list_name>
(في عنوان URL للطلب) بالاسم الذي استخدمته في خطوة إنشاء القائمة.
cURL --location '<endpoint>contentsafety/text/blocklists/<your_list_name>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--data ''
يجب أن يكون 200
رمز الحالة . تبدو استجابة JSON كما يلي:
{
"blocklistName": "string",
"description": "string"
}
أنشئ تطبيق وحدة تحكم C# جديدا وافتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
string endpoint = Environment.GetEnvironmentVariable("CONTENT_SAFETY_ENDPOINT");
string key = Environment.GetEnvironmentVariable("CONTENT_SAFETY_KEY");
BlocklistClient blocklistClient = new BlocklistClient(new Uri(endpoint), new AzureKeyCredential(key));
var blocklistName = "<your_list_name>";
var getBlocklist = blocklistClient.GetTextBlocklist(blocklistName);
if (getBlocklist != null && getBlocklist.Value != null)
{
Console.WriteLine("\nGet blocklist:");
Console.WriteLine("BlocklistName: {0}, Description: {1}", getBlocklist.Value.Name, getBlocklist.Value.Description);
}
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
قم بتشغيل البرنامج النصي
إنشاء تطبيق Java وفتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
String endpoint = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_ENDPOINT");
String key = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_KEY");
BlocklistClient blocklistClient = new BlocklistClientBuilder()
.credential(new KeyCredential(key))
.endpoint(endpoint).buildClient();
String blocklistName = "<your_list_name>";
TextBlocklist getBlocklist = blocklistClient.getTextBlocklist(blocklistName);
if (getBlocklist != null) {
System.out.println("\nGet blocklist:");
System.out.println("BlocklistName: " + getBlocklist.getName() + ", Description: " + getBlocklist.getDescription());
}
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
قم بتشغيل البرنامج النصي
إنشاء نص Python جديد في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
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 = "<your_list_name>"
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
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
قم بتشغيل البرنامج النصي
const ContentSafetyClient = require("@azure-rest/ai-content-safety").default,
{ isUnexpected } = require("@azure-rest/ai-content-safety");
const { AzureKeyCredential } = require("@azure/core-auth");
// Load the .env file if it exists
require("dotenv").config();
const endpoint = process.env["CONTENT_SAFETY_ENDPOINT"] || "<endpoint>";
const key = process.env["CONTENT_SAFETY_API_KEY"] || "<key>";
const credential = new AzureKeyCredential(key);
const client = ContentSafetyClient(endpoint, credential);
async function getTextBlocklist() {
const blocklistName = "<your_list_name>";
const result = await client.path("/text/blocklists/{blocklistName}", blocklistName).get();
if (isUnexpected(result)) {
throw result;
}
console.log("Get blocklist: ");
console.log("Name: ", result.body.blocklistName, ", Description: ", result.body.description);
}
(async () => {
await getTextBlocklist();
})().catch((err) => {
console.error("The sample encountered an error:", err);
});
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
قم بتشغيل البرنامج النصي
الحصول على blocklistItem بواسطة blocklistName و blocklistItemId
انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:
استبدل <endpoint>
بعنوان URL لنقطة النهاية.
استبدل <enter_your_key_here>
بمفتاحك.
استبدل <your_list_name>
(في عنوان URL للطلب) بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل <your_item_id>
بقيمة المعرف ل blocklistItem. هذه هي قيمة "blocklistItemId"
الحقل من استدعاءات Add blocklistItem أو Get all blocklistItems API.
cURL --location '<endpoint>contentsafety/text/blocklists/<your_list_name>/blocklistItems/<your_item_id>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--data ''
يجب أن يكون 200
رمز الحالة . تبدو استجابة JSON كما يلي:
{
"blocklistItemId": "string",
"description": "string",
"text": "string"
}
أنشئ تطبيق وحدة تحكم C# جديدا وافتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
string endpoint = Environment.GetEnvironmentVariable("CONTENT_SAFETY_ENDPOINT");
string key = Environment.GetEnvironmentVariable("CONTENT_SAFETY_KEY");
BlocklistClient blocklistClient = new BlocklistClient(new Uri(endpoint), new AzureKeyCredential(key));
var blocklistName = "<your_list_name>";
var getBlocklistItemId = "<your_block_item_id>";
var getBlocklistItem = blocklistClient.GetTextBlocklistItem(blocklistName, getBlocklistItemId);
Console.WriteLine("\nGet BlocklistItem:");
Console.WriteLine("BlocklistItemId: {0}, Text: {1}, Description: {2}", getBlocklistItem.Value.BlocklistItemId, getBlocklistItem.Value.Text, getBlocklistItem.Value.Description);
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل <your_block_item_id>
بمعرف عنصر تمت إضافته مسبقا.
قم بتشغيل البرنامج النصي
إنشاء تطبيق Java وفتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
String endpoint = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_ENDPOINT");
String key = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_KEY");
BlocklistClient blocklistClient = new BlocklistClientBuilder()
.credential(new KeyCredential(key))
.endpoint(endpoint).buildClient();
String blocklistName = "<your_list_name>";
String getBlockItemId = "<your_block_item_id>";
TextBlocklistItem getBlockItem = blocklistClient.getTextBlocklistItem(blocklistName, getBlockItemId);
System.out.println("\nGet BlockItem:");
System.out.println("BlockItemId: " + getBlockItem.getBlocklistItemId() + ", Text: " + getBlockItem.getText() + ", Description: " + getBlockItem.getDescription());
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل <your_block_item_id>
بمعرف عنصر تمت إضافته مسبقا.
قم بتشغيل البرنامج النصي
إنشاء نص Python جديد في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
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 = "<your_list_name>"
blocklist_item_text_1 = "<block_item_text>"
try:
# Add a blocklistItem
add_result = client.add_or_update_blocklist_items(
blocklist_name=blocklist_name,
options=AddOrUpdateTextBlocklistItemsOptions(blocklist_items=[TextBlocklistItem(text=blocklist_item_text_1)]),
)
if not add_result or not add_result.blocklist_items or len(add_result.blocklist_items) <= 0:
raise RuntimeError("BlocklistItem not created.")
blocklist_item_id = add_result.blocklist_items[0].blocklist_item_id
# Get this blocklistItem by blocklistItemId
blocklist_item = client.get_text_blocklist_item(blocklist_name=blocklist_name, blocklist_item_id=blocklist_item_id)
print("\nGet blocklistItem: ")
print(
f"BlocklistItemId: {blocklist_item.blocklist_item_id}, Text: {blocklist_item.text}, Description: {blocklist_item.description}"
)
except HttpResponseError as e:
print("\nGet blocklist item failed: ")
if e.error:
print(f"Error code: {e.error.code}")
print(f"Error message: {e.error.message}")
raise
print(e)
raise
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل <block_item_text>
بالنص عنصر الكتلة.
قم بتشغيل البرنامج النصي
const ContentSafetyClient = require("@azure-rest/ai-content-safety").default,
{ isUnexpected } = require("@azure-rest/ai-content-safety");
const { AzureKeyCredential } = require("@azure/core-auth");
// Load the .env file if it exists
require("dotenv").config();
const endpoint = process.env["CONTENT_SAFETY_ENDPOINT"] || "<endpoint>";
const key = process.env["CONTENT_SAFETY_API_KEY"] || "<key>";
const credential = new AzureKeyCredential(key);
const client = ContentSafetyClient(endpoint, credential);
async function getBlocklistItem() {
const blocklistName = "<your_list_name>";
const blocklistItemId = "<your_block_item_id>";
// Get this blocklistItem by blocklistItemId
const blocklistItem = await client
.path(
"/text/blocklists/{blocklistName}/blocklistItems/{blocklistItemId}",
blocklistName,
blocklistItemId
)
.get();
if (isUnexpected(blocklistItem)) {
throw blocklistItem;
}
console.log("Get blocklistitem: ");
console.log(
"BlocklistItemId: ",
blocklistItem.body.blocklistItemId,
", Text: ",
blocklistItem.body.text,
", Description: ",
blocklistItem.body.description
);
}
(async () => {
await getBlocklistItem();
})().catch((err) => {
console.error("The sample encountered an error:", err);
});
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل <your_block_item_id>
بمعرف العنصر الذي تريد الحصول عليه.
قم بتشغيل البرنامج النصي
إزالة blocklistItems من قائمة حظر.
إشعار
سيكون هناك بعض التأخير بعد حذف عنصر قبل أن يدخل حيز التنفيذ على تحليل النص، وعادة ما لا يزيد عن خمس دقائق .
انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:
استبدل <endpoint>
بعنوان URL لنقطة النهاية.
استبدل <enter_your_key_here>
بمفتاحك.
استبدل <your_list_name>
(في عنوان URL للطلب) بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل <item_id>
بقيمة المعرف ل blocklistItem. هذه هي قيمة "blocklistItemId"
الحقل من استدعاءات Add blocklistItem أو Get all blocklistItems API.
curl --location --request DELETE '<endpoint>/contentsafety/text/blocklists/<your_list_name>:removeBlocklistItems?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json'
--data-raw '"blocklistItemIds":[
"<item_id>"
]'
تلميح
يمكنك حذف blocklistItems متعددة في استدعاء واجهة برمجة تطبيقات واحد. جعل نص الطلب صفيفا من blocklistItemId
القيم.
يجب أن يكون 204
رمز الاستجابة .
أنشئ تطبيق وحدة تحكم C# جديدا وافتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
string endpoint = os.environ["CONTENT_SAFETY_ENDPOINT"];
string key = os.environ["CONTENT_SAFETY_KEY"];
BlocklistClient blocklistClient = new BlocklistClient(new Uri(endpoint), new AzureKeyCredential(key));
var blocklistName = "<your_list_name>";
var removeBlocklistItemId = "<your_block_item_id>";
var removeBlocklistItemIds = new List<string> { removeBlocklistItemId };
var removeResult = blocklistClient.RemoveBlocklistItems(blocklistName, new RemoveTextBlocklistItemsOptions(removeBlocklistItemIds));
if (removeResult != null && removeResult.Status == 204)
{
Console.WriteLine("\nBlocklistItem removed: {0}.", removeBlocklistItemId);
}
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل <your_block_item_id>
بمعرف عنصر تمت إضافته مسبقا.
قم بتشغيل البرنامج النصي
إنشاء تطبيق Java وفتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
String endpoint = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_ENDPOINT");
String key = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_KEY");
BlocklistClient blocklistClient = new BlocklistClientBuilder()
.credential(new KeyCredential(key))
.endpoint(endpoint).buildClient();
String blocklistName = "<your_list_name>";
String removeBlockItemId = "<your_block_item_id>";
List<String> removeBlockItemIds = new ArrayList<>();
removeBlockItemIds.add(removeBlockItemId);
blocklistClient.removeBlocklistItems(blocklistName, new RemoveTextBlocklistItemsOptions(removeBlockItemIds));
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل <your_block_item_id>
بمعرف عنصر تمت إضافته مسبقا.
قم بتشغيل البرنامج النصي
إنشاء نص Python جديد في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
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 = "<your_list_name>"
blocklist_item_text_1 = "<block_item_text>"
try:
# Add a blocklistItem
add_result = client.add_or_update_blocklist_items(
blocklist_name=blocklist_name,
options=AddOrUpdateTextBlocklistItemsOptions(blocklist_items=[TextBlocklistItem(text=blocklist_item_text_1)]),
)
if not add_result or not add_result.blocklist_items or len(add_result.blocklist_items) <= 0:
raise RuntimeError("BlocklistItem not created.")
blocklist_item_id = add_result.blocklist_items[0].blocklist_item_id
# Remove this blocklistItem by blocklistItemId
client.remove_blocklist_items(
blocklist_name=blocklist_name, options=RemoveTextBlocklistItemsOptions(blocklist_item_ids=[blocklist_item_id])
)
print(f"\nRemoved blocklistItem: {add_result.blocklist_items[0].blocklist_item_id}")
except HttpResponseError as e:
print("\nRemove blocklist item failed: ")
if e.error:
print(f"Error code: {e.error.code}")
print(f"Error message: {e.error.message}")
raise
print(e)
raise
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل <block_item_text>
بالنص عنصر الكتلة.
قم بتشغيل البرنامج النصي
const ContentSafetyClient = require("@azure-rest/ai-content-safety").default,
{ isUnexpected } = require("@azure-rest/ai-content-safety");
const { AzureKeyCredential } = require("@azure/core-auth");
// Load the .env file if it exists
require("dotenv").config();
const endpoint = process.env["CONTENT_SAFETY_ENDPOINT"] || "<endpoint>";
const key = process.env["CONTENT_SAFETY_API_KEY"] || "<key>";
const credential = new AzureKeyCredential(key);
const client = ContentSafetyClient(endpoint, credential);
// Sample: Remove blocklistItems from a blocklist
async function removeBlocklistItems() {
const blocklistName = "<your_list_name>";
const blocklistItemId = "<your_block_item_id>";
// Remove this blocklistItem by blocklistItemId
const removeBlocklistItemsParameters = {
body: {
blocklistItemIds: [blocklistItemId],
},
};
const removeBlocklistItem = await client
.path("/text/blocklists/{blocklistName}:removeBlocklistItems", blocklistName)
.post(removeBlocklistItemsParameters);
if (isUnexpected(removeBlocklistItem)) {
throw removeBlocklistItem;
}
console.log("Removed blocklistItem: ", blocklistItemText);
}
(async () => {
await removeBlocklistItems();
})().catch((err) => {
console.error("The sample encountered an error:", err);
});
استبدل <your_list_name>
بالاسم الذي استخدمته في خطوة إنشاء القائمة.
استبدل <your_block_item_id
بمعرف العنصر الذي تريد إزالته.
قم بتشغيل البرنامج النصي
حذف قائمة وكافة محتوياتها
إشعار
سيكون هناك بعض التأخير بعد حذف قائمة قبل أن تصبح سارية المفعول على تحليل النص، وعادة ما لا يزيد عن خمس دقائق .
انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:
استبدل <endpoint>
بعنوان URL لنقطة النهاية.
استبدل <enter_your_key_here>
بمفتاحك.
استبدل <your_list_name>
(في عنوان URL للطلب) بالاسم الذي استخدمته في خطوة إنشاء القائمة.
curl --location --request DELETE '<endpoint>/contentsafety/text/blocklists/<your_list_name>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \
يجب أن يكون 204
رمز الاستجابة .
أنشئ تطبيق وحدة تحكم C# جديدا وافتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
string endpoint = os.environ["CONTENT_SAFETY_ENDPOINT"];
string key = os.environ["CONTENT_SAFETY_KEY"];
BlocklistClient blocklistClient = new BlocklistClient(new Uri(endpoint), new AzureKeyCredential(key));
var blocklistName = "<your_list_name>";
var deleteResult = blocklistClient.DeleteTextBlocklist(blocklistName);
if (deleteResult != null && deleteResult.Status == 204)
{
Console.WriteLine("\nDeleted blocklist.");
}
استبدل <your_list_name>
(في عنوان URL للطلب) بالاسم الذي استخدمته في خطوة إنشاء القائمة.
قم بتشغيل البرنامج النصي
إنشاء تطبيق Java وفتحه في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
String endpoint = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_ENDPOINT");
String key = Configuration.getGlobalConfiguration().get("CONTENT_SAFETY_KEY");
BlocklistClient blocklistClient = new BlocklistClientBuilder()
.credential(new KeyCredential(key))
.endpoint(endpoint).buildClient();
String blocklistName = "<your_list_name>";
blocklistClient.deleteTextBlocklist(blocklistName);
استبدل <your_list_name>
(في عنوان URL للطلب) بالاسم الذي استخدمته في خطوة إنشاء القائمة.
قم بتشغيل البرنامج النصي
إنشاء نص Python جديد في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية التالية.
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 = "<your_list_name>"
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
استبدل <your_list_name>
(في عنوان URL للطلب) بالاسم الذي استخدمته في خطوة إنشاء القائمة.
قم بتشغيل البرنامج النصي
const ContentSafetyClient = require("@azure-rest/ai-content-safety").default,
{ isUnexpected } = require("@azure-rest/ai-content-safety");
const { AzureKeyCredential } = require("@azure/core-auth");
// Load the .env file if it exists
require("dotenv").config();
const endpoint = process.env["CONTENT_SAFETY_ENDPOINT"] || "<endpoint>";
const key = process.env["CONTENT_SAFETY_API_KEY"] || "<key>";
const credential = new AzureKeyCredential(key);
const client = ContentSafetyClient(endpoint, credential);
async function deleteBlocklist() {
const blocklistName = "<your_list_name>";
const result = await client.path("/text/blocklists/{blocklistName}", blocklistName).delete();
if (isUnexpected(result)) {
throw result;
}
console.log("Deleted blocklist: ", blocklistName);
}
(async () => {
await deleteBlocklist();
})().catch((err) => {
console.error("The sample encountered an error:", err);
});
استبدل <your_list_name>
(في عنوان URL للطلب) بالاسم الذي استخدمته في خطوة إنشاء القائمة.
قم بتشغيل البرنامج النصي
الخطوات التالية
راجع الوثائق المرجعية لواجهة برمجة التطبيقات لمعرفة المزيد حول واجهات برمجة التطبيقات المستخدمة في هذا الدليل.