快速入门:Azure AI 翻译 REST API

试用最新版本的 Azure AI 翻译。 在本快速入门中,开始使用翻译器服务以所选的编程语言或 REST API 翻译文本。 对于此项目,建议你在学习技术时使用免费定价层 (F0),在以后再升级到付费层进行生产。

先决条件

需要一个活动 Azure 订阅。 如果没有 Azure 订阅,可创建一个试用版订阅

  • 获得 Azure 订阅后,在 Azure 门户中创建一个翻译器资源

  • 部署资源后,选择“转到资源”并检索密钥和终结点。

    • 需要从资源获取密钥和终结点,以便将应用程序连接到翻译器服务。 稍后需要在本快速入门中将密钥和终结点粘贴到代码中。 可以在 Azure 门户的“密钥和终结点”页面上找到这些值:

      屏幕截图:Azure 门户的“密钥和终结点”页面。

      备注

      • 对于本快速入门,建议使用文本翻译单服务全局资源。
      • 使用单服务全局资源,你将在 REST API 请求中包含一个授权标头 (Ocp-Apim-Subscription-key)。 Ocp-Apim-Subscription-key 的值是文本翻译订阅的 Azure 密钥。
      • 如果选择使用 Azure AI 多服务或区域翻译资源,则需要两个身份验证标头(Ocp-Api-Subscription-KeyOcp-Api-Subscription-Region)。 Ocp-Apim-Subscription-Region 的值是与订阅关联的区域。
      • 有关如何使用 Ocp-Apim-Subscription-Region 标头的详细信息,请参阅文本翻译 REST API 标头

标头

若要通过 REST API 调用翻译器服务,需要在每个请求中包含以下标头。 不用担心,我们会在每种编程语言的示例代码中为你包含标头。

有关翻译器身份验证选项的详细信息,请参阅翻译器 v3 参考指南。

标头 条件
Ocp-Apim-Subscription-Key Azure 门户中的翻译器服务密钥。 必需
Ocp-Apim-Subscription-Region 创建资源的区域。 • 使用 Azure AI 多服务或区域(地理)资源(如“中国北部”)时为必填项
• 使用单服务全局翻译资源时为可选项
Content-Type 有效负载的内容类型。 接受的值为 application/jsoncharset=UTF-8 必需
Content-Length 请求正文的长度 可选

重要

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

翻译文本

翻译器服务的核心操作是翻译文本。 在本快速入门中,你使用所选的编程语言生成一个请求,该请求采用单个源 (from) 并提供两个输出 (to)。 然后,我们将查看一些参数,这些参数可用于调整请求和响应。

有关 Azure AI 翻译服务请求限制的详细信息,请参阅文本翻译请求限制

设置 Python 项目

  1. 请确保安装了最新版本的 Python 3.x。 Python 安装中包含了 Python 安装程序包 (pip)。

    提示

    如果你不熟悉 Python,请尝试学习 Python 简介 Learn 模块。

  2. 打开终端窗口,并使用 pip 安装 Requests 库和 uuid0 包:

       pip install requests uuid
    

    备注

    我们还将使用一个名为 json 的 Python 内置包。 它用于处理 JSON 数据。

生成 Python 应用程序

  1. 在首选的编辑器或 IDE 中创建名为“translator-app.py”的新 Python 文件。

  2. 将以下代码示例添加到 translator-app.py 文件中。 确保将密钥更新为 Azure 门户翻译器实例中的某个值

import requests, uuid, json

# Add your key and endpoint
key = "<your-translator-key>"
endpoint = "https://api.translator.azure.cn"

# location, also known as region.
# required if you're using a multi-service or regional (not global) resource. It can be found in the Azure portal on the Keys and Endpoint page.
location = "<YOUR-RESOURCE-LOCATION>"

path = '/translate'
constructed_url = endpoint + path

params = {
    'api-version': '3.0',
    'from': 'en',
    'to': ['fr', 'zu']
}

headers = {
    'Ocp-Apim-Subscription-Key': key,
    # location required if you're using a multi-service or regional (not global) resource.
    'Ocp-Apim-Subscription-Region': location,
    'Content-type': 'application/json',
    'X-ClientTraceId': str(uuid.uuid4())
}

# You can pass more than one object in body.
body = [{
    'text': 'I would really like to drive your car around the block a few times!'
}]

request = requests.post(constructed_url, params=params, headers=headers, json=body)
response = request.json()

print(json.dumps(response, sort_keys=True, ensure_ascii=False, indent=4, separators=(',', ': ')))

运行 Python 应用程序

将代码示例添加到应用程序后,构建并运行程序:

  1. 导航到“translator-app.py”文件。

  2. 在控制台中键入以下命令:

    python translator-app.py
    

翻译输出:

成功调用后,应会看到以下响应:

[
  {
    "translations": [
      {
        "text": "J'aimerais vraiment conduire votre voiture autour du pâté de maisons plusieurs fois!",
        "to": "fr"
      },
      {
        "text": "Ngingathanda ngempela ukushayela imoto yakho endaweni evimbelayo izikhathi ezimbalwa!",
        "to": "zu"
      }
    ]
  }
]

后续步骤

完成了,恭喜! 你已了解如何使用翻译器服务翻译文本。

请浏览我们的操作指南文档并深入了解翻译服务的功能: