手把手教你打造一个更懂你的AI翻译助手!

手把手AI Agent系列教程:

  • 如何用 Dify + Oracle + DeepSeek 来打造一个更懂你的AI翻译助手!

一、为什么需要AI翻译助手?

传统人工翻译行业的核心痛点:

  • 人工翻译效率低、成本高
  • 专业文档中英文术语众多,语境依赖强
  • 不同译者风格不同,专业术语更新快、难统一

AI时代下,为什么不直接使用LLM翻译?

  • 虽然目前主流大模型的能力都已经做很好的通用翻译工作,但是具体到专业领域,因为会涉及很多特定专业术语,甚至是私域的一些DIY需求,这些LLM都是不知道的,需要我们来额外告知它。
  • 若直接使用LLM翻译,就需要用户在每次翻译时都通过提示词来交互告知LLM。虽然看起来简单,但其实这样不仅不灵活,还存在一系列棘手的问题。比如专业术语表通常会有不定时更新,提示词也需要对应同步修改,又比如专业术语过多时,会导致提示词过长,匹配翻译的过程中也更容易出现幻觉导致翻译错误。

因此,我们需要利用 Dify 编排工作流 + Oracle 存储术语表 + DeepSeek 高性价比大模型,实现术语优先、上下文自然的智能翻译助手,轻松搞定专业文档翻译,节省人力成本!

技术组件 角色与优势
Oracle 数据库 作为术语表的存储中心,支持高效查询并保障数据安全
Dify 工作流平台 多节点编排 + 灵活变量传递 + 易维护提示词系统
DeepSeek 模型 国产开源大模型,性价比高、响应速度快、支持私有部署

二、翻译助手的实现原理

翻译助手的实现原理拆解如下:

  • 首先需要将专业术语定义到数据库中的一张表(这张术语表可开放给专业管理人员来进行维护)
  • 用户输入需要翻译的原文,数据库会自动处理提取出原文中的专业术语
  • 根据术语表强制替换,保持一致性
  • 非术语内容由 LLM 自然翻译
  • 输出流畅、准确、术语统一的专业中文结果

三、翻译助手Demo设计

测试用例:

  • Oracle Exadata Database Machine is powerful.
  • Oracle Database Appliance delivers exceptional cost-effectiveness for enterprise database workloads.

术语定义:

  • Oracle -> 甲骨文中国
  • Exadata Database Machine -> 原厂Exadata数据库一体机
  • Oracle Database Appliance -> 原厂ODA数据库一体机

为什么定义这样的术语,因为LLM再强大,默认也绝不会这么翻译,如此能快速验证术语翻译效果。

另外这样定义,其实也不是完全胡编,有一定的适用场景,比如Oracle很多资料介绍,都是Global层面的,原文只会讲Oracle如何如何,而针对国内市场的宣传,很多时候又需要强调是Oracle中国

数据库一体机在国内也是有相当多的产品,当在纯中文场景描述时,加上原厂标识可以让用户快速理解这是Oracle公司的一体机产品。

注:这个用例是极致简化之后的,以至于有读者会觉得这么简单直接把需求给LLM处理不也行?但真实场景下,术语会有很多,且可能不断更新,且不同领域的术语也是完全不同,总不能每次都去调整提示词。


四、翻译助手Demo实现

下面我们就手把手的演示如何具体实现这个Demo:

1.创建术语表

创建一张术语表,用于存放术语。

这里在建表之后手工插入3条术语定义,用于直观演示Demo效果:

SQL 复制代码
--创建术语表glossary,关键字段只有term和translation
--我这里加了domain字段,但目前测试还未用到,可以暂时忽略,默认为TEST业务域
CREATE TABLE glossary (
    id             NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, 
    term           VARCHAR2(200) NOT NULL,      -- 英文术语
    translation    VARCHAR2(500),               -- 中文翻译
    domain VARCHAR2(50) DEFAULT 'TEST',         -- 业务域
    CONSTRAINT glossary_uk UNIQUE (term,domain) -- 保证 同一domain内 term 唯一
);

--插入示例术语:
insert into glossary(term, translation) values ('Oracle','甲骨文中国');
insert into glossary(term, translation) values ('Exadata Database Machine','原厂Exadata数据库一体机');
insert into glossary(term, translation) values ('Oracle Database Appliance','原厂ODA数据库一体机');
commit;

2.创建匹配英文术语函数

定义一个函数,可接受原始文本,用于匹配筛选出其中的英文术语:

SQL 复制代码
--创建一个匹配英文术语的函数
--后续可以添加一个区分domain的参数,目前测试期间简化,默认都是TEST域
create or replace FUNCTION match_english_terms(
    p_input IN VARCHAR2
) RETURN VARCHAR2 IS
    v_result CLOB := '';

    -- 用于存储游标结果的变量
    v_term VARCHAR2(200);
    v_cn VARCHAR2(200);

    -- 游标定义
    CURSOR cur_full IS 
        SELECT term, translation FROM glossary 
        WHERE REGEXP_LIKE(p_input, '(^|\W)' || term || '(\W|$)', 'i');

BEGIN
    -- 处理完整英文术语匹配
    FOR rec IN cur_full LOOP
        v_result := v_result || '英文: ' || rec.term || '; 中文: ' || rec.translation || CHR(10);
    END LOOP;

    -- 返回结果,如果超过4000字节则截断
    IF LENGTH(v_result) > 4000 THEN
        RETURN SUBSTR(v_result, 1, 4000);
    ELSE
        RETURN v_result;
    END IF;
EXCEPTION
    WHEN OTHERS THEN
        RETURN '错误: ' || SQLERRM;
END match_english_terms;

注:这里测试阶段术语较少,使用的是REGEXP_LIKE + 游标遍历的方式;但实际上如果术语特别多,这种方式效率不高,可选择适合的数据库特性进一步优化方案,以后有机会分享,现Demo阶段暂不考虑。

3.为智能体编排工作流

使用Dify连接Oracle数据库的插件选择的是这个db_query:

连接信息说明如下:

Dify编排的工作流越简单越好:

  • 开始START节点,用户可以自定义输入文本
  • 数据库查询SQL QUERY节点,连接到Oracle数据库调用函数match_english_terms()
  • 大语言模型LLM节点,配置好提示词,调用指定的LLM模型执行翻译任务
  • 结束END节点,输出最终结果
  • 增加一个END2节点,想更直观快捷的看到提取后术语情况(可选项,只是方便调试使用)

关于LLM的节点,因为Demo比较简单,提示词写的也简单,当然你也可以测试改写为适合你场景的更加专业的提示词:

  • system:

    你是一个专业的技术文档翻译助手,能够识别指定术语并严格替换,同时将非术语部分自然翻译,最终组合成流畅的中文。请优先匹配最长术语,大小写敏感。

  • user:

    请将以下英文内容翻译为中文:{{#1753434053258.user_input#}}

    需要替换的术语如下:{{#1754555934960.text#}}


五、翻译助手Demo最终效果

最后翻译助手的测试可以得到我们所期望的结果,如下:

  • 用例1:Oracle Exadata Database Machine is powerful.

  • 用例2:Oracle Database Appliance delivers exceptional cost-effectiveness for enterprise database workloads.

可以看到两个测试用例,均按照我们的期望,替换了专业术语,翻译准确。

顺便提下,这里用例2后面的"说明",是LLM自己输出的,如果不想要这样的说明,也是可以在提示词那里要求下,比如只要最终翻译结果的输出,不要任何其他信息输出即可。

至此,我们使用 Dify + Oracle + DeepSeek 成功打造出一个更懂你的翻译助手。

相关推荐
板板正4 小时前
SpringAI——向量存储(vector store)
java·spring boot·ai
即兴小索奇5 小时前
【无标题】
人工智能·ai·商业·ai商业洞察·即兴小索奇
TDengine (老段)7 小时前
TDengine IDMP 最佳实践
大数据·数据库·物联网·ai·时序数据库·tdengine·涛思数据
星域智链8 小时前
车载 GPS 与手机导航的终极对决:谁在复杂路况下更胜一筹?
大数据·科技·ai
雅菲奥朗11 小时前
雅菲奥朗SRE知识墙分享(一):『SRE对智能运维领域所产生的深远影响』
运维·ai·sre
即兴小索奇11 小时前
AI适老服务暖人心:AI适老机顶盒破数字鸿沟、毫米波雷达护独居安全,银发生活新保障
人工智能·ai·语音识别·商业·ai商业洞察·即兴小索奇
♡喜欢做梦14 小时前
企业级大模型解决方案:架构、落地与代码实现
人工智能·ai·架构
TDengine (老段)14 小时前
TDengine IDMP 应用场景:微电网监控
大数据·数据库·物联网·ai·时序数据库·tdengine·涛思数据
admiraldeworm1 天前
Spring Boot + Spring AI 最小可运行 Demo
java·人工智能·ai