使用 Dify 构建多语言文档翻译工具
摘要: 本文介绍如何利用开源低代码平台 Dify 和 DeepSeek R1 LLM,快速搭建企业级多语言文档翻译应用。通过可视化工作流、文件迭代提取及大模型提示词工程,实现无需编码的自动化批量翻译与风格适配,显著提升跨语言协作效率。
引言
在人工智能应用开发迅速演进的当下,低代码平台正在彻底改变企业实施智能解决方案的方式。Dify 作为一个变革性的开源平台,赋能团队以极少的代码工作量构建、部署和扩展 AI 驱动的工作流。其模块化架构和可视化工作流设计,实现了从文档处理到多语言协作的无缝集成,同时抽象化了基础设施的复杂性。
本文将结合 DeepSeek R1(一种强大的大语言模型)与开源低代码开发平台 Dify,演示如何快速构建一个企业级的多语言文档翻译工具。借助 Dify 的无缝整合能力,用户无需复杂的编程即可实现文档解析、风格化翻译和批量处理,从而显著提高跨语言协作效率。无论是技术手册的精准翻译,还是多语言营销内容的灵活适配,该方案均可通过模块化工作流轻松落地,为全球团队提供高性价比且高度可控的 AI 解决方案。
Backend as a Service:使用 Dify Low-Code 构建 AI 应用后端
前置条件
- 申请 DeepSeek API Key。
- 注册一个 Dify 账号。
方法一:通过 DeepSeek API Open Platform 获取密钥
访问 DeepSeek API Open Platform,并按照屏幕指示申请 API Key。
注意:如果链接无法访问,可以考虑在本地部署 DeepSeek。
参考文章:Dify x DeepSeek: Deploy a Private AI Assistant & Build a Local DeepSeek R1 + Web Search App
方法二:通过第三方模型平台获取密钥
(此处省略具体第三方平台步骤,通常指接入支持 DeepSeek 模型的聚合 API)
注册 Dify
Dify 是一个帮助你快速构建生成式 AI 应用的平台。通过与 DeepSeek API 集成,你可以迅速创建一个易于使用的 DeepSeek AI 应用程序。
连接 DeepSeek 到 Dify
- 访问 Dify 平台。
- 点击右上角头像 -> Settings (设置) -> Model Provider (模型提供商)。
- 找到 DeepSeek。
- 粘贴你之前获取的 API Key。
- 点击 Save (保存)。验证成功后会显示成功消息。
创建应用
进入 Studio,点击 Create from Blank (从空白创建) -> Workflow (工作流)。
Chatflow 和 Workflow 有什么区别?
在 Dify 的高级应用类型中,主要有两种:Chatflow 和 Workflow。
* Chatflow:更像是一个聊天机器人(Bot),能够与用户进行循环交互。
* Workflow:更像是一段脚本,仅在调用时执行一次,通常用作应用程序后端或批处理任务。
你需要根据构建的应用场景选择合适的应用类型。在本演示中,我们将选择 Workflow (工作流) 类型。
构建设计工作流
进入应用后,你可以通过添加和连接节点来编辑工作流,无需编写代码。以下展示如何创建一个文档翻译工具:
1. Start Node(开始节点)
在开始节点中:
* 点击 + 号添加一个类型为 File (文件) 的变量。
* 将文件类型设置为 File List。
* 设置允许的文件格式为 Document。
* 将该变量命名为 file。
* 限制翻译风格,例如:Formal(正式)、Professional(专业)、Casual(随意)、Enthusiastic(热情)、Humorous(幽默)。
* 点击 + Add Option type variables (添加选项类型变量)。
* 输入每个选项的内容。
* 将变量名设置为 style。
2. Iteration(迭代节点)
在 Start Node 中,我们设置了一个文件列表。为了避免重复构建设计工作流中的其他节点,Dify 引入了 Iteration (迭代) 节点。在该节点内,工作流会完整执行所有列表类型的变量,并分别输出结果。
有关迭代的详细说明,请参考官方文档:Documentation -> Iteration。
接下来,我们将在迭代节点内部进一步配置工作流:
- 添加迭代节点:在 Start Node 之后添加一个 Iteration 节点。你会发现它像一个小型的工作流,包含输入变量和输出变量。在此处,将 Iteration 节点的输入变量设置为
file(即开始节点中的文件列表)。 - 文档提取 (Document Extractor):由于 LLM 无法直接读取上传的文档内容,你需要添加一个 Document Extractor 节点,将文档内容转换为文本格式供 LLM 阅读。该节点的输入变量应连接至 Start Node 中的
file文件(注意在迭代上下文中通常指向当前迭代的单个文件)。 - 大模型 (LLM) 节点:在 Document Extractor 之后添加一个 LLM 节点,并设置系统提示词(System Prompt)和用户输入。
System Prompt 配置
以下是推荐的系统提示词模板:
<Role>
You are a Chinese-English translation expert, translating user input from Chinese to English, or user input from English to Chinese.
</Role>
<Task>
You need to follow the required translation style. For non-Chinese content, it will provide Chinese translation results. Users can send content to the assistant for translation, and the assistant will answer with corresponding translation results, ensuring compliance with Chinese language habits. You can adjust the tone and style, and consider the cultural connotations and regional differences of certain words.
As a translator, the translation should be in accordance with the standards of fidelity, expressiveness and elegance:
- "Fidelity" means being faithful to the content and intention of the original text;
- "Expressiveness" means that the translation should be smooth and easy to understand, and the expression should be clear;
- "Elegance" seeks the cultural aesthetics and beauty of the language in the translation.
The goal is to create translations that are both faithful to the spirit of the original and conform to the aesthetic appreciation of the target language culture and readers.
Translation Style: {{style}}
</Task>
<Limitation>
Do not output irrelevant nonsense.
</Limitation>
(注:原文中提示词部分存在重复,上述代码块已去重并整理为标准 XML 格式以便阅读)
3. End Node(结束节点)
配置完迭代内部逻辑后,你需要在 Iteration 外部添加一个 End (结束) 或 Answer 节点来收集所有迭代的输出结果。通常使用“聚合”功能将所有翻译后的文本合并为一个列表返回给用户。
原文图片









