你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:检测个人身份信息 (PII)

注意

本快速入门仅介绍文档中的 PII 检测。 若要详细了解如何检测对话中的 PII,请参阅如何检测和编辑对话中的 PII

参考文档 | 更多示例 | 包 (NuGet) | 库源代码

借助本快速入门,使用 .NET 客户端库创建个人身份信息 (PII) 检测应用程序。 在以下示例中,你将创建可在文本中识别已识别的敏感信息的 C# 应用程序。

提示

可以使用 Language Studio 在文档中尝试 PII 检测,而无需编写代码。

先决条件

设置

创建 Azure 资源

若要使用下面的代码示例,需要部署 Azure 资源。 此资源将包含一个密钥和终结点,用于对发送到语言服务的 API 调用进行身份验证。

  1. 使用以下链接通过 Azure 门户创建语言资源。 需要使用 Azure 订阅登录。

  2. 在显示的“选择其他功能”屏幕上,选择“继续创建资源”。

    屏幕截图显示 Azure 门户中的其他功能选项。

  3. 在“创建语言”屏幕中,提供以下信息:

    详细信息 说明
    订阅 资源将与之关联的订阅帐户。 从下拉菜单选择 Azure 订阅。
    资源组 资源组是存储所创建资源的容器。 选择“新建”来创建一个新的资源组。
    区域 语言资源的位置。 不同区域可能会导致延迟,具体取决于你的物理位置,但不会影响资源的运行时可用性。 对于本快速入门,请选择你附近的可用区域,或选择“美国东部”。
    名称 语言资源的名称。 此名称还将用于创建应用程序用于发送 API 请求的终结点 URL。
    定价层 语言资源的定价层。 可以使用免费 F0 层试用该服务,然后再升级到付费层进行生产。

    屏幕截图显示 Azure 门户中的资源创建详细信息。

  4. 确保选中“负责任 AI 通知”复选框。

  5. 在页面底部选择“查看 + 创建” 。

  6. 在显示的屏幕中,确保验证已通过,并且已正确输入信息。 然后选择“创建”。

获取密钥和终结点

然后需要从资源获取密钥和终结点,以便将应用程序连接到 API。 稍后需要在本快速入门中将密钥和终结点粘贴到代码中。

  1. 成功部署语言资源后,单击“后续步骤”下的“转到资源”按钮。

    屏幕截图显示部署资源后的后续步骤。

  2. 在资源的屏幕上,选择左侧导航菜单上的“密钥和终结点”。 在以下步骤中,你将使用其中一个密钥和终结点。

    屏幕截图显示资源的密钥和终结点部分。

创建环境变量

应用程序必须经过身份验证才能发送 API 请求。 对于生产,请使用安全的方式存储和访问凭据。 在此示例中,你将凭据写入运行应用程序的本地计算机上的环境变量。

提示

请不要直接在代码中包含密钥,并且绝不公开发布密钥。 有关 Azure Key Vault 等更多身份验证选项,请参阅 Azure AI 服务安全性一文。

若要为语言资源密钥设置环境变量,请打开控制台窗口,并按照操作系统和开发环境的说明进行操作。

  1. 若要设置 LANGUAGE_KEY 环境变量,请将 your-key 替换为资源的其中一个密钥。
  2. 若要设置 LANGUAGE_ENDPOINT 环境变量,请将 your-endpoint 替换为资源的终结点。
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

注意

如果只需要访问当前正在运行的控制台中的环境变量,则可以使用 set(而不是 setx)设置环境变量。

添加环境变量后,可能需要重启任何正在运行的、需要读取环境变量的程序(包括控制台窗口)。 例如,如果使用 Visual Studio 作为编辑器,请在运行示例之前重启 Visual Studio。

创建新的 .NET Core 应用程序

使用 Visual Studio IDE 创建新的 .NET Core 控制台应用。 这会创建包含单个 C# 源文件的“Hello World”项目:program.cs

右键单击解决方案资源管理器中的解决方案,然后选择“管理 NuGet 包”,以便安装客户端库。 在打开的包管理器中选择“浏览”,搜索 Azure.AI.TextAnalytics。 选择版本 5.2.0,然后选择“安装”。 也可使用包管理器控制台

