推广 热搜:   公司  企业  中国  快速    上海  行业  未来  设备 

GOOGLE翻译V3版

   日期:2024-12-31     移动:http://fabua.ksxb.net/mobile/quote/5231.html

对于 NMT 和 AutoML Translation 模型,输入文本可以是纯文本或 HTML。Cloud Translation API 不会翻译输入文本中的任何 HTML 标记,只会翻译出现在标记之间的文本。由于源语言和目标语言之间存在差异,输出会尽可能地保留(未翻译的)HTML 标记,并将翻译的文本置于标记之间。由于翻译中的词序更改,输出中 HTML 标记的顺序可能与输入文本中的顺序不同。

GOOGLE翻译V3版

对于 LLM 文本翻译(预览版,MIME 类型必须是 text/plain。

注意:Cloud Translation API 不支持使用其他标记语言(如 XML)的输入文本。尝试使用其他形式的标记翻译内容时,结果不确定。

V3(高级版

试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Python 设置说明进行操作。如需了解详情,请参阅 Cloud Translation Python API 参考文档。

如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

# imports the Google Cloud Translation library
from google.cloud import translate

# Initialize Translation client
def translate_text(
    text: str = "YOUR_TEXT_TO_TRANSLATE", project_id: str = "YOUR_PROJECT_ID"
) -> translate.TranslationServiceClient:
    """Translating Text."""

    client = translate.TranslationServiceClient()

    location = "global"

    parent = f"projects/{project_id}/locations/{location}"

    # Translate text from English to French
    # Detail on supported types can be found here:
    # https://cloud.google.com/translate/docs/supported-formats
    response = client.translate_text(
        request={
            "parent": parent,
            "contents": [text],
            "mime_type": "text/plain",  # mime types: text/plain, text/html
            "source_language_code": "en-US",
            "target_language_code": "fr",
        }
    )

    # Display the translation for each input text provided
    for translation in response.translations:
        print(f"Translated text: {translation.translated_text}")

    return response

REST (Request) 

如需翻译文本,请发出 POST 请求,并在请求正文中提供 JSON 格式的文本,以标识要翻译的源语言 (source_language_code)、目标语言 (target_language_code) 以及要翻译的文本 (contents)。您可以提供多个要翻译的文本字符串,只需在 JSON 文本中加入这些字符串即可(请参阅示例)可以使用相应的 ISO-639 代码来标识源语言和目标语言。

下面显示了使用 curl 或 PowerShell 的 POST 请求的示例。该示例针对通过 Google Cloud CLI 为项目设置的服务账号使用访问令牌。如需了解有关安装 Google Cloud CLI、使用服务账号设置项目以及获取访问令牌的说明,请参阅设置页面。

在使用任何请求数据之前,请先进行以下替换

PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID
HTTP 方法和网址

POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID:translateText
请求 JSON 正文

{
  "sourceLanguageCode": "en",
  "targetLanguageCode": "ru",
  "contents": ["Dr. Watson, come here!", "Bring me some coffee!"]
}
如需发送您的请求,请展开以下选项之一

注意:以下命令假定您已使用您的用户账号通过运行 gcloud init 或 gcloud auth login 登录 gcloud CLI,或者使用了 Cloud Shell,这会使您自动登录 gcloud CLI。您可以运行 gcloud auth list 来检查当前活跃的账号。

curl -X POST
     -H "Authorization: Bearer $(gcloud auth print-access-token)"
     -H "x-goog-user-project: PROJECT_NUMBER_OR_ID"
     -H "Content-Type: application/json; charset=utf-8"
     -d @request.json
     "https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID:translateText"

注意:以下命令假定您已使用您的用户账号通过运行 gcloud init 或 gcloud auth login 登录 gcloud CLI。您可以运行 gcloud auth list 来检查当前活跃的账号。 

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER_OR_ID" }

Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID:translateText" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应

{
  "translations": [
    {
      "translatedText": "Доктор Ватсон, иди сюда!",
    },
    {
      "translatedText": "Принеси мне кофе!",
    }
  ]
}

translations 数组包含两个 translatedText 字段,其中译文以请求的 targetLanguageCode 语言(ru:俄语)提供。译文的排列顺序与相应源数组在请求中的顺序相同。

V2(基本版

def translate_text(target: str, text: str) -> dict:
    """Translates text into the target language.

    Target must be an ISO 639-1 language code.
    See https://g.co/cloud/translate/v2/translate-reference#supported_languages
    """
    from google.cloud import translate_v2 as translate

    translate_client = translate.Client()

    if isinstance(text, bytes):
        text = text.decode("utf-8")

    # Text can also be a sequence of strings, in which case this method
    # will return a sequence of results for each text.
    result = translate_client.translate(text, target_language=target)

    print("Text: {}".format(result["input"]))
    print("Translation: {}".format(result["translatedText"]))
    print("Detected source language: {}".format(result["detectedSourceLanguage"]))

    return result
 

设置应用默认凭据 

bookmark_border
版本说明
本页面介绍了如何设置应用默认凭据 (ADC),以供 Cloud 客户端库、Google API 客户端库以及 REST 和远程过程调用 (RPC) API 在各种环境中使用。您可以通过在代码运行的环境中向 ADC 提供凭据来设置 ADC。

Application Default Credentials (ADC) 是 Google 身份验证库使用的一种策略,可根据应用环境自动查找凭据。身份验证库会将这些凭据提供给 Cloud 客户端库和 Google API 客户端库。使用 ADC 时,您的代码可以在开发或生产环境中运行,而无需更改应用向 Google Cloud 服务和 API 进行身份验证的方式。

如需了解 ADC 查找凭据的位置和顺序,请参阅应用默认凭据的工作原理。

如果您使用的是 API 密钥,就无需设置 ADC。如需了解详情,请参阅使用 API 密钥。

如何向 ADC 提供凭据
选择运行代码的环境

本地开发环境
Cloud Shell 或其他 Google Cloud 云端开发环境
Compute Engine 或其他支持关联服务账号的 Google Cloud 服务
Google Kubernetes Engine 或 GKE Enterprise
本地或其他云服务提供商
本地开发环境
您可以在本地开发环境中向 ADC 提供用户凭据或服务账号凭据。

用户凭据
当您的代码在本地开发环境(例如开发工作站)中运行时,最好的方法是使用与您的用户账号关联的凭据。

如果您提供用户凭据来创建本地 ADC 文件,请注意以下事项

如果没有额外的参数或配置,用户凭据可能不适用于某些方法和 API(例如 Cloud Translation API 或 Cloud Vision API)。如果您看到错误消息,说明 API 未在项目中启用或者没有可用的配额项目,请参阅排查 ADC 设置问题。

本地 ADC 包含访问令牌和刷新令牌。有权访问文件系统的任何用户都可以使用这些凭据。如果您不再需要这些本地凭据,可以使用 gcloud auth application-default revoke 命令将其撤消。

如果您的用户账号在项目中没有所需的 Identity and Access Management (IAM) 角色,则您的代码可能无法访问某些资源。如果发生这种情况,必须有人为您授予所需的角色。

您的本地 ADC 文件与您的用户账号而非 gcloud CLI 配置相关联。改用其他 gcloud CLI 配置不会影响您的本地 ADC 文件或提供给 ADC 的凭据。

如何向 ADC 提供用户凭据取决于您的用户账号是由 Google 管理(换句话说,您的用户账号是 Google 账号,还是由其他身份提供方 (IdP) 管理,以及是否使用员工身份联合进行联合。

为您的 Google 账号提供用户凭据
如需将用户凭据提供给 Google 账号的 ADC,您可以使用 Google Cloud CLI

安装并初始化 gcloud CLI。

初始化 gcloud CLI 时,请务必指定您在其中有权访问应用所需的资源的 Google Cloud 项目。

创建凭据文件

gcloud auth application-default login
登录屏幕随即出现。在您登录后,您的凭据会存储在 ADC 使用的本地凭据文件中。

为由外部 IdP 管理的账号提供用户凭据
如需为由外部 IdP 管理并使用员工身份联合进行联合的用户账号提供用户凭据,您需要员工池提供方名称。您的管理员应该能够向您提供此信息。员工池提供方名称采用以下格式

locations/global/workforcePools/POOL_ID/provider/PROVIDER_ID

将您的用户凭据提供给联合用户账号的 ADC

使用 iam workforce-pools create-login-config 命令创建登录配置文件并将 gcloud CLI auth/login_config_file 属性设置为指向其位置

gcloud iam workforce-pools create-login-config PROVIDER_ID
--output-file=LOGIN_CONFIG_FILE --activate
替换以下内容

PROVIDER_ID:提供方 ID
LOGIN_CONFIG_FILE:您指定的配置文件的路径,例如 login.json
创建的文件类似于以下示例

{
"type": "external_account_authorized_user_login_config",
"audience": "//iam.googleapis.com/PROVIDER_ID",
"auth_url": "https://auth.cloud.google/authorize",
"token_url": "https://sts.googleapis.com/v1/oauthtoken",
"token_info_url": "https://sts.googleapis.com/v1/introspect",
}
注意:我们建议您先确保此文件的内容正确无误,然后保护该文件(例如,将其设为只读并使用 ACL 限制访问权限)。该文件未经过验证;怀有恶意的操作者如果拥有该文件写入权限,就可以更改端点和拦截凭据。
使用登录文件登录 gcloud CLI

gcloud auth login
初始化 gcloud CLI

gcloud init
创建本地 ADC 文件

gcloud auth application-default login
如需了解详情,请参阅员工身份联合。

服务账号凭据
您可以使用服务账号模拟或服务账号密钥和服务账号的凭据来设置 ADC。

服务账号模拟
您可以使用服务账号模拟来设置本地应用默认凭据 (ADC) 文件。支持模拟的客户端库可以自动使用这些凭据。使用模拟创建的本地 ADC 文件支持以下语言

C#
Go
Java
Node.js
Python
您必须具有要模拟的服务账号的 Service Account Token Creator (roles/iam.serviceAccountTokenCreator) IAM 角色。如需了解详情,请参阅必需的角色。

使用服务账号模拟创建本地 ADC 文件

gcloud auth application-default login --impersonate-service-account SERVICE_ACCT_EMAIL
服务账号密钥
如果您无法使用用户凭据或服务账号模拟进行本地开发,可以使用服务账号密钥。

注意:如果服务账号密钥未正确管理,则会带来安全风险。您应该尽可能选择更安全的服务账号密钥替代方案。如果必须使用服务账号密钥进行身份验证,您将负责私钥的安全性以及 管理服务账号密钥的最佳实践中所述的其他操作。 如果系统阻止您创建服务账号密钥,您的组织可能会停用服务账号密钥创建功能。如需了解详情,请参阅 管理默认安全的组织资源。
如需创建服务账号密钥并将其提供给 ADC,请执行以下操作

按照创建服务账号密钥中的说明,创建一个具有您的应用所需的角色的服务账号,并为该服务账号创建密钥。

将环境变量 GOOGLE_APPLICATION_CREDENTIALS 设置为包含凭据的 JSON 文件的路径。 此变量仅适用于当前的 shell 会话,因此,如果您打开新的会话,请重新设置该变量。

示例
:Linux 或 macOS

示例
:Windows

注意:当您设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量时,ADC 会先检查此位置,然后仅在必要时检查其他位置。
Google Cloud 云端开发环境
当您使用 Cloud Shell 或 Cloud Code 等 Google Cloud 云端开发环境时,该工具会使用您登录时提供的凭据,并管理所有必要的授权。在这些环境中,您无法使用 gcloud CLI 向 ADC 提供凭据。如果您需要向 ADC 提供不同的用户账号,或者使用服务账号提供凭据,请使用本地开发环境或 Google Cloud 计算资源作为开发环境。

支持进行服务账号关联的 Google Cloud 服务
某些 Google Cloud 服务(例如 Compute Engine、App Engine 和 Cloud Functions)支持将用户管理的服务账号关联到某些类型的资源。通常,当服务的资源可以运行或包含应用代码时支持关联服务账号。将服务账号关联到资源后,该资源上运行的代码可以使用该服务账号作为其身份。

关联用户管理的服务账号是针对 Google Cloud 上运行的生产代码向 ADC 提供凭据的首选方式。

注意:其中许多 Google Cloud 服务还提供默认服务账号。不建议使用默认服务账号,因为默认情况下,默认服务账号具有较高的权限,这违反了最小权限原则。
如需有关确定需要向服务账号提供的角色的帮助,请参阅选择预定义角色。

如需了解可以将服务账号关联到的资源,以及有关将服务账号关联到资源的帮助,请参阅有关关联服务账号的 IAM 文档。

设置身份验证

创建服务帐号

gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
将 SERVICE_ACCOUNT_NAME 替换为服务帐号的名称。

如需提供对项目和资源的访问权限,请向服务帐号授予角色

gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE
请替换以下内容

SERVICE_ACCOUNT_NAME:服务帐号的名称
PROJECT_ID:您在其中创建服务帐号的项目的 ID
ROLE:要授予的角色
注意:--role 标志会影响服务帐号可以访问项目中的哪些资源。您可以撤消这些角色或稍后授予其他角色。在生产环境中,请勿授予 Owner、Editor 或 Viewer 角色。应授予满足您的需求的预定义角色或自定义角色。
要向服务帐号授予其他角色,请按照上一步中的说明运行命令。
为您的 Google 帐号授予一个可让您使用服务帐号的角色并将服务帐号关联到其他资源的角色

gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser
替换以下内容

SERVICE_ACCOUNT_NAME:服务帐号的名称
PROJECT_ID:您在其中创建服务帐号的项目的 ID
USER_EMAIL:您的 Google 帐号的电子邮件地址
GKE 或 GKE Enterprise
对 GKE 或 GKE Enterprise 上运行的容器化应用进行身份验证时,本地测试环境与 Google Cloud 环境的处理方式不同。

在本地测试容器化应用
如需在本地工作站上测试容器化应用,您可以将容器配置为使用本地凭据文件进行身份验证。如需测试容器,请使用本地 Kubernetes 实现,例如 minikube 和 gcp-auth 插件。

在 Google Cloud 上运行容器化应用
根据具体情况,为 Google Cloud 容器化环境设置身份验证

对于 GKE Enterprise,请参阅身份验证概览和使用舰队 Workload Identity。
对于 GKE,请参阅使用 Workload Identity for GKE。
对于 Cloud Run for Anthos,请参阅为 Cloud Run for Anthos 使用 Workload Identity。
本地或其他云服务提供商
如果您在 Google Cloud 之外运行应用,则需要提供 Google Cloud 可识别的凭据才能使用 Google Cloud 服务。

工作负载身份联合
使用不同 IdP 的凭据进行 Google Cloud 身份验证的首选方法是使用工作负载身份联合创建凭据配置文件;您创建一个凭据配置文件并将 GOOGLE_APPLICATION_CREDENTIALS 环境变量设为指向它。此方法比创建服务账号密钥更安全。

如需有关为 ADC 设置工作负载身份联合的帮助,请参阅配置工作负载身份联合和使用身份联合获取短期有效的凭据。

服务账号密钥
如果您无法配置工作负载身份联合,则必须创建一个服务账号,为其授予您的应用所需的 IAM 角色,并为该服务账号创建密钥。

注意:如果服务账号密钥未正确管理,则会带来安全风险。您应该尽可能选择更安全的服务账号密钥替代方案。如果必须使用服务账号密钥进行身份验证,您将负责私钥的安全性以及 管理服务账号密钥的最佳实践中所述的其他操作。 如果系统阻止您创建服务账号密钥,您的组织可能会停用服务账号密钥创建功能。如需了解详情,请参阅 管理默认安全的组织资源。
如需创建服务账号密钥并将其提供给 ADC,请执行以下操作

按照创建服务账号密钥中的说明,创建一个具有您的应用所需的角色的服务账号,并为该服务账号创建密钥。

将环境变量 GOOGLE_APPLICATION_CREDENTIALS 设置为包含凭据的 JSON 文件的路径。 此变量仅适用于当前的 shell 会话,因此,如果您打开新的会话,请重新设置该变量。

示例
:Linux 或 macOS

示例
:Windows

注意:当您设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量时,ADC 会先检查此位置,然后仅在必要时检查其他位置。
后续步骤
详细了解 ADC 如何查找凭据。
使用 Cloud 客户端库时进行身份验证。
探索在 Google 进行身份验证。
 

The Google Cloud CLI works on Windows 8.1 and later and Windows Server 2012 and later.
Download the Google Cloud CLI installer.

Alternatively, open a PowerShell terminal and run the following PowerShell commands:

(New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", "$env:TempGoogleCloudSDKInstaller.exe")

& $env:TempGoogleCloudSDKInstaller.exe
    
启动安装程序并按提示操作。安装程序已经过 Google LLC 签名。

如果您使用的是屏幕阅读器,请选中启用屏幕阅读器模式复选框。此选项会将 gcloud 配置为使用状态跟踪器而不是 Unicode 旋转图标,以百分比表示显示进度和展开的表。如需了解详情,请参阅无障碍功能指南。

Google Cloud CLI 要求安装 Python;受支持的版本是 Python 3.8 到 3.12。默认情况下,Windows 版本的 Google Cloud CLI 捆绑了 Python 3。如需使用 Google Cloud CLI,您的操作系统必须能够运行受支持的 Python 版本。

安装程序会安装所有必需的依赖项(包括所需的 Python 版本)。虽然 Google Cloud CLI 默认安装和管理 Python 3,但您可以根据需要通过取消选中“安装捆绑的 Python”选项来使用已安装的 Python。请参阅 gcloud topic startup,了解如何使用现有 Python 安装。

安装完成后,安装程序会为您提供创建开始菜单和桌面快捷方式、启动 Google Cloud CLI shell 以及配置 gcloud CLI 的选项。确保已选择用于启动 shell 并配置安装的选项。安装程序会启动终端窗口并运行 gcloud init 命令。

默认安装不包括使用 gcloud 命令部署应用所必需的 App Engine 扩展程序。您可以使用 gcloud CLI 组件管理器安装这些组件。
问题排查提示
如果由于 find 命令未被识别而导致安装失败,请确保您的 PATH 环境变量设置为将包含 find 的文件夹包括在内。通常,此文件夹为 C:WINDOWSsystem32;。
如果您卸载了 gcloud CLI,则必须先重新启动系统,然后才能再次安装 gcloud CLI。
如果解压缩失败,请以管理员身份运行安装程序。

其他安装选项
根据您的开发需求,您可以使用其他方法来安装 gcloud CLI,而不是推荐的安装方法

本文地址:http://fabua.ksxb.net/quote/5231.html    海之东岸资讯 http://fabua.ksxb.net/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号