Snabbstart: Analysera textinnehåll
Kom igång med Content Safety Studio, REST API eller klient-SDK:er för att utföra grundläggande textmoderering. Azure AI Content Safety-tjänsten ger dig AI-algoritmer för att flagga stötande innehåll. Följ de här stegen för att prova.
Mer information om textmoderering finns på konceptsidan Skadekategorier. För API-indatabegränsningar, se avsnittet Indatakrav i översikten.
Kommentar
Exempeldata och kod kan innehålla stötande innehåll. Användarens diskretion rekommenderas.
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- När du har din Azure-prenumeration skapar du en Content Safety-resurs i Azure Portal för att hämta din nyckel och slutpunkt. Ange ett unikt namn för resursen, välj din prenumeration och välj en resursgrupp, region som stöds (se Regiontillgänglighet) och prisnivå som stöds. Välj sedan Skapa.
- Det tar några minuter att distribuera resursen. När den är klar väljer du Gå till resurs. I den vänstra rutan under Resurshantering väljer du Prenumerationsnyckel och Slutpunkt. Slutpunkten och någon av nycklarna används för att anropa API:er.
- cURL installerat
Analysera textinnehåll
I följande avsnitt går vi igenom en exempelbegäran med cURL. Klistra in kommandot nedan i en textredigerare och gör följande ändringar.
- Ersätt
<endpoint>
med slutpunkts-URL:en som är associerad med resursen. - Ersätt
<your_subscription_key>
med en av nycklarna som medföljer resursen. - Du kan också ersätta fältet
"text"
i brödtexten med din egen text som du vill analysera.
curl --location --request POST '<endpoint>/contentsafety/text:analyze?api-version=2024-09-01' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data-raw '{
"text": "I hate you",
"categories": ["Hate", "Sexual", "SelfHarm", "Violence"],
"blocklistNames": ["string"],
"haltOnBlocklistHit": true,
"outputType": "FourSeverityLevels"
}'
Fälten nedan måste inkluderas i URL:en:
Namn | Obligatoriskt | Beskrivning | Typ |
---|---|---|---|
API-version | Obligatoriskt | Det här är DEN API-version som ska kontrolleras. Den aktuella versionen är: api-version=2024-09-01. Exempel: <endpoint>/contentsafety/text:analyze?api-version=2024-09-01 |
String |
Parametrarna i begärandetexten definieras i den här tabellen:
Namn | Obligatoriskt | Beskrivning | Typ |
---|---|---|---|
text | Obligatoriskt | Det här är den råa text som ska kontrolleras. Andra tecken som inte är ascii-tecken kan inkluderas. | String |
Kategorier | Valfritt | Detta antas vara en matris med kategorinamn. Se guiden Skadekategorier för en lista över tillgängliga kategorinamn. Om inga kategorier anges används alla fyra kategorierna. Vi använder flera kategorier för att få poäng i en enda begäran. | String |
blocklistNames | Valfritt | Namn på textblockeringslista. Stöder endast följande tecken: 0-9 A-Z a-z - . _ ~ . Du kan bifoga flera listnamn här. |
Matris |
haltOnBlocklistHit | Valfritt | När värdet är inställt true på utförs inte ytterligare analyser av skadligt innehåll i de fall då blocklistor träffas. När värdet false är inställt på utförs alla analyser av skadligt innehåll, oavsett om blocklistor nås eller inte. |
Booleskt |
outputType | Valfritt | "FourSeverityLevels" eller "EightSeverityLevels" . Utdata allvarlighetsgrad i fyra eller åtta nivåer, kan värdet vara 0,2,4,6 eller 0,1,2,3,4,5,6,7 . |
String |
Se följande exempel på begärandetext:
{
"text": "I hate you",
"categories": ["Hate", "Sexual", "SelfHarm", "Violence"],
"blocklistNames": ["array"],
"haltOnBlocklistHit": false,
"outputType": "FourSeverityLevels"
}
Öppna ett kommandotolksfönster, klistra in det redigerade cURL-kommandot och kör det.
Output
Du bör se textmodereringsresultatet som visas som JSON-data i konsolens utdata. Till exempel:
{
"blocklistsMatch": [
{
"blocklistName": "string",
"blocklistItemId": "string",
"blocklistItemText": "string"
}
],
"categoriesAnalysis": [
{
"category": "Hate",
"severity": 2
},
{
"category": "SelfHarm",
"severity": 0
},
{
"category": "Sexual",
"severity": 0
},
{
"category": "Violence",
"severity": 0
}
]
}
JSON-fälten i utdata definieras här:
Name | beskrivning | Typ |
---|---|---|
categoriesAnalysis | Varje utdataklass som API:et förutsäger. Klassificering kan vara flera etiketter. När ett textexempel till exempel körs genom textmodereringsmodellen kan det klassificeras som både sexuellt innehåll och våld. Skadekategorier | String |
Allvarlighetsgrad | Ju högre allvarlighetsgrad indatainnehållet är, desto större är det här värdet. | Integer |
Referensdokumentation NuGet-exempel (Library Source Code | Package) | |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Visual Studio IDE med arbetsbelastningen .NET Desktop-utveckling aktiverad. Eller om du inte planerar att använda Visual Studio IDE behöver du den aktuella versionen av .NET Core.
- När du har din Azure-prenumeration skapar du en Content Safety-resurs i Azure Portal för att hämta din nyckel och slutpunkt. Ange ett unikt namn för resursen, välj din prenumeration och välj en resursgrupp, region som stöds (se Regiontillgänglighet) och prisnivå som stöds. Välj sedan Skapa.
- Det tar några minuter att distribuera resursen. När den är klar väljer du Gå till resurs. I den vänstra rutan under Resurshantering väljer du Prenumerationsnyckel och Slutpunkt. Slutpunkten och någon av nycklarna används för att anropa API:er.
Konfigurera program
Skapa ett nytt C#-program.
Öppna Visual Studio och under Kom igång välj Skapa ett nytt projekt. Ange mallfiltren till C#/Alla plattformar/konsol. Välj Konsolapp (kommandoradsprogram som kan köras på .NET i Windows, Linux och macOS) och välj Nästa. Uppdatera projektnamnet till ContentSafetyQuickstart och välj Nästa. Välj .NET 6.0 eller senare och välj Skapa för att skapa projektet.
Installera klient-SDK
När du har skapat ett nytt projekt installerar du klient-SDK genom att högerklicka på projektlösningen i Solution Explorer och välja Hantera NuGet-paket. I pakethanteraren som öppnas väljer du Bläddra och söker Azure.AI.ContentSafety
efter . Välj Installera.
Skapa miljövariabler
I det här exemplet skriver du dina autentiseringsuppgifter till miljövariabler på den lokala dator som kör programmet.
Om du vill ange miljövariabeln för din nyckel och slutpunkt öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
CONTENT_SAFETY_KEY
miljövariabeln ersätter duYOUR_CONTENT_SAFETY_KEY
med en av nycklarna för resursen. - Om du vill ange
CONTENT_SAFETY_ENDPOINT
miljövariabeln ersätter duYOUR_CONTENT_SAFETY_ENDPOINT
med slutpunkten för resursen.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
När du har lagt till miljövariablerna kan du behöva starta om alla program som körs som läser miljövariablerna, inklusive konsolfönstret.
Analysera textinnehåll
Öppna filen Program.cs som skapades tidigare från projektkatalogen. Klistra in följande kod:
using System;
using Azure.AI.ContentSafety;
namespace Azure.AI.ContentSafety.Dotnet.Sample
{
class ContentSafetySampleAnalyzeText
{
public static void AnalyzeText()
{
// retrieve the endpoint and key from the environment variables created earlier
string endpoint = Environment.GetEnvironmentVariable("CONTENT_SAFETY_ENDPOINT");
string key = Environment.GetEnvironmentVariable("CONTENT_SAFETY_KEY");
ContentSafetyClient client = new ContentSafetyClient(new Uri(endpoint), new AzureKeyCredential(key));
string text = "Your input text";
var request = new AnalyzeTextOptions(text);
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;
}
Console.WriteLine("\nAnalyze text succeeded:");
Console.WriteLine("Hate severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == TextCategory.Hate)?.Severity ?? 0);
Console.WriteLine("SelfHarm severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == TextCategory.SelfHarm)?.Severity ?? 0);
Console.WriteLine("Sexual severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == TextCategory.Sexual)?.Severity ?? 0);
Console.WriteLine("Violence severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == TextCategory.Violence)?.Severity ?? 0);
}
static void Main()
{
AnalyzeText();
}
}
}
Ersätt "Your input text"
med det textinnehåll som du vill använda.
Skapa och kör programmet genom att välja Starta felsökning från felsökningsmenyn överst i IDE-fönstret (eller tryck på F5).
Exempel på källkodspaket (PyPI) | för referensdokumentation | | |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- När du har din Azure-prenumeration skapar du en Content Safety-resurs i Azure Portal för att hämta din nyckel och slutpunkt. Ange ett unikt namn för resursen, välj din prenumeration och välj en resursgrupp, region som stöds (se Regiontillgänglighet) och prisnivå som stöds. Välj sedan Skapa.
- Det tar några minuter att distribuera resursen. När den är klar väljer du Gå till resurs. I den vänstra rutan under Resurshantering väljer du Prenumerationsnyckel och Slutpunkt. Slutpunkten och någon av nycklarna används för att anropa API:er.
- Python 3.x
- Python-installationen bör innehålla pip. Du kan kontrollera om du har pip installerat genom att köra
pip --version
på kommandoraden. Hämta pip genom att installera den senaste versionen av Python.
- Python-installationen bör innehålla pip. Du kan kontrollera om du har pip installerat genom att köra
Skapa miljövariabler
I det här exemplet skriver du dina autentiseringsuppgifter till miljövariabler på den lokala dator som kör programmet.
Om du vill ange miljövariabeln för din nyckel och slutpunkt öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
CONTENT_SAFETY_KEY
miljövariabeln ersätter duYOUR_CONTENT_SAFETY_KEY
med en av nycklarna för resursen. - Om du vill ange
CONTENT_SAFETY_ENDPOINT
miljövariabeln ersätter duYOUR_CONTENT_SAFETY_ENDPOINT
med slutpunkten för resursen.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
När du har lagt till miljövariablerna kan du behöva starta om alla program som körs som läser miljövariablerna, inklusive konsolfönstret.
Analysera textinnehåll
I följande avsnitt går vi igenom en exempelbegäran med Python SDK.
Öppna en kommandotolk, navigera till projektmappen och skapa en ny fil med namnet quickstart.py.
Kör det här kommandot för att installera Azure AI Content Safety-biblioteket:
pip install azure-ai-contentsafety
Kopiera följande kod till quickstart.py:
import os from azure.ai.contentsafety import ContentSafetyClient from azure.core.credentials import AzureKeyCredential from azure.core.exceptions import HttpResponseError from azure.ai.contentsafety.models import AnalyzeTextOptions, TextCategory def analyze_text(): # analyze text key = os.environ["CONTENT_SAFETY_KEY"] endpoint = os.environ["CONTENT_SAFETY_ENDPOINT"] # Create an Azure AI Content Safety client client = ContentSafetyClient(endpoint, AzureKeyCredential(key)) # Contruct request request = AnalyzeTextOptions(text="Your input text") # Analyze text try: response = client.analyze_text(request) except HttpResponseError as e: print("Analyze text failed.") if e.error: print(f"Error code: {e.error.code}") print(f"Error message: {e.error.message}") raise print(e) raise hate_result = next(item for item in response.categories_analysis if item.category == TextCategory.HATE) self_harm_result = next(item for item in response.categories_analysis if item.category == TextCategory.SELF_HARM) sexual_result = next(item for item in response.categories_analysis if item.category == TextCategory.SEXUAL) violence_result = next(item for item in response.categories_analysis if item.category == TextCategory.VIOLENCE) if hate_result: print(f"Hate severity: {hate_result.severity}") if self_harm_result: print(f"SelfHarm severity: {self_harm_result.severity}") if sexual_result: print(f"Sexual severity: {sexual_result.severity}") if violence_result: print(f"Violence severity: {violence_result.severity}") if __name__ == "__main__": analyze_text()
Ersätt
"Your input text"
med det textinnehåll som du vill använda.Kör sedan programmet med
python
kommandot på snabbstartsfilen.python quickstart.py
Referensdokumentation Exempel på källkod för biblioteksdokumentation | (Maven) | |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Den aktuella versionen av Java Development Kit (JDK)
- Build-verktyget Gradle eller en annan beroendehanterare.
- När du har din Azure-prenumeration skapar du en Content Safety-resurs i Azure Portal för att hämta din nyckel och slutpunkt. Ange ett unikt namn för resursen, välj din prenumeration och välj en resursgrupp, region som stöds (se Regiontillgänglighet) och prisnivå som stöds. Välj sedan Skapa.
- Det tar några minuter att distribuera resursen. När den är klar väljer du Gå till resurs. I den vänstra rutan under Resurshantering väljer du Prenumerationsnyckel och Slutpunkt. Slutpunkten och någon av nycklarna används för att anropa API:er.
Konfigurera program
Skapa ett nytt Gradle-projekt.
Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den.
mkdir myapp && cd myapp
Kör kommandot från arbetskatalogen gradle init
. Det här kommandot skapar viktiga byggfiler för Gradle, inklusive build.gradle.kts, som används vid körning för att skapa och konfigurera ditt program.
gradle init --type basic
Välj en DSL när du uppmanas till det och välj Kotlin.
Från arbetskatalogen kör du följande kommando för att skapa en projektkällmapp:
mkdir -p src/main/java
Gå till den nya mappen och skapa en fil med namnet ContentSafetyQuickstart.java.
Installera klient-SDK
Den här snabbstarten använder Gradle-beroendehanteraren. Du hittar klientbiblioteket och information för andra beroendehanterare på Den centrala Maven-lagringsplatsen.
Leta upp build.gradle.kts och öppna det med önskad IDE eller textredigerare . Kopiera sedan i följande byggkonfiguration. Den här konfigurationen definierar projektet som ett Java-program vars startpunkt är klassen ContentSafetyQuickstart. Den importerar Azure AI Vision-biblioteket.
plugins {
java
application
}
application {
mainClass.set("ContentSafetyQuickstart")
}
repositories {
mavenCentral()
}
dependencies {
implementation(group = "com.azure", name = "azure-ai-contentsafety", version = "1.0.0")
}
Skapa miljövariabler
I det här exemplet skriver du dina autentiseringsuppgifter till miljövariabler på den lokala dator som kör programmet.
Om du vill ange miljövariabeln för din nyckel och slutpunkt öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
CONTENT_SAFETY_KEY
miljövariabeln ersätter duYOUR_CONTENT_SAFETY_KEY
med en av nycklarna för resursen. - Om du vill ange
CONTENT_SAFETY_ENDPOINT
miljövariabeln ersätter duYOUR_CONTENT_SAFETY_ENDPOINT
med slutpunkten för resursen.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
När du har lagt till miljövariablerna kan du behöva starta om alla program som körs som läser miljövariablerna, inklusive konsolfönstret.
Analysera textinnehåll
Öppna ContentSafetyQuickstart.java i önskad redigerare eller IDE och klistra in följande kod. Ersätt <your text sample>
med det textinnehåll som du vill använda.
import com.azure.ai.contentsafety.ContentSafetyClient;
import com.azure.ai.contentsafety.ContentSafetyClientBuilder;
import com.azure.ai.contentsafety.models.AnalyzeTextOptions;
import com.azure.ai.contentsafety.models.AnalyzeTextResult;
import com.azure.ai.contentsafety.models.TextCategoriesAnalysis;
import com.azure.core.credential.KeyCredential;
import com.azure.core.util.Configuration;
public class ContentSafetyQuickstart {
public static void main(String[] args) {
// get endpoint and key from environment variables
String endpoint = System.getenv("CONTENT_SAFETY_ENDPOINT");
String key = System.getenv("CONTENT_SAFETY_KEY");
ContentSafetyClient contentSafetyClient = new ContentSafetyClientBuilder()
.credential(new KeyCredential(key))
.endpoint(endpoint).buildClient();
AnalyzeTextResult response = contentSafetyClient.analyzeText(new AnalyzeTextOptions("<your text sample>"));
for (TextCategoriesAnalysis result : response.getCategoriesAnalysis()) {
System.out.println(result.getCategory() + " severity: " + result.getSeverity());
}
}
}
Gå tillbaka till projektrotmappen och skapa appen med:
gradle build
Kör den sedan med gradle run
kommandot :
gradle run
Output
Hate severity: 0
SelfHarm severity: 0
Sexual severity: 0
Violence severity: 0
Referensdokumentation Bibliotek källkodspaket | (npm)Exempel | | |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Den aktuella versionen av Node.js
- När du har din Azure-prenumeration skapar du en Content Safety-resurs i Azure Portal för att hämta din nyckel och slutpunkt. Ange ett unikt namn för resursen, välj din prenumeration och välj en resursgrupp, region som stöds (se Regiontillgänglighet) och prisnivå som stöds. Välj sedan Skapa.
- Det tar några minuter att distribuera resursen. När den är klar väljer du Gå till resurs. I den vänstra rutan under Resurshantering väljer du Prenumerationsnyckel och Slutpunkt. Slutpunkten och någon av nycklarna används för att anropa API:er.
Konfigurera program
Skapa ett nytt Node.js-program. Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den.
mkdir myapp && cd myapp
Kör kommandot npm init
för att skapa ett nodprogram med en package.json
-fil.
npm init
Installera klient-SDK
@azure-rest/ai-content-safety
Installera npm-paketet:
npm install @azure-rest/ai-content-safety
Installera även modulen dotenv
för att använda miljövariabler:
npm install dotenv
Programmets package.json
-fil kommer att uppdateras med beroenden.
Skapa miljövariabler
I det här exemplet skriver du dina autentiseringsuppgifter till miljövariabler på den lokala dator som kör programmet.
Om du vill ange miljövariabeln för din nyckel och slutpunkt öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
CONTENT_SAFETY_KEY
miljövariabeln ersätter duYOUR_CONTENT_SAFETY_KEY
med en av nycklarna för resursen. - Om du vill ange
CONTENT_SAFETY_ENDPOINT
miljövariabeln ersätter duYOUR_CONTENT_SAFETY_ENDPOINT
med slutpunkten för resursen.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
När du har lagt till miljövariablerna kan du behöva starta om alla program som körs som läser miljövariablerna, inklusive konsolfönstret.
Analysera textinnehåll
Skapa en ny fil i katalogen index.js. Öppna den i önskad redigerare eller IDE och klistra in följande kod. Ersätt <your text sample>
med det textinnehåll som du vill använda.
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();
async function main() {
// get endpoint and key from environment variables
const endpoint = process.env["CONTENT_SAFETY_ENDPOINT"];
const key = process.env["CONTENT_SAFETY_KEY"];
const credential = new AzureKeyCredential(key);
const client = ContentSafetyClient(endpoint, credential);
// replace with your own sample text string
const text = "<your sample text>";
const analyzeTextOption = { text: text };
const analyzeTextParameters = { body: analyzeTextOption };
const result = await client.path("/text:analyze").post(analyzeTextParameters);
if (isUnexpected(result)) {
throw result;
}
for (let i = 0; i < result.body.categoriesAnalysis.length; i++) {
const textCategoriesAnalysisOutput = result.body.categoriesAnalysis[i];
console.log(
textCategoriesAnalysisOutput.category,
" severity: ",
textCategoriesAnalysisOutput.severity
);
}
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
Kör programmet med kommandot node
på din snabbstartsfil.
node index.js
Output
Hate severity: 0
SelfHarm severity: 0
Sexual severity: 0
Violence severity: 0
Rensa resurser
Om du vill rensa och ta bort en Azure AI-tjänstprenumeration kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Relaterat innehåll
- Skadekategorier
- Konfigurera filter för varje kategori och testa datauppsättningar med hjälp av Content Safety Studio, exportera koden och distribuera.