代码示例

将以下代码复制到 program.cs 文件中,然后运行代码。

using Azure;
using System;
using Azure.AI.TextAnalytics;

namespace Example
{
    class Program
    {
        // This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
        static string languageKey = Environment.GetEnvironmentVariable("LANGUAGE_KEY");
        static string languageEndpoint = Environment.GetEnvironmentVariable("LANGUAGE_ENDPOINT");

        private static readonly AzureKeyCredential credentials = new AzureKeyCredential(languageKey);
        private static readonly Uri endpoint = new Uri(languageEndpoint);

        // Example method for detecting sensitive information (PII) from text 
        static void RecognizePIIExample(TextAnalyticsClient client)
        {
            string document = "Call our office at 312-555-1234, or send an email to support@contoso.com.";
        
            PiiEntityCollection entities = client.RecognizePiiEntities(document).Value;
        
            Console.WriteLine($"Redacted Text: {entities.RedactedText}");
            if (entities.Count > 0)
            {
                Console.WriteLine($"Recognized {entities.Count} PII entit{(entities.Count > 1 ? "ies" : "y")}:");
                foreach (PiiEntity entity in entities)
                {
                    Console.WriteLine($"Text: {entity.Text}, Category: {entity.Category}, SubCategory: {entity.SubCategory}, Confidence score: {entity.ConfidenceScore}");
                }
            }
            else
            {
                Console.WriteLine("No entities were found.");
            }
        }

        static void Main(string[] args)
        {
            var client = new TextAnalyticsClient(endpoint, credentials);
            RecognizePIIExample(client);

            Console.Write("Press any key to exit.");
            Console.ReadKey();
        }

    }
}

输出

Redacted Text: Call our office at ************, or send an email to *******************.
Recognized 2 PII entities:
Text: 312-555-1234, Category: PhoneNumber, SubCategory: , Confidence score: 0.8
Text: support@contoso.com, Category: Email, SubCategory: , Confidence score: 0.8

参考文档 | 更多示例 | 包 (Maven) | 库源代码

借助本快速入门,使用 Java 客户端库创建个人身份信息 (PII) 检测应用程序。 在以下示例中,你将创建可在文本中识别已识别的敏感信息的 Java 应用程序。

提示

可以使用 Language Studio 在文档中尝试 PII 检测,而无需编写代码。

先决条件

设置

创建 Azure 资源

若要使用下面的代码示例,需要部署 Azure 资源。 此资源将包含一个密钥和终结点,用于对发送到语言服务的 API 调用进行身份验证。

  1. 使用以下链接通过 Azure 门户创建语言资源。 需要使用 Azure 订阅登录。

  2. 在显示的“选择其他功能”屏幕上,选择“继续创建资源”。

    屏幕截图显示 Azure 门户中的其他功能选项。

  3. 在“创建语言”屏幕中,提供以下信息:

    详细信息 说明
    订阅 资源将与之关联的订阅帐户。 从下拉菜单选择 Azure 订阅。
    资源组 资源组是存储所创建资源的容器。 选择“新建”来创建一个新的资源组。
    区域 语言资源的位置。 不同区域可能会导致延迟,具体取决于你的物理位置,但不会影响资源的运行时可用性。 对于本快速入门,请选择你附近的可用区域,或选择“美国东部”。
    名称 语言资源的名称。 此名称还将用于创建应用程序用于发送 API 请求的终结点 URL。
    定价层 语言资源的定价层。 可以使用免费 F0 层试用该服务,然后再升级到付费层进行生产。

    屏幕截图显示 Azure 门户中的资源创建详细信息。

  4. 确保选中“负责任 AI 通知”复选框。

  5. 在页面底部选择“查看 + 创建” 。

  6. 在显示的屏幕中,确保验证已通过,并且已正确输入信息。 然后选择“创建”。

获取密钥和终结点

