airflow.providers.google.cloud.hooks.translate
¶
此模块包含 Google Cloud Translate Hook。
模块内容¶
类¶
用于 Google Cloud 翻译 API 的 Hook。 |
|
用于使用客户端版本 V3 进行 Google Cloud 翻译(高级)的 Hook。 |
- exception airflow.providers.google.cloud.hooks.translate.WaitOperationNotDoneYetError[source]¶
基类:
Exception
等待操作尚未完成错误。
- class airflow.providers.google.cloud.hooks.translate.CloudTranslateHook(gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]¶
基类:
airflow.providers.google.common.hooks.base_google.GoogleBaseHook
用于 Google Cloud 翻译 API 的 Hook。
hook 中使用 project_id 的所有方法都必须使用关键字参数而不是位置参数调用。
- get_conn()[source]¶
检索与 Cloud Translate 的连接。
- 返回
Google Cloud Translate 客户端对象。
- 返回类型
google.cloud.translate_v2.Client
- translate(values, target_language, format_=None, source_language=None, model=None)[source]¶
翻译一个字符串或字符串列表。
请参阅 https://cloud.google.com/translate/docs/translating-text
- 参数
- 返回
每个查询值的字典列表。每个字典通常包含三个键(尽管并非所有键都会在所有情况下都存在)
detectedSourceLanguage
:文本的检测语言(作为 ISO 639-1 语言代码)。translatedText
:文本到目标语言的翻译。input
:相应的输入值。model
:用于翻译文本的模型。
如果仅传递单个值,则将仅返回单个字典。
- 引发
如果值和翻译的数量不同,则引发
ValueError
。- 返回类型
- class airflow.providers.google.cloud.hooks.translate.TranslateHook(gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]¶
基类:
airflow.providers.google.common.hooks.base_google.GoogleBaseHook
用于使用客户端版本 V3 进行 Google Cloud 翻译(高级)的 Hook。
请参阅相关文档 https://cloud.google.com/translate/docs/editions#advanced。
- get_client()[source]¶
检索 TranslationService 客户端。
- 返回
Google Cloud Translation Service 客户端对象。
- 返回类型
google.cloud.translate_v3.TranslationServiceClient
- static wait_for_operation_done(*, operation, timeout=None, initial=3, multiplier=2, maximum=3600)[source]¶
等待长时间运行的操作完成。
调用 operation.done() 直到成功或超时耗尽,遵循退避重试策略。请参阅 google.api_core.retry.Retry。它旨在用于设计上具有空结果(:class google.protobuf.empty_pb2.Empty)的 Operation 实例。因此,即使操作本身完全正常,为此类操作调用 operation.result() 也会触发异常
GoogleAPICallError("Unexpected state: Long-running operation had neither response nor error set.")
。
- translate_text(*, project_id=PROVIDE_PROJECT_ID, contents, target_language_code, source_language_code=None, mime_type=None, location=None, model=None, transliteration_config=None, glossary_config=None, labels=None, timeout=DEFAULT, metadata=(), retry=DEFAULT)[源代码]¶
翻译提供的文本内容。
- 参数
project_id (str) – 必需。服务所属的 Google Cloud 项目的 ID。
contents (collections.abc.Sequence[str]) – 必需。字符串格式的输入内容。建议最大长度为 1024 项,包含 30,000 个代码点。
mime_type (str | None) – 可选。源文本的格式。如果留空,MIME 类型默认为 “text/html”。
source_language_code (str | None) – 可选。如果已知,输入文本的 ISO-639 语言代码。如果未指定源语言,API 会尝试自动识别源语言并在响应中返回源语言。
target_language_code (str) – 必需。用于翻译输入文本的 ISO-639 语言代码
location (str | None) – 可选。发起调用的项目或位置。必须引用调用者的项目。如果未指定,则使用 “global”。使用 AutoML 模型或自定义词汇表请求时,需要非全局位置。模型和词汇表必须在同一区域内(具有相同的位置 ID)。
model (str | None) –
可选。请求用于此翻译的
model
类型。如果未提供,将使用默认的 Google 模型 (NMT)。格式取决于模型类型AutoML 翻译模型:
projects/{项目编号或 ID}/locations/{位置 ID}/models/{模型 ID}
通用(内置)模型:
projects/{项目编号或 ID}/locations/{位置 ID}/models/general/nmt
翻译 LLM 模型:
projects/{项目编号或 ID}/locations/{位置 ID}/models/general/translation-llm
对于全局(无区域)请求,请使用
location-id
global
。例如,projects/{项目编号或 ID}/locations/global/models/general/nmt
。glossary_config (google.cloud.translate_v3.types.TranslateTextGlossaryConfig | None) – 可选。要应用的词汇表。词汇表必须与模型位于同一区域内(具有相同的位置 ID)。
transliteration_config (google.cloud.translate_v3.types.TransliterationConfig | None) – 可选。要应用的音译。
labels (str | None) – 可选。请求的用户定义元数据的标签。有关更多信息,请参阅 https://cloud.google.com/translate/docs/advanced/labels。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault | None) – 指定应该重试哪些错误(如果有)。
timeout (float | google.api_core.gapic_v1.method._MethodDefault) – 此请求的超时时间。
metadata (collections.abc.Sequence[tuple[str, str]]) – 应与请求一起作为元数据发送的字符串。
- 返回
从 API 响应中翻译文本结果。
- 返回类型
- batch_translate_text(*, project_id=PROVIDE_PROJECT_ID, location, source_language_code, target_language_codes, input_configs, output_config, models=None, glossaries=None, labels=None, timeout=DEFAULT, metadata=(), retry=DEFAULT)[源代码]¶
翻译大量文本数据。
- 参数
project_id (str) – 必需。服务所属的 Google Cloud 项目的 ID。
location (str) – 可选。发起调用的项目或位置。必须引用调用者的项目。必须是非全局的。
source_language_code (str) – 必需。源语言代码。
target_language_codes (collections.abc.MutableSequence[str]) – 必需。在此处指定最多 10 个语言代码。
models (str | None) –
可选。用于翻译的模型。映射的键是目标语言代码。映射的值是模型名称。值可以是内置的通用模型,也可以是 AutoML 翻译模型。值格式取决于模型类型
AutoML 翻译模型:
projects/{项目编号或 ID}/locations/{位置 ID}/models/{模型 ID}
通用(内置)模型:
projects/{项目编号或 ID}/locations/{位置 ID}/models/general/nmt
如果映射为空或未针对特定语言对请求特定模型,则使用默认的 Google 模型 (NMT)。
input_configs (collections.abc.MutableSequence[google.cloud.translate_v3.types.InputConfig | dict]) – 必需。输入配置。匹配的文件总数应 <= 100。总内容大小应 <= 100M Unicode 代码点。这些文件必须使用 UTF-8 编码。
output_config (google.cloud.translate_v3.types.OutputConfig | dict) – 必需。输出配置。
glossaries (collections.abc.MutableMapping[str, google.cloud.translate_v3.types.TranslateTextGlossaryConfig] | None) – 可选。要应用于翻译的词汇表。它以目标语言代码为键。
labels (collections.abc.MutableMapping[str, str] | None) – 可选。请求的用户定义元数据的标签。有关更多信息,请参阅 https://cloud.google.com/translate/docs/advanced/labels。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault | None) – 指定应该重试哪些错误(如果有)。
timeout (float | google.api_core.gapic_v1.method._MethodDefault) – 此请求的超时时间。
metadata (collections.abc.Sequence[tuple[str, str]]) – 应与请求一起作为元数据发送的字符串。
- 返回
批量文本翻译结果的操作对象,当批处理准备就绪时返回。
- 返回类型
- create_dataset(*, project_id=PROVIDE_PROJECT_ID, location, dataset, timeout=DEFAULT, metadata=(), retry=DEFAULT)[source]¶
创建翻译数据集。
- 参数
dataset (dict | google.cloud.translate_v3.types.automl_translation.Dataset) – 要创建的数据集。如果提供的是字典,则它必须与 automl_translation.Dataset 类型相对应。
project_id (str) – 数据集所在的 Google Cloud 项目的 ID。如果未提供,则使用默认的 project_id。
location (str) – 项目的位置。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault | None) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | google.api_core.gapic_v1.method._MethodDefault) – 等待请求完成的时间(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次单独的尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- 返回
用于创建数据集的 Operation 对象。
- 返回类型
- get_dataset(dataset_id, project_id, location, retry=DEFAULT, timeout=DEFAULT, metadata=())[source]¶
检索给定 dataset_id 的数据集。
- 参数
dataset_id (str) – 要检索的翻译数据集的 ID。
project_id (str) – 数据集所在的 Google Cloud 项目的 ID。如果未提供,则使用默认的 project_id。
location (str) – 项目的位置。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | google.api_core.gapic_v1.method._MethodDefault) – 等待请求完成的时间(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次单独的尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- 返回
automl_translation.Dataset 实例。
- 返回类型
google.cloud.translate_v3.types.automl_translation.Dataset
- import_dataset_data(dataset_id, location, input_config, project_id=PROVIDE_PROJECT_ID, retry=DEFAULT, timeout=None, metadata=())[source]¶
将数据导入到翻译数据集中。
- 参数
dataset_id (str) – 翻译数据集的 ID。
input_config (dict | google.cloud.translate_v3.types.DatasetInputConfig) – 所需的输入位置及其特定于域的语义(如果有)。如果提供字典,则其形式必须与 protobuf 消息 InputConfig 相同。
project_id (str) – 如果为 None,则使用默认 project_id,表示数据集所在的 Google Cloud 项目的 ID。
location (str) – 项目的位置。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | None) – 等待请求完成的时间(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次单独的尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- 返回
导入数据的 Operation 对象。
- 返回类型
- list_datasets(project_id, location, retry=DEFAULT, timeout=DEFAULT, metadata=())[source]¶
列出项目中的翻译数据集。
- 参数
project_id (str) – 数据集所在的 Google Cloud 项目的 ID。如果未提供,则使用默认的 project_id。
location (str) – 项目的位置。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | google.api_core.gapic_v1.method._MethodDefault) – 等待请求完成的时间(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次单独的尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- 返回
pagers.ListDatasetsPager
实例,用于检索数据集列表的可迭代对象。- 返回类型
google.cloud.translate_v3.services.translation_service.pagers.ListDatasetsPager
- delete_dataset(dataset_id, project_id, location, retry=DEFAULT, timeout=None, metadata=())[source]¶
删除翻译数据集及其所有内容。
- 参数
dataset_id (str) – 要删除的数据集的 ID。
project_id (str) – 数据集所在的 Google Cloud 项目的 ID。如果未提供,则使用默认的 project_id。
location (str) – 项目的位置。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | None) – 等待请求完成的时间(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次单独的尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- 返回
完成时包含数据集删除结果的 Operation 对象。
- 返回类型
- create_model(dataset_id, display_name, project_id, location, retry=DEFAULT, timeout=None, metadata=())[source]¶
通过在提供的翻译数据集上训练来创建本机模型。
- 参数
dataset_id (str) – 用于模型训练的数据集的 ID。
display_name (str) – 训练模型的显示名称。可以使用 A-Z 和 a-z、下划线 (_) 和 ASCII 数字 0-9。
project_id (str) – 数据集所在的 Google Cloud 项目的 ID。如果未提供,则使用默认的 project_id。
location (str) – 项目的位置。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | None) – 等待请求完成的时间(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次单独的尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- 返回
完成时包含模型创建结果的 Operation 对象。
- 返回类型
- get_model(model_id, project_id, location, retry=DEFAULT, timeout=DEFAULT, metadata=())[source]¶
检索给定 model_id 的数据集。
- 参数
model_id (str) – 要检索的翻译模型的 ID。
project_id (str) – 数据集所在的 Google Cloud 项目的 ID。如果未提供,则使用默认的 project_id。
location (str) – 项目的位置。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | google.api_core.gapic_v1.method._MethodDefault) – 等待请求完成的时间(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次单独的尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- 返回
automl_translation.Model 实例。
- 返回类型
google.cloud.translate_v3.types.automl_translation.Model
- list_models(project_id, location, filter_str=None, page_size=None, retry=DEFAULT, timeout=DEFAULT, metadata=())[source]¶
列出项目中的翻译模型。
- 参数
project_id (str) – Google Cloud 项目的 ID,模型位于此项目中。如果未提供,则使用默认的 project_id。
location (str) – 项目的位置。
filter_str (str | None) – 用于过滤将返回的模型的可选表达式。支持的过滤器:
dataset_id=${dataset_id}
。page_size (int | None) – 可选的自定义页面大小值。服务器返回的结果可能少于请求的数量。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | google.api_core.gapic_v1.method._MethodDefault) – 等待请求完成的时间(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次单独的尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- 返回
pagers.ListDatasetsPager
实例,用于检索数据集列表的可迭代对象。- 返回类型
google.cloud.translate_v3.services.translation_service.pagers.ListModelsPager
- delete_model(model_id, project_id, location, retry=DEFAULT, timeout=None, metadata=())[source]¶
删除翻译模型及其所有内容。
- 参数
model_id (str) – 要删除的模型的 ID。
project_id (str) – 数据集所在的 Google Cloud 项目的 ID。如果未提供,则使用默认的 project_id。
location (str) – 项目的位置。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | None) – 等待请求完成的时间(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次单独的尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- 返回
完成时包含数据集删除结果的 Operation 对象。
- 返回类型
- translate_document(*, project_id=PROVIDE_PROJECT_ID, source_language_code=None, target_language_code, location=None, document_input_config, document_output_config, customized_attribution=None, is_translate_native_pdf_only=False, enable_shadow_removal_native_pdf=False, enable_rotation_correction=False, model=None, glossary_config=None, labels=None, timeout=DEFAULT, metadata=(), retry=DEFAULT)[source]¶
翻译提供的文档。
- 参数
project_id (str) – 必需。服务所属的 Google Cloud 项目的 ID。
source_language_code (str | None) – 可选。如果知道输入文档文本的 ISO-639 语言代码。如果未指定源语言,API 将尝试自动识别源语言并在响应中返回源语言。
target_language_code (str) – 必需。用于翻译输入文档文本的 ISO-639 语言代码。
location (str | None) – 可选。发起调用的项目或位置。必须引用调用者的项目。如果未指定,则使用 “global”。使用 AutoML 模型或自定义词汇表请求时,需要非全局位置。模型和词汇表必须在同一区域内(具有相同的位置 ID)。
document_input_config (google.cloud.translate_v3.types.DocumentInputConfig | dict) – 文档翻译请求输入配置。
document_output_config (google.cloud.translate_v3.types.DocumentOutputConfig | dict | None) – 可选。文档翻译请求输出配置。如果未提供,则翻译后的文件将仅通过字节流返回,并且其输出 MIME 类型将与输入文件的 MIME 类型相同。
customized_attribution (str | None) – 可选。此标志用于支持用户自定义归因。如果未提供,则默认为
由 Google 机器翻译
。自定义归因应遵循 https://cloud.google.com/translate/attribution#attribution_and_logos 中的规则is_translate_native_pdf_only (bool) – 可选。外部客户的参数。如果为 true,则在线原生 PDF 翻译的页面限制为 300,并且仅翻译原生 PDF 页面。
enable_shadow_removal_native_pdf (bool) – 可选。如果为 true,则使用文本删除服务器删除原生 PDF 翻译中背景图像上的阴影文本。只有在
is_translate_native_pdf_only
和pdf_native_only
都为 False 时,才能启用阴影删除功能。enable_rotation_correction (bool) – 可选。如果为 true,则在 DVS 中启用自动旋转校正。
model (str | None) –
可选。请求用于此翻译的
model
类型。如果未提供,将使用默认的 Google 模型 (NMT)。格式取决于模型类型AutoML 翻译模型:
projects/{项目编号或 ID}/locations/{位置 ID}/models/{模型 ID}
通用(内置)模型:
projects/{project-number-or-id}/locations/{location-id}/models/general/nmt
,
如果未提供,则默认的 Google 模型 (NMT) 将用于翻译。
glossary_config (google.cloud.translate_v3.types.TranslateTextGlossaryConfig | None) – 可选。要应用的词汇表。词汇表必须与模型位于同一区域内(具有相同的位置 ID)。
labels (str | None) – 可选。请求的用户定义元数据的标签。有关更多信息,请参阅 https://cloud.google.com/translate/docs/advanced/labels。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault | None) – 指定应该重试哪些错误(如果有)。
timeout (float | google.api_core.gapic_v1.method._MethodDefault) – 此请求的超时时间。
metadata (collections.abc.Sequence[tuple[str, str]]) – 应与请求一起作为元数据发送的字符串。
- 返回
从 API 响应翻译文档结果。
- 返回类型
- batch_translate_document(*, project_id=PROVIDE_PROJECT_ID, source_language_code, target_language_codes=None, location=None, input_configs, output_config, customized_attribution=None, format_conversions=None, enable_shadow_removal_native_pdf=False, enable_rotation_correction=False, models=None, glossaries=None, timeout=DEFAULT, metadata=(), retry=DEFAULT)[source]¶
通过提供的配置批量翻译文档。
- 参数
project_id (str) – 必需。服务所属的 Google Cloud 项目的 ID。
source_language_code (str) – 可选。如果知道输入文本的 ISO-639 语言代码。如果未指定源语言,API 将尝试自动识别源语言并在响应中返回源语言。
target_language_codes (collections.abc.MutableSequence[str] | None) – 必需。用于翻译输入文档的 ISO-639 语言代码。在此处最多指定 10 个语言代码。
location (str | None) – 可选。发起调用的项目或位置。必须引用调用者的项目。如果未指定,则使用 “global”。使用 AutoML 模型或自定义词汇表请求时,需要非全局位置。模型和词汇表必须在同一区域内(具有相同的位置 ID)。
input_configs (collections.abc.MutableSequence[google.cloud.translate_v3.types.BatchDocumentInputConfig | dict]) – 输入配置。匹配的文件总数应 <= 100。要翻译的内容总大小应 <= 100M Unicode 代码点。这些文件必须使用 UTF-8 编码。
output_config (google.cloud.translate_v3.types.BatchDocumentOutputConfig | dict) – 输出配置。如果 2 个输入配置与同一文件匹配(即,相同的输入路径),则不会为重复的输入生成输出。
format_conversions (collections.abc.MutableMapping[str, str] | None) –
可选。应用于所有输入文件的文件格式转换映射。映射键是原始 mime_type。映射值是翻译文档的目标 mime_type。支持的文件格式转换包括
application/pdf
到application/vnd.openxmlformats-officedocument.wordprocessingml.document
如果未指定任何内容,则输出文件将与原始文件格式相同。
customized_attribution (str | None) – 可选。此标志用于支持用户自定义归因。如果未提供,则默认为
由 Google 机器翻译
。自定义归因应遵循 https://cloud.google.com/translate/attribution#attribution_and_logos 中的规则enable_shadow_removal_native_pdf (bool) – 可选。如果为 true,则使用文本删除服务器删除原生 PDF 翻译中背景图像上的阴影文本。只有在
is_translate_native_pdf_only
和pdf_native_only
都为 False 时,才能启用阴影删除功能。enable_rotation_correction (bool) – 可选。如果为 true,则在 DVS 中启用自动旋转校正。
models (collections.abc.MutableMapping[str, str] | None) –
可选。用于翻译的模型。映射的键是目标语言代码。映射的值是模型名称。值可以是内置的通用模型,也可以是 AutoML 翻译模型。值的格式取决于模型类型
AutoML 翻译模型:
projects/{项目编号或 ID}/locations/{位置 ID}/models/{模型 ID}
通用(内置)模型:
projects/{project-number-or-id}/locations/{location-id}/models/general/nmt
,
如果映射为空,或者未针对某种语言对请求特定模型,则使用默认的 Google 模型 (NMT)。
glossaries (collections.abc.MutableMapping[str, google.cloud.translate_v3.types.TranslateTextGlossaryConfig] | None) – 要应用的词汇表。它以目标语言代码为键。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault | None) – 指定应该重试哪些错误(如果有)。
timeout (float | google.api_core.gapic_v1.method._MethodDefault) – 此请求的超时时间。
metadata (collections.abc.Sequence[tuple[str, str]]) – 应与请求一起作为元数据发送的字符串。
- 返回
来自 API 响应的批量翻译文档结果。
- 返回类型