快速入门:使用语言检测客户端库和 REST API

参考文档 | 其他示例 | 包 (NuGet) | 库源代码

借助本快速入门,使用 .NET 客户端库创建语言检测应用程序。 在以下示例中,你将创建一个 C# 应用程序,该应用程序可以识别编写文本示例所使用的语言。

提示

可以使用 Language Studio 来试用语言服务功能,而无需编写代码。

先决条件

  • Azure 订阅 - 创建试用订阅
  • Visual Studio IDE
  • 拥有 Azure 订阅后,请在 Azure 门户中创建语言资源,以获取密钥和终结点。 部署后,选择”转到资源”。
    • 需要从创建的资源获取密钥和终结点,以便将应用程序连接到 API。 你稍后会在快速入门中将密钥和终结点粘贴到下方的代码中。
    • 可以使用免费定价层 (Free F0) 试用该服务,然后再升级到付费层进行生产。
  • 若要使用“分析”功能,需要标准 (S) 定价层的“语言”资源。

设置

创建新的 .NET Core 应用程序

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

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

代码示例

将以下代码复制到 program.cs 文件。 请记得将 key 变量替换为资源的密钥,并将 endpoint 变量替换为资源的终结点。 然后运行代码。

重要

转到 Azure 门户。 如果你在“先决条件”部分创建的语言资源部署成功,请单击“后续步骤”下的“转到资源”按钮 。 可以通过导航到资源的“密钥和终结点”页,在“资源管理”下找到你的密钥和终结点。

重要

完成后,请记住将密钥从代码中删除,并且永远不要公开发布该密钥。 对于生产来说,请使用安全的方式存储和访问凭据,例如 Azure Key Vault。 有关详细信息,请参阅 Azure AI 服务安全性一文。

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

namespace LanguageDetectionExample
{
    class Program
    {
        private static readonly AzureKeyCredential credentials = new AzureKeyCredential("replace-with-your-key-here");
        private static readonly Uri endpoint = new Uri("replace-with-your-endpoint-here");

        // Example method for detecting the language of text
        static void LanguageDetectionExample(TextAnalyticsClient client)
        {
            DetectedLanguage detectedLanguage = client.DetectLanguage("Ce document est rédigé en Français.");
            Console.WriteLine("Language:");
            Console.WriteLine($"\t{detectedLanguage.Name},\tISO-6391: {detectedLanguage.Iso6391Name}\n");
        }

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

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

    }
}

输出

Language:
    French, ISO-6391: fr

参考文档 | 其他示例 | 包 (Maven) | 库源代码

借助本快速入门,使用 Java 客户端库创建语言检测应用程序。 在以下示例中,你将创建一个 Java 应用程序,该应用程序可以识别编写文本示例所使用的语言。

提示

可以使用 Language Studio 来试用语言服务功能,而无需编写代码。

先决条件

  • Azure 订阅 - 创建试用订阅
  • Java 开发工具包 (JDK) 版本 8 或更高版本
  • 拥有 Azure 订阅后,请在 Azure 门户中创建语言资源,以获取密钥和终结点。 部署后,选择”转到资源”。
    • 需要从创建的资源获取密钥和终结点,以便将应用程序连接到 API。 你稍后会在快速入门中将密钥和终结点粘贴到下方的代码中。
    • 可以使用免费定价层 (Free F0) 试用该服务,然后再升级到付费层进行生产。
  • 若要使用“分析”功能,需要标准 (S) 定价层的“语言”资源。

设置

添加客户端库

在首选 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 文件。 打开该文件,并复制以下代码。 请记得将 key 变量替换为资源的密钥,并将 endpoint 变量替换为资源的终结点。 然后运行代码。

重要

转到 Azure 门户。 如果你在“先决条件”部分创建的语言资源部署成功,请单击“后续步骤”下的“转到资源”按钮 。 可以通过导航到资源的“密钥和终结点”页,在“资源管理”下找到你的密钥和终结点。

重要

完成后,请记住将密钥从代码中删除,并且永远不要公开发布该密钥。 对于生产来说,请使用安全的方式存储和访问凭据,例如 Azure Key Vault。 有关详细信息,请参阅 Azure AI 服务安全性一文。

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 {

    private static String KEY = "replace-with-your-key-here";
    private static String ENDPOINT = "replace-with-your-endpoint-here";

    public static void main(String[] args) {
        TextAnalyticsClient client = authenticateClient(KEY, ENDPOINT);
        detectLanguageExample(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 the language of text
    static void detectLanguageExample(TextAnalyticsClient client)
    {
        // The text to be analyzed.
        String text = "Ce document est rédigé en Français.";

        DetectedLanguage detectedLanguage = client.detectLanguage(text);
        System.out.printf("Detected primary language: %s, ISO 6391 name: %s, score: %.2f.%n",
                detectedLanguage.getName(),
                detectedLanguage.getIso6391Name(),
                detectedLanguage.getConfidenceScore());
    }
}

输出

Detected primary language: French, ISO 6391 name: fr, score: 1.00.

参考文档 | 其他示例 | 包 (npm) | 库源代码

借助本快速入门,使用 Node.js 客户端库创建语言检测应用程序。 在以下示例中,你将创建一个 JavaScript 应用程序,该应用程序可以识别编写文本示例所使用的语言。

提示

可以使用 Language Studio 来试用语言服务功能,而无需编写代码。

先决条件

  • Azure 订阅 - 创建试用订阅
  • Node.js v14 LTS 或更高版本
  • 拥有 Azure 订阅后,请在 Azure 门户中创建语言资源,以获取密钥和终结点。 部署后,选择”转到资源”。
    • 需要从创建的资源获取密钥和终结点,以便将应用程序连接到 API。 你稍后会在快速入门中将密钥和终结点粘贴到下方的代码中。
    • 可以使用免费定价层 (Free F0) 试用该服务,然后再升级到付费层进行生产。
  • 若要使用“分析”功能,需要标准 (S) 定价层的“语言”资源。

设置

创建新的 Node.js 应用程序

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

mkdir myapp 

cd myapp

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

npm init

安装客户端库

安装 npm 包:

npm install @azure/ai-language-text

代码示例

打开该文件,并复制以下代码。 请记得将 key 变量替换为资源的密钥,并将 endpoint 变量替换为资源的终结点。 然后运行代码。

重要

转到 Azure 门户。 如果你在“先决条件”部分创建的语言资源部署成功,请单击“后续步骤”下的“转到资源”按钮 。 可以通过导航到资源的“密钥和终结点”页,在“资源管理”下找到你的密钥和终结点。

重要

完成后,请记住将密钥从代码中删除,并且永远不要公开发布该密钥。 对于生产来说,请使用安全的方式存储和访问凭据,例如 Azure Key Vault。 有关详细信息,请参阅 Azure AI 服务安全性一文。

"use strict";

const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-language-text");
const key = '<paste-your-key-here>';
const endpoint = '<paste-your-endpoint-here>';

//Example sentences in different languages to be analyzed
const documents = [
    "This document is written in English.",
    "这是一个用中文写的文件",
];


//Example of how to use the client library to detect language
async function main() {
    console.log("== Language detection sample ==");
  
    const client = new TextAnalysisClient(endpoint, new AzureKeyCredential(key));
  
    const result = await client.analyze("LanguageDetection", documents);
  
    for (const doc of result) {
      if (!doc.error) {
        console.log(
          `ID ${doc.id} - Primary language: ${doc.primaryLanguage.name} (iso6391 name: ${doc.primaryLanguage.iso6391Name})`
        );
      }
    }
}

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

输出

== Language detection sample ==
ID 0 - Primary language: English (iso6391 name: en)
ID 1 - Primary language: Chinese_Simplified (iso6391 name: zh_chs)

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

借助本快速入门,使用 Python 客户端库创建语言检测应用程序。 在以下示例中,你将创建一个 Python 应用程序,该应用程序可以识别编写文本示例所使用的语言。

提示

可以使用 Language Studio 来试用语言服务功能,而无需编写代码。

先决条件

  • Azure 订阅 - 创建试用订阅
  • Python 3.8 或更高版本
  • 拥有 Azure 订阅后,请在 Azure 门户中创建语言资源,以获取密钥和终结点。 部署后,选择”转到资源”。
    • 需要从创建的资源获取密钥和终结点,以便将应用程序连接到 API。 稍后在快速入门中将密钥和终结点粘贴到下方的代码中。
    • 可以使用免费定价层 (Free F0) 试用该服务,然后再升级到付费层进行生产。
  • 若要使用“分析”功能,需要标准 (S) 定价层的“语言”资源。

设置

安装客户端库

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

pip install azure-ai-textanalytics==5.2.0

代码示例

创建新的 Python 文件,并复制以下代码。 请记得将 key 变量替换为资源的密钥,并将 endpoint 变量替换为资源的终结点。 然后运行代码。

重要

转到 Azure 门户。 如果你在“先决条件”部分创建的语言资源部署成功,请单击“后续步骤”下的“转到资源”按钮 。 可以通过导航到资源的“密钥和终结点”页,在“资源管理”下找到你的密钥和终结点。

重要

完成后,请记住将密钥从代码中删除,并且永远不要公开发布该密钥。 对于生产来说,请使用安全的方式存储和访问凭据,例如 Azure Key Vault。 有关详细信息,请参阅 Azure AI 服务安全性一文。


# 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 the language of text
def language_detection_example(client):
    try:
        documents = ["Ce document est rédigé en Français."]
        response = client.detect_language(documents = documents, country_hint = 'us')[0]
        print("Language: ", response.primary_language.name)

    except Exception as err:
        print("Encountered exception. {}".format(err))
language_detection_example(client)

输出

Language:  French

参考文档

借助本快速入门,使用 REST API 发送语言检测请求。 在以下示例中,你将使用 cURL 来标识编写文本示例所采用的语言。

提示

可以使用 Language Studio 来试用语言服务功能,而无需编写代码。

先决条件

  • Azure 订阅 - 创建试用订阅
  • 最新版本的 cURL
  • 拥有 Azure 订阅后,请在 Azure 门户中创建语言资源,以获取密钥和终结点。 部署后,选择”转到资源”。
    • 需要从创建的资源获取密钥和终结点,以便将应用程序连接到 API。 你稍后会在快速入门中将密钥和终结点粘贴到下方的代码中。
    • 可以使用免费定价层 (Free F0) 试用该服务,然后再升级到付费层进行生产。

注意

  • 以下 BASH 示例使用 \ 行继续符。 如果你的控制台或终端使用不同的行继续符,请使用该字符。
  • 可以在 GitHub 上找到特定于语言的示例。
  • 访问 Azure 门户,并找到之前在先决条件部分中创建的语言资源的密钥和终结点。 它们将位于资源的“密钥和终结点”页的“资源管理”下。 然后,将以下代码中的字符串替换为你的密钥和终结点。 若要调用 API,需要以下信息:
参数 (parameter) 说明
-X POST <endpoint> 指定用于访问 API 的终结点。
-H Content-Type: application/json 用于发送 JSON 数据的内容类型。
-H "Ocp-Apim-Subscription-Key:<key> 指定用于访问 API 的密钥。
-d <documents> 包含要发送的文档的 JSON。

以下 cURL 命令从 BASH shell 中执行。 请使用自己的资源名称、资源密钥和 JSON 值编辑这些命令。

语言检测

  1. 将命令复制到文本编辑器中。
  2. 必要时在命令中进行如下更改:
    1. 将值 <your-language-resource-key> 替换为你的值。
    2. 将请求 URL 的第一部分 (<your-language-resource-endpoint>) 替换为你的终结点 URL。
  3. 打开命令提示符窗口。
  4. 将文本编辑器中的命令粘贴到命令提示符窗口,然后运行命令。
curl -i -X POST https://<your-language-resource-endpoint>/language/:analyze-text?api-version=2023-11-15-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key:<your-language-resource-key>" \
-d \
'
{
    "kind": "LanguageDetection",
    "parameters": {
        "modelVersion": "latest"
    },
    "analysisInput":{
        "documents":[
            {
                "id":"1",
                "text": "This is a document written in English."
            }
        ]
    }
}
'

JSON 响应

{
    "kind": "LanguageDetectionResults",
    "results": {
        "documents": [
            {
                "id": "1",
                "detectedLanguage": {
                    "name": "English",
                    "iso6391Name": "en",
                    "confidenceScore": 1.0,
                    "script": "Latin",
                    "scriptCode": "Latn"
                },
                "warnings": []
            }
        ],
        "errors": [],
        "modelVersion": "2023-12-01"
    }
}

清理资源

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

后续步骤