然后需要从资源获取密钥和终结点,以便将应用程序连接到 API。 稍后需要在本快速入门中将密钥和终结点粘贴到代码中。

  1. 成功部署语言资源后,单击“后续步骤”下的“转到资源”按钮。

    屏幕截图显示部署资源后的后续步骤。

  2. 在资源的屏幕上,选择左侧导航菜单上的“密钥和终结点”。 在以下步骤中,你将使用其中一个密钥和终结点。

    屏幕截图显示资源的密钥和终结点部分。

创建环境变量

应用程序必须经过身份验证才能发送 API 请求。 对于生产,请使用安全的方式存储和访问凭据。 在此示例中,你将凭据写入运行应用程序的本地计算机上的环境变量。

提示

请不要直接在代码中包含密钥,并且绝不公开发布密钥。 有关 Azure Key Vault 等更多身份验证选项,请参阅 Azure AI 服务安全性一文。

若要为语言资源密钥设置环境变量,请打开控制台窗口,并按照操作系统和开发环境的说明进行操作。

  1. 若要设置 LANGUAGE_KEY 环境变量,请将 your-key 替换为资源的其中一个密钥。
  2. 若要设置 LANGUAGE_ENDPOINT 环境变量,请将 your-endpoint 替换为资源的终结点。
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

注意

如果只需要访问当前正在运行的控制台中的环境变量,则可以使用 set(而不是 setx)设置环境变量。

添加环境变量后,可能需要重启任何正在运行的、需要读取环境变量的程序(包括控制台窗口)。 例如,如果使用 Visual Studio 作为编辑器,请在运行示例之前重启 Visual Studio。

添加客户端库

在首选 IDE 或开发环境中创建 Maven 项目。 然后在项目的 pom.xml 文件中,添加以下依赖项。 可联机找到用于其他生成工具的实现语法。

<dependencies>
     <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-ai-textanalytics</artifactId>
        <version>5.2.0</version>
    </dependency>
</dependencies>

代码示例

创建名为 Example.java 的 Java 文件。 打开该文件,并复制以下代码。 然后运行代码。

import com.azure.core.credential.AzureKeyCredential;
import com.azure.ai.textanalytics.models.*;
import com.azure.ai.textanalytics.TextAnalyticsClientBuilder;
import com.azure.ai.textanalytics.TextAnalyticsClient;

public class Example {

    // This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
    private static String languageKey = System.getenv("LANGUAGE_KEY");
    private static String languageEndpoint = System.getenv("LANGUAGE_ENDPOINT");

    public static void main(String[] args) {
        TextAnalyticsClient client = authenticateClient(languageKey, languageEndpoint);
        recognizePiiEntitiesExample(client);
    }
    // Method to authenticate the client object with your key and endpoint
    static TextAnalyticsClient authenticateClient(String key, String endpoint) {
        return new TextAnalyticsClientBuilder()
                .credential(new AzureKeyCredential(key))
                .endpoint(endpoint)
                .buildClient();
    }

    // Example method for detecting sensitive information (PII) from text 
    static void recognizePiiEntitiesExample(TextAnalyticsClient client)
    {
        // The text that need be analyzed.
        String document = "My SSN is 859-98-0987";
        PiiEntityCollection piiEntityCollection = client.recognizePiiEntities(document);
        System.out.printf("Redacted Text: %s%n", piiEntityCollection.getRedactedText());
        piiEntityCollection.forEach(entity -> System.out.printf(
            "Recognized Personally Identifiable Information entity: %s, entity category: %s, entity subcategory: %s,"
                + " confidence score: %f.%n",
            entity.getText(), entity.getCategory(), entity.getSubcategory(), entity.getConfidenceScore()));
    }
}

输出

Redacted Text: My SSN is ***********
Recognized Personally Identifiable Information entity: 859-98-0987, entity category: USSocialSecurityNumber, entity subcategory: null, confidence score: 0.650000.

参考文档 | 更多示例 | 包 (npm) | 库源代码

借助本快速入门,使用 Node.js 客户端库创建个人身份信息 (PII) 检测应用程序。 在以下示例中,你将创建可在文本中识别已识别的敏感信息的 JavaScript 应用程序。

