Použití seznamu blokovaných položek
Článek 09/02/2024
Přispěvatelé: 4
Váš názor
V tomto článku
Upozornění
Ukázková data v této příručce můžou obsahovat urážlivý obsah. Doporučuje se, aby uživatel rozhodoval.
Výchozí klasifikátory AI jsou dostatečné pro většinu potřeb kon režim stanu race. Možná ale budete muset zobrazit položky, které jsou specifické pro váš případ použití. Seznamy bloků umožňují přidat vlastní termíny do klasifikátorů AI. Seznamy blokování můžete použít k zobrazení konkrétních termínů nebo frází, které chcete v obsahu označit příznakem.
Požadavky
Předplatné Azure – Vytvoření předplatného zdarma
Jakmile budete mít předplatné Azure, vytvořte na webu Azure Portal prostředek zabezpečení obsahu, abyste získali svůj klíč a koncový bod. Zadejte jedinečný název vašeho prostředku, vyberte své předplatné a vyberte skupinu prostředků, podporovanou oblast (viz Dostupnost oblastí) a podporovanou cenovou úroveň. Pak vyberte Vytvořit .
Nasazení prostředku trvá několik minut. Po dokončení vyberte přejít k prostředku . V levém podokně v části Správa prostředků vyberte Klíč předplatného a koncový bod. Koncový bod a jeden z klíčů se používají k volání rozhraní API.
Nainstalujte jednu z následujících instalací:
cURL pro volání rozhraní REST API.
Nainstalovaný Python 3.x
Vaše instalace Pythonu by měla obsahovat pip . Spuštěním na příkazovém pip --version
řádku můžete zkontrolovat, jestli máte nainstalovaný pip. Získejte pip instalací nejnovější verze Pythonu.
Pokud používáte Python, budete muset nainstalovat klientskou knihovnu Azure AI Content Safety pro Python. Spusťte příkaz pip install azure-ai-contentsafety
v adresáři projektu.
Nainstalovaný modul runtime .NET.
Nainstalovaná sada .NET Core SDK
Pokud používáte .NET, budete muset nainstalovat klientskou knihovnu Azure AI Content Safety pro .NET. Spusťte příkaz dotnet add package Azure.AI.ContentSafety --prerelease
v adresáři projektu.
Vytvoření proměnných prostředí
V tomto příkladu napíšete přihlašovací údaje do proměnných prostředí na místním počítači, na kterém běží aplikace.
Pokud chcete nastavit proměnnou prostředí pro klíč a koncový bod, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.
Pokud chcete nastavit proměnnou CONTENT_SAFETY_KEY
prostředí, nahraďte YOUR_CONTENT_SAFETY_KEY
jedním z klíčů pro váš prostředek.
Pokud chcete nastavit proměnnou CONTENT_SAFETY_ENDPOINT
prostředí, nahraďte YOUR_CONTENT_SAFETY_ENDPOINT
koncovým bodem vašeho prostředku.
Důležité
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault . Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
Po přidání proměnných prostředí budete možná muset restartovat všechny spuštěné programy, které budou číst proměnné prostředí, včetně okna konzoly.
export CONTENT_SAFETY_KEY='YOUR_CONTENT_SAFETY_KEY'
export CONTENT_SAFETY_ENDPOINT='YOUR_CONTENT_SAFETY_ENDPOINT'
Po přidání proměnných prostředí spusťte source ~/.bashrc
z okna konzoly, aby změny byly efektivní.
Analýza textu pomocí seznamu blokovaných položek
Můžete vytvořit seznamy blokovaných adres pro použití s textovým rozhraním API. Následující kroky vám pomůžou začít.
Vytvoření nebo úprava seznamu blokovaných položek
Zkopírujte následující příkaz cURL do textového editoru a proveďte následující změny:
Nahraďte <endpoint>
adresou URL koncového bodu.
<enter_your_key_here>
nahraďte tímto klíčem.
Nahraďte <your_list_name>
(v adrese URL) vlastním názvem seznamu. Nahraďte také poslední termín adresy URL REST stejným názvem. Povolené znaky: 0-9, A-Z, a-z, - . _ ~
.
Volitelně nahraďte hodnotu "description"
pole vlastním popisem.
curl --location --request PATCH '<endpoint>/contentsafety/text/blocklists/<your_list_name>?api-version=2024-09-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \
--data-raw '{
"description": "This is a violence list"
}'
Kód odpovědi by měl být 201
(vytvořen nový seznam) nebo 200
(aktualizovaný existující seznam).
Vytvořte novou konzolovou aplikaci jazyka C# a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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);
}
Nahraďte <your_list_name>
vlastním názvem seznamu. Povolené znaky: 0-9, A-Z, a-z, - . _ ~
.
Volitelně můžete nahradit <description>
vlastním popisem.
Spusťte kód.
Vytvořte aplikaci v Javě a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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.");
}
Nahraďte <your_list_name>
vlastním názvem seznamu. Povolené znaky: 0-9, A-Z, a-z, - . _ ~
.
Volitelně můžete nahradit <description>
vlastním popisem.
Spusťte kód.
Vytvořte nový skript Pythonu a otevřete ho v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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
Nahraďte <your_list_name>
vlastním názvem seznamu. Povolené znaky: 0-9, A-Z, a-z, - . _ ~
.
Nahraďte <description>
vlastním popisem.
Spusťte skript.
Vytvořte nový javascriptový skript a otevřete ho v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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);
});
Nahraďte <your_list_name>
vlastním názvem seznamu. Povolené znaky: 0-9, A-Z, a-z, - . _ ~
.
Volitelně můžete nahradit <description>
vlastním popisem.
Spusťte skript.
Přidání blocklistItems do seznamu
Poznámka:
Maximální limit je 10 000 výrazů celkem ve všech seznamech. Do jednoho požadavku můžete přidat maximálně 100 položek seznamu blokovaných.
Zkopírujte následující příkaz cURL do textového editoru a proveďte následující změny:
Nahraďte <endpoint>
adresou URL koncového bodu.
<enter_your_key_here>
nahraďte tímto klíčem.
Nahraďte <your_list_name>
(v adrese URL) názvem, který jste použili v kroku vytvoření seznamu.
Volitelně nahraďte hodnotu "description"
pole vlastním popisem.
Nahraďte hodnotu "text"
pole položkou, kterou chcete přidat do seznamu blokovaných položek. Maximální délka blocklistItem je 128 znaků.
curl --location --request POST '<endpoint>/contentsafety/text/blocklists/<your_list_name>:addOrUpdateBlocklistItems?api-version=2024-09-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \
--data-raw '"blocklistItems": [{
"description": "string",
"text": "bleed"
}]'
Tip
Do jednoho volání rozhraní API můžete přidat několik blocklistItems. Nastavte text požadavku jako pole JSON skupin dat:
{
"blocklistItems": [
{
"description": "string",
"text": "bleed"
},
{
"description": "string",
"text": "blood"
}
]
}
Kód odpovědi by měl být 200
.
{
"blocklistItems:"[
{
"blocklistItemId": "string",
"description": "string",
"text": "bleed"
}
]
}
Vytvořte novou konzolovou aplikaci jazyka C# a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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);
}
}
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Nahraďte hodnoty blocklistItemText1
polí položkami blocklistItemText2
, které chcete přidat do seznamu blokovaných položek. Maximální délka blockItem je 128 znaků.
Volitelně do parametru blockItems
přidejte další řetězce blockItem.
Spusťte kód.
Vytvořte aplikaci v Javě a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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());
}
}
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Nahraďte hodnoty blockItemText1
polí položkami blockItemText2
, které chcete přidat do seznamu blokovaných položek. Maximální délka blockItem je 128 znaků.
Volitelně do parametru blockItems
přidejte další řetězce blockItem.
Spusťte kód.
Vytvořte nový skript Pythonu a otevřete ho v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Nahraďte hodnoty blocklist_item_text_1
polí položkami blocklist_item_text_2
, které chcete přidat do seznamu blokovaných položek. Maximální délka blockItem je 128 znaků.
Volitelně do parametru block_items
přidejte další řetězce blockItem.
Spusťte skript.
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);
});
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Nahraďte hodnoty block_item_text_1
polí položkami block_item_text_2
, které chcete přidat do seznamu blokovaných položek. Maximální délka blockItem je 128 znaků.
Volitelně do parametru blocklistItems
přidejte další řetězce blockItem.
Spusťte skript.
Poznámka:
Po přidání nebo úpravě blockItem dojde ke zpoždění, než se projeví při analýze textu, obvykle ne více než pět minut .
Analýza textu pomocí seznamu blokovaných položek
Zkopírujte následující příkaz cURL do textového editoru a proveďte následující změny:
Nahraďte <endpoint>
adresou URL koncového bodu.
<enter_your_key_here>
nahraďte tímto klíčem.
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu. Pole "blocklistNames"
může obsahovat pole s více ID seznamu.
Volitelně můžete změnit hodnotu ."breakByBlocklists"
true
označuje, že jakmile je seznam blokovaných položek spárován, analýza se vrátí okamžitě bez výstupu modelu. false
způsobí, že model bude pokračovat v analýze ve výchozích kategoriích.
Volitelně můžete změnit hodnotu "text"
pole na jakýkoli text, který chcete analyzovat.
curl --location --request POST '<endpoint>/contentsafety/text:analyze?api-version=2024-09-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"
}'
Odpověď JSON bude obsahovat "blocklistMatchResults"
, která označuje všechny shody se seznamem blokovaných položek. Hlásí umístění v textovém řetězci, kde byla nalezena shoda.
{
"blocklistsMatch": [
{
"blocklistName": "string",
"blocklistItemId": "string",
"blocklistItemText": "bleed"
}
],
"categoriesAnalysis": [
{
"category": "Hate",
"severity": 0
}
]
}
Vytvořte novou konzolovou aplikaci jazyka C# a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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);
}
}
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
request
Nahraďte vstupní text jakýmkoli textem, který chcete analyzovat.
Spusťte skript.
Vytvořte aplikaci v Javě a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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());
}
}
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
request
Nahraďte vstupní text jakýmkoli textem, který chcete analyzovat.
Spusťte skript.
Vytvořte nový skript Pythonu a otevřete ho v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Proměnnou input_text
nahraďte jakýmkoli textem, který chcete analyzovat.
Spusťte skript.
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);
});
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Proměnnou inputText
nahraďte jakýmkoli textem, který chcete analyzovat.
Spusťte skript.
Další operace seznamu blokovaných položek
Tato část obsahuje další operace, které vám pomůžou spravovat a používat funkci seznamu blokovaných položek.
Výpis všech položek blocklistItems v seznamu
Zkopírujte následující příkaz cURL do textového editoru a proveďte následující změny:
Nahraďte <endpoint>
adresou URL koncového bodu.
<enter_your_key_here>
nahraďte tímto klíčem.
Nahraďte <your_list_name>
(v adrese URL požadavku) názvem, který jste použili v kroku vytvoření seznamu.
curl --location --request GET '<endpoint>/contentsafety/text/blocklists/<your_list_name>/blocklistItems?api-version=2024-09-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json'
Stavový kód by měl být 200
a text odpovědi by měl vypadat takto:
{
"values": [
{
"blocklistItemId": "string",
"description": "string",
"text": "bleed",
}
]
}
Vytvořte novou konzolovou aplikaci jazyka C# a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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);
}
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Spusťte skript.
Vytvořte aplikaci v Javě a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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());
}
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Spusťte skript.
Vytvořte nový skript Pythonu a otevřete ho v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Spusťte skript.
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);
});
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Spusťte skript.
Výpis všech seznamů blokovaných položek
Zkopírujte následující příkaz cURL do textového editoru a proveďte následující změny:
Nahraďte <endpoint>
adresou URL koncového bodu.
<enter_your_key_here>
nahraďte tímto klíčem.
curl --location --request GET '<endpoint>/contentsafety/text/blocklists?api-version=2024-09-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json'
Stavový kód by měl být 200
. Odpověď JSON vypadá takto:
"value": [
{
"blocklistName": "string",
"description": "string"
}
]
Vytvořte novou konzolovou aplikaci jazyka C# a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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);
}
Spusťte skript.
Vytvořte aplikaci v Javě a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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());
}
Spusťte skript.
Vytvořte nový skript Pythonu a otevřete ho v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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
Spusťte skript.
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);
});
Spusťte skript.
Získání seznamu blokovaných podle blocklistName
Zkopírujte následující příkaz cURL do textového editoru a proveďte následující změny:
Nahraďte <endpoint>
adresou URL koncového bodu.
<enter_your_key_here>
nahraďte tímto klíčem.
Nahraďte <your_list_name>
(v adrese URL požadavku) názvem, který jste použili v kroku vytvoření seznamu.
cURL --location '<endpoint>contentsafety/text/blocklists/<your_list_name>?api-version=2024-09-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--data ''
Stavový kód by měl být 200
. Odpověď JSON vypadá takto:
{
"blocklistName": "string",
"description": "string"
}
Vytvořte novou konzolovou aplikaci jazyka C# a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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);
}
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Spusťte skript.
Vytvořte aplikaci v Javě a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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());
}
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Spusťte skript.
Vytvořte nový skript Pythonu a otevřete ho v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Spusťte skript.
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);
});
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Spusťte skript.
Získání blocklistItem podle blocklistName a blocklistItemId
Zkopírujte následující příkaz cURL do textového editoru a proveďte následující změny:
Nahraďte <endpoint>
adresou URL koncového bodu.
<enter_your_key_here>
nahraďte tímto klíčem.
Nahraďte <your_list_name>
(v adrese URL požadavku) názvem, který jste použili v kroku vytvoření seznamu.
Nahraďte <your_item_id>
hodnotou ID pro blocklistItem. Toto je hodnota "blocklistItemId"
pole z add blocklistItem nebo Get all blocklistItems API volání.
cURL --location '<endpoint>contentsafety/text/blocklists/<your_list_name>/blocklistItems/<your_item_id>?api-version=2024-09-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--data ''
Stavový kód by měl být 200
. Odpověď JSON vypadá takto:
{
"blocklistItemId": "string",
"description": "string",
"text": "string"
}
Vytvořte novou konzolovou aplikaci jazyka C# a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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);
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Nahraďte <your_block_item_id>
ID dříve přidané položky.
Spusťte skript.
Vytvořte aplikaci v Javě a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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());
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Nahraďte <your_block_item_id>
ID dříve přidané položky.
Spusťte skript.
Vytvořte nový skript Pythonu a otevřete ho v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Nahraďte <block_item_text>
textem blokové položky.
Spusťte skript.
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);
});
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Nahraďte <your_block_item_id>
ID položky, kterou chcete získat.
Spusťte skript.
Odeberte položku blocklistItems ze seznamu blokovaných položek.
Poznámka:
Po odstranění položky dojde k určitému zpoždění, než se projeví při analýze textu, obvykle ne více než pět minut .
Zkopírujte následující příkaz cURL do textového editoru a proveďte následující změny:
Nahraďte <endpoint>
adresou URL koncového bodu.
<enter_your_key_here>
nahraďte tímto klíčem.
Nahraďte <your_list_name>
(v adrese URL požadavku) názvem, který jste použili v kroku vytvoření seznamu.
Nahraďte <item_id>
hodnotou ID pro blocklistItem. Toto je hodnota "blocklistItemId"
pole z add blocklistItem nebo Get all blocklistItems API volání.
curl --location --request POST '<endpoint>/contentsafety/text/blocklists/<your_list_name>:removeBlocklistItems?api-version=2024-09-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json'
--data-raw '"blocklistItemIds":[
"<item_id>"
]'
Tip
V jednom volání rozhraní API můžete odstranit několik blocklistItems. Nastavte text požadavku jako pole blocklistItemId
hodnot.
Kód odpovědi by měl být 204
.
Vytvořte novou konzolovou aplikaci jazyka C# a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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);
}
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Nahraďte <your_block_item_id>
ID dříve přidané položky.
Spusťte skript.
Vytvořte aplikaci v Javě a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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));
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Nahraďte <your_block_item_id>
ID dříve přidané položky.
Spusťte skript.
Vytvořte nový skript Pythonu a otevřete ho v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Nahraďte <block_item_text>
textem blokové položky.
Spusťte skript.
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);
});
Nahraďte <your_list_name>
názvem, který jste použili v kroku vytvoření seznamu.
Nahraďte <your_block_item_id
ID položky, kterou chcete odebrat.
Spusťte skript.
Odstranění seznamu a veškerého jeho obsahu
Poznámka:
Po odstranění seznamu dojde k určitému zpoždění, než se projeví při analýze textu, obvykle ne více než pět minut .
Zkopírujte následující příkaz cURL do textového editoru a proveďte následující změny:
Nahraďte <endpoint>
adresou URL koncového bodu.
<enter_your_key_here>
nahraďte tímto klíčem.
Nahraďte <your_list_name>
(v adrese URL požadavku) názvem, který jste použili v kroku vytvoření seznamu.
curl --location --request DELETE '<endpoint>/contentsafety/text/blocklists/<your_list_name>?api-version=2024-09-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \
Kód odpovědi by měl být 204
.
Vytvořte novou konzolovou aplikaci jazyka C# a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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.");
}
Nahraďte <your_list_name>
(v adrese URL požadavku) názvem, který jste použili v kroku vytvoření seznamu.
Spusťte skript.
Vytvořte aplikaci v Javě a otevřete ji v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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);
Nahraďte <your_list_name>
(v adrese URL požadavku) názvem, který jste použili v kroku vytvoření seznamu.
Spusťte skript.
Vytvořte nový skript Pythonu a otevřete ho v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE). Vložte následující kód.
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
Nahraďte <your_list_name>
(v adrese URL požadavku) názvem, který jste použili v kroku vytvoření seznamu.
Spusťte skript.
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);
});
Nahraďte <your_list_name>
(v adrese URL požadavku) názvem, který jste použili v kroku vytvoření seznamu.
Spusťte skript.
Další kroky
Další informace o rozhraních API používaných v této příručce najdete v referenční dokumentaci k rozhraním API.