翻译
翻译管道用于在不同语言之间翻译文本。它支持超过 100 种语言。内置自动源语言检测功能。此管道检测每个输入文本行的语言,为源-目标组合加载模型,并将文本翻译成目标语言。
示例
下面显示了使用此管道的一个简单示例。
from txtai.pipeline import Translation
# Create and run pipeline
translate = Translation()
translate("This is a test translation into Spanish", "es")
有关更详细的示例,请参阅下方链接。
笔记本 | 描述 | |
---|---|---|
在不同语言之间翻译文本 | 简化机器翻译和语言检测 |
配置驱动示例
管道可以使用 Python 或配置运行。可以在 配置 中使用管道的小写名称实例化管道。配置驱动的管道通过 工作流 或 API 运行。
config.yml
# Create pipeline using lower case class name
translation:
# Run pipeline with workflow
workflow:
translate:
tasks:
- action: translation
args: ["es"]
使用工作流运行
from txtai import Application
# Create and run pipeline with workflow
app = Application("config.yml")
list(app.workflow("translate", ["This is a test translation into Spanish"]))
使用 API 运行
CONFIG=config.yml uvicorn "txtai.api:app" &
curl \
-X POST "http://localhost:8000/workflow" \
-H "Content-Type: application/json" \
-d '{"name":"translate", "elements":["This is a test translation into Spanish"]}'
方法
此管道的 Python 文档。
__init__(path=None, quantize=False, gpu=True, batch=64, langdetect=None, findmodels=True)
构建一个新的语言翻译管道。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
path
|
可选的模型路径,接受 Hugging Face 模型中心 ID 或本地路径,如果未提供,则使用任务的默认模型 |
None
|
|
quantize
|
模型是否应量化,默认为 False |
False
|
|
gpu
|
是否应启用 GPU,True/False,也支持 GPU 设备 ID |
True
|
|
batch
|
用于增量处理内容的批量大小 |
64
|
|
langdetect
|
设置一个自定义语言检测函数,该方法必须接受一个字符串列表并为每个字符串返回语言代码,如果未提供,则使用默认语言检测器 |
None
|
|
findmodels
|
是否在 Hugging Face Hub 中搜索源-目标翻译模型,True/False |
True
|
源代码位于 txtai/pipeline/text/translation.py
中
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
|
__call__(texts, target='en', source=None, showmodels=False)
将文本从源语言翻译成目标语言。
此方法支持字符串或列表作为输入文本。如果输入是字符串,则返回类型为字符串。如果输入文本是列表,则返回类型为列表。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
texts
|
text|list |
必需 | |
target
|
目标语言代码,默认为“en” |
'en'
|
|
source
|
源语言代码,如果未提供则检测语言 |
None
|
返回值
类型 | 描述 |
---|---|
翻译后的文本列表 |
源代码位于 txtai/pipeline/text/translation.py
中
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
|