先决条件

设置

创建 Azure 资源

若要使用下面的代码示例,需要部署 Azure 资源。 此资源将包含一个密钥和终结点,用于对发送到语言服务的 API 调用进行身份验证。

  1. 使用以下链接通过 Azure 门户创建语言资源。 需要使用 Azure 订阅登录。

  2. 在显示的“选择其他功能”屏幕上,选择“继续创建资源”。

    屏幕截图显示 Azure 门户中的其他功能选项。

  3. 在“创建语言”屏幕中,提供以下信息:

    详细信息 说明
    订阅 资源将与之关联的订阅帐户。 从下拉菜单选择 Azure 订阅。
    资源组 资源组是存储所创建资源的容器。 选择“新建”来创建一个新的资源组。
    区域 语言资源的位置。 不同区域可能会导致延迟,具体取决于你的物理位置,但不会影响资源的运行时可用性。 对于本快速入门,请选择你附近的可用区域,或选择“美国东部”。
    名称 语言资源的名称。 此名称还将用于创建应用程序用于发送 API 请求的终结点 URL。
    定价层 语言资源的定价层。 可以使用免费 F0 层试用该服务,然后再升级到付费层进行生产。

    屏幕截图显示 Azure 门户中的资源创建详细信息。

  4. 确保选中“负责任 AI 通知”复选框。

  5. 在页面底部选择“查看 + 创建” 。

  6. 在显示的屏幕中,确保验证已通过,并且已正确输入信息。 然后选择“创建”。

获取密钥和终结点

然后需要从资源获取密钥和终结点,以便将应用程序连接到 API。 稍后需要在本快速入门中将密钥和终结点粘贴到代码中。

  1. 成功部署语言资源后,单击“后续步骤”下的“转到资源”按钮。

    屏幕截图显示部署资源后的后续步骤。

  2. 在资源的屏幕上,选择左侧导航菜单上的“密钥和终结点”。 在以下步骤中,你将使用其中一个密钥和终结点。

    屏幕截图显示资源的密钥和终结点部分。

创建环境变量

应用程序必须经过身份验证才能发送 API 请求。 对于生产,请使用安全的方式存储和访问凭据。 在此示例中,你将凭据写入运行应用程序的本地计算机上的环境变量。

提示

请不要直接在代码中包含密钥,并且绝不公开发布密钥。 有关 Azure Key Vault 等更多身份验证选项,请参阅 Azure AI 服务安全性一文。

若要为语言资源密钥设置环境变量,请打开控制台窗口,并按照操作系统和开发环境的说明进行操作。

  1. 若要设置 LANGUAGE_KEY 环境变量,请将 your-key 替换为资源的其中一个密钥。
  2. 若要设置 LANGUAGE_ENDPOINT 环境变量,请将 your-endpoint 替换为资源的终结点。
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

注意

如果只需要访问当前正在运行的控制台中的环境变量,则可以使用 set(而不是 setx)设置环境变量。

添加环境变量后,可能需要重启任何正在运行的、需要读取环境变量的程序(包括控制台窗口)。 例如,如果使用 Visual Studio 作为编辑器,请在运行示例之前重启 Visual Studio。

创建新的 Node.js 应用程序

在控制台窗口(例如 cmd、PowerShell 或 Bash)中,为应用创建一个新目录并导航到该目录。

mkdir myapp 

cd myapp

运行 npm init 命令以使用 package.json 文件创建一个 node 应用程序。

npm init

安装客户端库

安装 npm 包:

npm install @azure/ai-text-analytics

代码示例

打开该文件,并复制以下代码。 然后运行代码。

"use strict";

const { TextAnalyticsClient, AzureKeyCredential } = require("@azure/ai-text-analytics");

// This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
const key = process.env.LANGUAGE_KEY;
const endpoint = process.env.LANGUAGE_ENDPOINT;

//an example document for pii recognition
const documents = [ "The employee's phone number is (555) 555-5555." ];

