Blokklista használata
Cikk 02/14/2024
4 közreműködő
Visszajelzés
A cikk tartalma
Figyelemfelhívás
Az útmutatóban szereplő mintaadatok sértő tartalmakat tartalmazhatnak. A felhasználó belátása ajánlott.
Az alapértelmezett AI-osztályozók elegendőek a legtöbb con sátormód ration-igényhez. Előfordulhat azonban, hogy a használati esethez tartozó elemeket is képernyőre kell helyeznie.
Előfeltételek
Azure-előfizetés – Ingyenes létrehozás
Miután megkapta az Azure-előfizetését, hozzon létre egy Content Széf ty erőforrást az Azure Portalon a kulcs és a végpont lekéréséhez. Adja meg az erőforrás egyedi nevét, válassza ki az előfizetését, és válasszon ki egy erőforráscsoportot, egy támogatott régiót (az USA keleti régióját vagy Nyugat-Európát), valamint a támogatott tarifacsomagot. Válassza a Létrehozás parancsot.
Az erőforrás üzembe helyezése néhány percet vesz igénybe. A befejezés után válassza az Ugrás az erőforráshoz lehetőséget . A bal oldali panel Erőforrás-kezelés területén válassza az Előfizetési kulcsot és a Végpontot . A végpont és a kulcsok bármelyike az API-k meghívására szolgál.
Az alábbiak egyike telepítve van:
cURL REST API-hívásokhoz.
Python 3.x telepítve
A Python-telepítésnek tartalmaznia kell a pipet . A parancssorban való futtatással pip --version
ellenőrizheti, hogy telepítve van-e a pip. Kérje le a pipet a Python legújabb verziójának telepítésével.
Python használata esetén telepítenie kell a Pythonhoz készült Azure AI Content Széf ty ügyfélkódtárat. Futtassa a parancsot pip install azure-ai-contentsafety
a projektkönyvtárban.
A .NET-futtatókörnyezet telepítve van.
A .NET Core SDK telepítve van.
Ha .NET-et használ, telepítenie kell az Azure AI Content Széf ty ügyfélkódtárat a .NET-hez. Futtassa a parancsot dotnet add package Azure.AI.ContentSafety --prerelease
a projektkönyvtárban.
Környezeti változók létrehozása
Ebben a példában a hitelesítő adatokat az alkalmazást futtató helyi gépen lévő környezeti változókba fogja írni.
Tipp.
Ne vegye fel közvetlenül a kulcsot a kódba, és soha ne tegye közzé nyilvánosan. Az Azure AI-szolgáltatások biztonsági cikkében további hitelesítési lehetőségeket talál, például az Azure Key Vaultot .
A kulcs és a végpont környezeti változójának beállításához nyisson meg egy konzolablakot, és kövesse az operációs rendszer és a fejlesztési környezet utasításait.
A CONTENT_SAFETY_KEY
környezeti változó beállításához cserélje le YOUR_CONTENT_SAFETY_KEY
az erőforrás egyik kulcsára.
A CONTENT_SAFETY_ENDPOINT
környezeti változó beállításához cserélje le YOUR_CONTENT_SAFETY_ENDPOINT
az erőforrás végpontját.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
A környezeti változók hozzáadása után előfordulhat, hogy újra kell indítania azokat a futó programokat, amelyek felolvassák a környezeti változókat, beleértve a konzolablakot is.
export CONTENT_SAFETY_KEY='YOUR_CONTENT_SAFETY_KEY'
export CONTENT_SAFETY_ENDPOINT='YOUR_CONTENT_SAFETY_ENDPOINT'
Miután hozzáadta a környezeti változókat, futtassa source ~/.bashrc
a konzolablakból a módosítások hatékonyabbá tétele érdekében.
Szöveg elemzése blokklistával
A Text API-val használható blokklistákat is létrehozhat. Az alábbi lépések segítenek az első lépésekben.
Blokklista létrehozása vagy módosítása
Másolja az alábbi cURL parancsot egy szövegszerkesztőbe, és végezze el a következő módosításokat:
Cserélje le <endpoint>
a végpont URL-címét.
Írja felül a <enter_your_key_here>
változót a saját kulcsával.
Cserélje le <your_list_name>
(az URL-címben) a lista egyéni nevére. Cserélje le a REST URL-cím utolsó kifejezését is ugyanazzal a névvel. Engedélyezett karakterek: 0-9, A-Z, a-z, - . _ ~
.
Igény szerint cserélje le a "description"
mező értékét egy egyéni leírásra.
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"
}'
A válaszkódnak létre kell hoznia 201
egy új listát, vagy 200
(egy meglévő listát kell frissítenie).
Hozzon létre egy új C#-konzolalkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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);
}
Cserélje le <your_list_name>
a lista egyéni nevére. Engedélyezett karakterek: 0-9, A-Z, a-z, - . _ ~
.
Igény szerint cserélje le <description>
egy egyéni leírásra.
Futtassa a kódot.
Hozzon létre egy Java-alkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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.");
}
Cserélje le <your_list_name>
a lista egyéni nevére. Engedélyezett karakterek: 0-9, A-Z, a-z, - . _ ~
.
Igény szerint cserélje le <description>
egy egyéni leírásra.
Futtassa a kódot.
Hozzon létre egy új Python-szkriptet, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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
Cserélje le <your_list_name>
a lista egyéni nevére. Engedélyezett karakterek: 0-9, A-Z, a-z, - . _ ~
.
Cserélje le <description>
egyéni leírásra.
Futtassa a szkriptet.
Hozzon létre egy új JavaScript-szkriptet, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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);
});
Cserélje le <your_list_name>
a lista egyéni nevére. Engedélyezett karakterek: 0-9, A-Z, a-z, - . _ ~
.
Igény szerint cserélje le <description>
egy egyéni leírásra.
Futtassa a szkriptet.
BlocklistItems hozzáadása a listához
Feljegyzés
Az összes listában legfeljebb 10 000 kifejezés szerepel. Egy kérelemben legfeljebb 100 blocklistItemet adhat hozzá.
Másolja az alábbi cURL parancsot egy szövegszerkesztőbe, és végezze el a következő módosításokat:
Cserélje le <endpoint>
a végpont URL-címét.
Írja felül a <enter_your_key_here>
változót a saját kulcsával.
Cserélje le <your_list_name>
(az URL-címben) a listalétrehozás lépéseiben használt névre.
Igény szerint cserélje le a "description"
mező értékét egy egyéni leírásra.
Cserélje le a "text"
mező értékét a blokklistához hozzáadni kívánt elemre. A blocklistItem maximális hossza 128 karakter.
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"
}]'
Tipp.
Egy API-hívásban több blocklistItemet is hozzáadhat. A kérelem törzsének adatcsoportokból álló JSON-tömbjének létrehozása:
{
"blocklistItems": [
{
"description": "string",
"text": "bleed"
},
{
"description": "string",
"text": "blood"
}
]
}
A válaszkódnak a következőnek kell lennie 200
: .
{
"blocklistItems:"[
{
"blocklistItemId": "string",
"description": "string",
"text": "bleed"
}
]
}
Hozzon létre egy új C#-konzolalkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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);
}
}
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Cserélje le a mezők és blocklistItemText2
a blocklistItemText1
mezők értékeit a blokklistához hozzáadni kívánt elemekre. A blokkelem maximális hossza 128 karakter.
Opcionálisan további blockItem sztringeket is hozzáadhat a blockItems
paraméterhez.
Futtassa a kódot.
Hozzon létre egy Java-alkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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());
}
}
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Cserélje le a mezők és blockItemText2
a blockItemText1
mezők értékeit a blokklistához hozzáadni kívánt elemekre. A blokkelem maximális hossza 128 karakter.
Opcionálisan további blockItem sztringeket is hozzáadhat a blockItems
paraméterhez.
Futtassa a kódot.
Hozzon létre egy új Python-szkriptet, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Cserélje le a mezők és blocklist_item_text_2
a blocklist_item_text_1
mezők értékeit a blokklistához hozzáadni kívánt elemekre. A blokkelem maximális hossza 128 karakter.
Opcionálisan további blockItem sztringeket is hozzáadhat a block_items
paraméterhez.
Futtassa a szkriptet.
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);
});
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Cserélje le a mezők és block_item_text_2
a block_item_text_1
mezők értékeit a blokklistához hozzáadni kívánt elemekre. A blokkelem maximális hossza 128 karakter.
Opcionálisan további blockItem sztringeket is hozzáadhat a blocklistItems
paraméterhez.
Futtassa a szkriptet.
Feljegyzés
Egy blokkelem hozzáadása vagy szerkesztése után némi késés következik be, mielőtt az érvénybe lép a szövegelemzésben, általában öt percnél nem hosszabb ideig.
Szöveg elemzése blokklistával
Másolja az alábbi cURL parancsot egy szövegszerkesztőbe, és végezze el a következő módosításokat:
Cserélje le <endpoint>
a végpont URL-címét.
Írja felül a <enter_your_key_here>
változót a saját kulcsával.
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre. A "blocklistNames"
mező több listaazonosítóból álló tömböt tartalmazhat.
Tetszés szerint módosíthatja "breakByBlocklists"
a következő értékét: . true
azt jelzi, hogy a blokklista egyeztetése után az elemzés azonnal visszatér modellkimenet nélkül. false
a modell továbbra is az alapértelmezett kategóriákban végez elemzést.
Igény szerint módosítsa a "text"
mező értékét az elemezni kívánt szövegre.
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"
}'
A JSON-válasz tartalmaz egy olyan választ "blocklistMatchResults"
, amely jelzi a blokklistával való egyezéseket. A szöveges sztring azon helyét jelenti, ahol az egyezés található.
{
"blocklistsMatch": [
{
"blocklistName": "string",
"blocklistItemId": "string",
"blocklistItemText": "bleed"
}
],
"categoriesAnalysis": [
{
"category": "Hate",
"severity": 0
}
]
}
Hozzon létre egy új C#-konzolalkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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);
}
}
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Cserélje le a request
bemeneti szöveget az elemezni kívánt szövegre.
Futtassa a szkriptet.
Hozzon létre egy Java-alkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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());
}
}
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Cserélje le a request
bemeneti szöveget az elemezni kívánt szövegre.
Futtassa a szkriptet.
Hozzon létre egy új Python-szkriptet, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Cserélje le a változót input_text
az elemezni kívánt szövegre.
Futtassa a szkriptet.
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);
});
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Cserélje le a változót inputText
az elemezni kívánt szövegre.
Futtassa a szkriptet.
Egyéb tiltólista-műveletek
Ez a szakasz további műveleteket tartalmaz a tiltólista funkció kezeléséhez és használatához.
A lista összes blokklistájának listázása
Másolja az alábbi cURL parancsot egy szövegszerkesztőbe, és végezze el a következő módosításokat:
Cserélje le <endpoint>
a végpont URL-címét.
Írja felül a <enter_your_key_here>
változót a saját kulcsával.
Cserélje le <your_list_name>
(a kérelem URL-címében) a listalétrehozás lépéseiben használt névre.
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'
Az állapotkódnak kell lennie 200
, és a válasz törzsének így kell kinéznie:
{
"values": [
{
"blocklistItemId": "string",
"description": "string",
"text": "bleed",
}
]
}
Hozzon létre egy új C#-konzolalkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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);
}
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Futtassa a szkriptet.
Hozzon létre egy Java-alkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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());
}
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Futtassa a szkriptet.
Hozzon létre egy új Python-szkriptet, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Futtassa a szkriptet.
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);
});
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Futtassa a szkriptet.
Az összes tiltólista listázása
Másolja az alábbi cURL parancsot egy szövegszerkesztőbe, és végezze el a következő módosításokat:
Cserélje le <endpoint>
a végpont URL-címét.
Írja felül a <enter_your_key_here>
változót a saját kulcsával.
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'
Az állapotkódnak a következőnek kell lennie 200
: . A JSON-válasz a következőképpen néz ki:
"value": [
{
"blocklistName": "string",
"description": "string"
}
]
Hozzon létre egy új C#-konzolalkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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);
}
Futtassa a szkriptet.
Hozzon létre egy Java-alkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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());
}
Futtassa a szkriptet.
Hozzon létre egy új Python-szkriptet, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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
Futtassa a szkriptet.
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);
});
Futtassa a szkriptet.
Blokklista lekérése blocklistName alapján
Másolja az alábbi cURL parancsot egy szövegszerkesztőbe, és végezze el a következő módosításokat:
Cserélje le <endpoint>
a végpont URL-címét.
Írja felül a <enter_your_key_here>
változót a saját kulcsával.
Cserélje le <your_list_name>
(a kérelem URL-címében) a listalétrehozás lépéseiben használt névre.
cURL --location '<endpoint>contentsafety/text/blocklists/<your_list_name>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--data ''
Az állapotkódnak a következőnek kell lennie 200
: . A JSON-válasz a következőképpen néz ki:
{
"blocklistName": "string",
"description": "string"
}
Hozzon létre egy új C#-konzolalkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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);
}
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Futtassa a szkriptet.
Hozzon létre egy Java-alkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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());
}
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Futtassa a szkriptet.
Hozzon létre egy új Python-szkriptet, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Futtassa a szkriptet.
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);
});
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Futtassa a szkriptet.
BlocklistItem lekérése blocklistName és blocklistItemId alapján
Másolja az alábbi cURL parancsot egy szövegszerkesztőbe, és végezze el a következő módosításokat:
Cserélje le <endpoint>
a végpont URL-címét.
Írja felül a <enter_your_key_here>
változót a saját kulcsával.
Cserélje le <your_list_name>
(a kérelem URL-címében) a listalétrehozás lépéseiben használt névre.
Cserélje le <your_item_id>
a blocklistItem azonosítóértékére. Ez a blokklista hozzáadása vagy az "blocklistItemId"
összes blocklistItems API-hívás lekérése mező értéke.
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 ''
Az állapotkódnak a következőnek kell lennie 200
: . A JSON-válasz a következőképpen néz ki:
{
"blocklistItemId": "string",
"description": "string",
"text": "string"
}
Hozzon létre egy új C#-konzolalkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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);
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Cserélje le <your_block_item_id>
egy korábban hozzáadott elem azonosítójára.
Futtassa a szkriptet.
Hozzon létre egy Java-alkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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());
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Cserélje le <your_block_item_id>
egy korábban hozzáadott elem azonosítójára.
Futtassa a szkriptet.
Hozzon létre egy új Python-szkriptet, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Cserélje le <block_item_text>
a blokkelem szövegére.
Futtassa a szkriptet.
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);
});
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Cserélje le <your_block_item_id>
a lekérni kívánt elem azonosítójára.
Futtassa a szkriptet.
Távolítsa el a blocklistItems elemeket a tiltólistáról.
Feljegyzés
Ha töröl egy elemet, az a szövegelemzés érvénybe lépése előtt némi késéssel jár, általában öt percnél nem hosszabb ideig .
Másolja az alábbi cURL parancsot egy szövegszerkesztőbe, és végezze el a következő módosításokat:
Cserélje le <endpoint>
a végpont URL-címét.
Írja felül a <enter_your_key_here>
változót a saját kulcsával.
Cserélje le <your_list_name>
(a kérelem URL-címében) a listalétrehozás lépéseiben használt névre.
Cserélje le <item_id>
a blocklistItem azonosítóértékére. Ez a blokklista hozzáadása vagy az "blocklistItemId"
összes blocklistItems API-hívás lekérése mező értéke.
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>"
]'
Tipp.
Egy API-hívásban több blocklistItem is törölhető. A kérelem törzsének értéktömbje blocklistItemId
legyen.
A válaszkódnak a következőnek kell lennie 204
: .
Hozzon létre egy új C#-konzolalkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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);
}
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Cserélje le <your_block_item_id>
egy korábban hozzáadott elem azonosítójára.
Futtassa a szkriptet.
Hozzon létre egy Java-alkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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));
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Cserélje le <your_block_item_id>
egy korábban hozzáadott elem azonosítójára.
Futtassa a szkriptet.
Hozzon létre egy új Python-szkriptet, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Cserélje le <block_item_text>
a blokkelem szövegére.
Futtassa a szkriptet.
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);
});
Cserélje le <your_list_name>
a listalétrehozás lépésben használt névre.
Cserélje le <your_block_item_id
az eltávolítani kívánt elem azonosítójára.
Futtassa a szkriptet.
Lista és annak teljes tartalma törlése
Feljegyzés
A lista törlése után a szövegelemzésre való hatás érvénybe lép, általában öt percnél nem hosszabb ideig.
Másolja az alábbi cURL parancsot egy szövegszerkesztőbe, és végezze el a következő módosításokat:
Cserélje le <endpoint>
a végpont URL-címét.
Írja felül a <enter_your_key_here>
változót a saját kulcsával.
Cserélje le <your_list_name>
(a kérelem URL-címében) a listalétrehozás lépéseiben használt névre.
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' \
A válaszkódnak a következőnek kell lennie 204
: .
Hozzon létre egy új C#-konzolalkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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.");
}
Cserélje le <your_list_name>
(a kérelem URL-címében) a listalétrehozás lépéseiben használt névre.
Futtassa a szkriptet.
Hozzon létre egy Java-alkalmazást, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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);
Cserélje le <your_list_name>
(a kérelem URL-címében) a listalétrehozás lépéseiben használt névre.
Futtassa a szkriptet.
Hozzon létre egy új Python-szkriptet, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Másolja be a következő kódot.
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
Cserélje le <your_list_name>
(a kérelem URL-címében) a listalétrehozás lépéseiben használt névre.
Futtassa a szkriptet.
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);
});
Cserélje le <your_list_name>
(a kérelem URL-címében) a listalétrehozás lépéseiben használt névre.
Futtassa a szkriptet.
Következő lépések
Az útmutatóban használt API-król további információt az API referenciadokumentációjában talál.