async function main() {
    console.log(`PII recognition sample`);
  
    const client = new TextAnalyticsClient(endpoint, new AzureKeyCredential(key));
  
    const documents = ["My phone number is 555-555-5555"];
  
    const [result] = await client.analyze("PiiEntityRecognition", documents, "en");
  
    if (!result.error) {
      console.log(`Redacted text: "${result.redactedText}"`);
      console.log("Pii Entities: ");
      for (const entity of result.entities) {
        console.log(`\t- "${entity.text}" of type ${entity.category}`);
      }
    }
}

main().catch((err) => {
console.error("The sample encountered an error:", err);
});

输出

PII recognition sample
Redacted text: "My phone number is ************"
Pii Entities:
        - "555-555-5555" of type PhoneNumber

参考文档 | 更多示例 | 包 (PyPi) | 库源代码

借助本快速入门,使用 Python 客户端库创建个人身份信息 (PII) 检测应用程序。 在以下示例中,你将创建可在文本中识别已识别的敏感信息的 Python 应用程序。

先决条件

设置

创建 Azure 资源

若要使用下面的代码示例,需要部署 Azure 资源。 此资源将包含一个密钥和终结点,用于对发送到语言服务的 API 调用进行身份验证。

  1. 使用以下链接通过 Azure 门户创建语言资源。 需要使用 Azure 订阅登录。

  2. 在显示的“选择其他功能”屏幕上,选择“继续创建资源”。

    屏幕截图显示 Azure 门户中的其他功能选项。

  3. 在“创建语言”屏幕中,提供以下信息:

    详细信息 说明
    订阅 资源将与之关联的订阅帐户。 从下拉菜单选择 Azure 订阅。
    资源组 资源组是存储所创建资源的容器。 选择“新建”来创建一个新的资源组。
    区域 语言资源的位置。 不同区域可能会导致延迟,具体取决于你的物理位置,但不会影响资源的运行时可用性。 对于本快速入门,请选择你附近的可用区域,或选择“美国东部”。
    名称 语言资源的名称。 此名称还将用于创建应用程序用于发送 API 请求的终结点 URL。
    定价层 语言资源的定价层。 可以使用免费 F0 层试用该服务,然后再升级到付费层进行生产。

    屏幕截图显示 Azure 门户中的资源创建详细信息。

  4. 确保选中“负责任 AI 通知”复选框。

  5. 在页面底部选择“查看 + 创建” 。

  6. 在显示的屏幕中,确保验证已通过,并且已正确输入信息。 然后选择“创建”。

获取密钥和终结点

然后需要从资源获取密钥和终结点,以便将应用程序连接到 API。 稍后需要在本快速入门中将密钥和终结点粘贴到代码中。

  1. 成功部署语言资源后,单击“后续步骤”下的“转到资源”按钮。

    屏幕截图显示部署资源后的后续步骤。

  2. 在资源的屏幕上,选择左侧导航菜单上的“密钥和终结点”。 在以下步骤中,你将使用其中一个密钥和终结点。

    屏幕截图显示资源的密钥和终结点部分。

创建环境变量

应用程序必须经过身份验证才能发送 API 请求。 对于生产,请使用安全的方式存储和访问凭据。 在此示例中,你将凭据写入运行应用程序的本地计算机上的环境变量。

提示

请不要直接在代码中包含密钥,并且绝不公开发布密钥。 有关 Azure Key Vault 等更多身份验证选项,请参阅 Azure AI 服务安全性一文。

若要为语言资源密钥设置环境变量,请打开控制台窗口,并按照操作系统和开发环境的说明进行操作。

  1. 若要设置 LANGUAGE_KEY 环境变量,请将 your-key 替换为资源的其中一个密钥。
  2. 若要设置 LANGUAGE_ENDPOINT 环境变量,请将 your-endpoint 替换为资源的终结点。
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

注意

如果只需要访问当前正在运行的控制台中的环境变量,则可以使用 set(而不是 setx)设置环境变量。

添加环境变量后,可能需要重启任何正在运行的、需要读取环境变量的程序(包括控制台窗口)。 例如,如果使用 Visual Studio 作为编辑器,请在运行示例之前重启 Visual Studio。

安装客户端库

在安装 Python 后,可以通过以下命令安装客户端库:

pip install azure-ai-textanalytics==5.2.0

代码示例

创建新的 Python 文件,并复制以下代码。 然后运行代码。

# This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
language_key = os.environ.get('LANGUAGE_KEY')
language_endpoint = os.environ.get('LANGUAGE_ENDPOINT')

from azure.ai.textanalytics import TextAnalyticsClient
from azure.core.credentials import AzureKeyCredential

# Authenticate the client using your key and endpoint 
def authenticate_client():
    ta_credential = AzureKeyCredential(language_key)
    text_analytics_client = TextAnalyticsClient(
            endpoint=language_endpoint, 
            credential=ta_credential)
    return text_analytics_client

client = authenticate_client()

# Example method for detecting sensitive information (PII) from text 
def pii_recognition_example(client):
    documents = [
        "The employee's SSN is 859-98-0987.",
        "The employee's phone number is 555-555-5555."
    ]
    response = client.recognize_pii_entities(documents, language="en")
    result = [doc for doc in response if not doc.is_error]
    for doc in result:
        print("Redacted Text: {}".format(doc.redacted_text))
        for entity in doc.entities:
            print("Entity: {}".format(entity.text))
            print("\tCategory: {}".format(entity.category))
            print("\tConfidence Score: {}".format(entity.confidence_score))
            print("\tOffset: {}".format(entity.offset))
            print("\tLength: {}".format(entity.length))
pii_recognition_example(client)

输出

Redacted Text: The ********'s SSN is ***********.
Entity: employee
        Category: PersonType
        Confidence Score: 0.97
        Offset: 4
        Length: 8
Entity: 859-98-0987
        Category: USSocialSecurityNumber
        Confidence Score: 0.65
        Offset: 22
        Length: 11
Redacted Text: The ********'s phone number is ************.
Entity: employee
        Category: PersonType
        Confidence Score: 0.96
        Offset: 4
        Length: 8
Entity: 555-555-5555
        Category: PhoneNumber
        Confidence Score: 0.8
        Offset: 31
        Length: 12

参考文档

借助本快速入门,使用 REST API 发送个人身份信息 (PII) 检测请求。 在以下示例中,你将使用 cURL 在文本中识别已识别的敏感信息

先决条件

设置

创建 Azure 资源

若要使用下面的代码示例,需要部署 Azure 资源。 此资源将包含一个密钥和终结点,用于对发送到语言服务的 API 调用进行身份验证。

  1. 使用以下链接通过 Azure 门户创建语言资源。 需要使用 Azure 订阅登录。

  2. 在显示的“选择其他功能”屏幕上,选择“继续创建资源”。

    屏幕截图显示 Azure 门户中的其他功能选项。

  3. 在“创建语言”屏幕中,提供以下信息:

    详细信息 说明
    订阅 资源将与之关联的订阅帐户。 从下拉菜单选择 Azure 订阅。
    资源组 资源组是存储所创建资源的容器。 选择“新建”来创建一个新的资源组。
    区域 语言资源的位置。 不同区域可能会导致延迟,具体取决于你的物理位置,但不会影响资源的运行时可用性。 对于本快速入门,请选择你附近的可用区域,或选择“美国东部”。
    名称 语言资源的名称。 此名称还将用于创建应用程序用于发送 API 请求的终结点 URL。
    定价层 语言资源的定价层。 可以使用免费 F0 层试用该服务,然后再升级到付费层进行生产。

    屏幕截图显示 Azure 门户中的资源创建详细信息。

  4. 确保选中“负责任 AI 通知”复选框。

  5. 在页面底部选择“查看 + 创建” 。

  6. 在显示的屏幕中,确保验证已通过,并且已正确输入信息。 然后选择“创建”。

获取密钥和终结点

然后需要从资源获取密钥和终结点,以便将应用程序连接到 API。 稍后需要在本快速入门中将密钥和终结点粘贴到代码中。

  1. 成功部署语言资源后,单击“后续步骤”下的“转到资源”按钮。

    屏幕截图显示部署资源后的后续步骤。

  2. 在资源的屏幕上,选择左侧导航菜单上的“密钥和终结点”。 在以下步骤中,你将使用其中一个密钥和终结点。

    屏幕截图显示资源的密钥和终结点部分。

创建环境变量

应用程序必须经过身份验证才能发送 API 请求。 对于生产,请使用安全的方式存储和访问凭据。 在此示例中,你将凭据写入运行应用程序的本地计算机上的环境变量。

提示

请不要直接在代码中包含密钥,并且绝不公开发布密钥。 有关 Azure Key Vault 等更多身份验证选项,请参阅 Azure AI 服务安全性一文。

若要为语言资源密钥设置环境变量,请打开控制台窗口,并按照操作系统和开发环境的说明进行操作。

  1. 若要设置 LANGUAGE_KEY 环境变量,请将 your-key 替换为资源的其中一个密钥。
  2. 若要设置 LANGUAGE_ENDPOINT 环境变量,请将 your-endpoint 替换为资源的终结点。
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

注意

如果只需要访问当前正在运行的控制台中的环境变量,则可以使用 set(而不是 setx)设置环境变量。

添加环境变量后,可能需要重启任何正在运行的、需要读取环境变量的程序(包括控制台窗口)。 例如,如果使用 Visual Studio 作为编辑器,请在运行示例之前重启 Visual Studio。

使用示例请求正文创建 JSON 文件

在代码编辑器中,创建一个名为 test_pii_payload.json 的新文件并复制以下 JSON 示例。 在下一步中,此示例请求将发送到 API。

{
    "kind": "PiiEntityRecognition",
    "parameters": {
        "modelVersion": "latest"
    },
    "analysisInput":{
        "documents":[
            {
                "id":"1",
                "language": "en",
                "text": "Call our office at 312-555-1234, or send an email to support@contoso.com"
            }
        ]
    }
}
'

test_pii_payload.json 保存在计算机上的某个位置。 例如,桌面。

发送个人身份信息 (PII) 检测 API 请求

使用以下命令通过所使用的程序发送 API 请求。 将命令复制到终端并运行。

参数 (parameter) 说明
-X POST <endpoint> 指定用于访问 API 的终结点。
-H Content-Type: application/json 用于发送 JSON 数据的内容类型。
-H "Ocp-Apim-Subscription-Key:<key> 指定用于访问 API 的密钥。
-d <documents> 包含要发送的文档的 JSON。

C:\Users\<myaccount>\Desktop\test_pii_payload.json 替换为在上一步中创建的示例 JSON 请求文件的位置。

命令提示符

curl -X POST "%LANGUAGE_ENDPOINT%/language/:analyze-text?api-version=2022-05-01" ^
-H "Content-Type: application/json" ^
-H "Ocp-Apim-Subscription-Key: %LANGUAGE_KEY%" ^
-d "@C:\Users\<myaccount>\Desktop\test_pii_payload.json"

PowerShell

curl.exe -X POST $env:LANGUAGE_ENDPOINT/language/:analyze-text?api-version=2022-05-01 `
-H "Content-Type: application/json" `
-H "Ocp-Apim-Subscription-Key: $env:LANGUAGE_KEY" `
-d "@C:\Users\<myaccount>\Desktop\test_pii_payload.json"

JSON 响应

{
	"kind": "PiiEntityRecognitionResults",
	"results": {
		"documents": [{
			"redactedText": "Call our office at ************, or send an email to *******************",
			"id": "1",
			"entities": [{
				"text": "312-555-1234",
				"category": "PhoneNumber",
				"offset": 19,
				"length": 12,
				"confidenceScore": 0.8
			}, {
				"text": "support@contoso.com",
				"category": "Email",
				"offset": 53,
				"length": 19,
				"confidenceScore": 0.8
			}],
			"warnings": []
		}],
		"errors": [],
		"modelVersion": "2021-01-15"
	}
}

清理资源

如果想要清理并移除 Azure AI 服务订阅,可以删除资源或资源组。 删除资源组同时也会删除与之相关联的任何其他资源。

后续步骤