中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

代碼改變世界

手把手教你(ni)打(da)造一(yi)個(ge)更懂你(ni)的AI翻譯助手!

2025-08-23 17:50  AlfredZhao  閱讀(361)  評論(0)    收藏  舉報

手(shou)把手(shou)AI Agent系(xi)列教(jiao)程(cheng):

  • 如何用 Dify + Oracle + DeepSeek 來打造一個更懂你的AI翻譯助手!

fmt-fy


一、為什么需要AI翻譯助手?

傳統人工(gong)翻譯行業的核心痛(tong)點(dian):

  • 人工翻譯效率低、成本高
  • 專業文檔中英文術語眾多,語境依賴強
  • 不同譯者風格不同,專業術語更新快、難統一

AI時代下,為(wei)什么(me)不直接使用LLM翻譯?

  • 雖然目前主流大模型的能力都已經做很好的通用翻譯工作,但是具體到專業領域,因為會涉及很多特定專業術語,甚至是私域的一些DIY需求,這些LLM都是不知道的,需要我們來額外告知它。
  • 若直接使用LLM翻譯,就需要用戶在每次翻譯時都通過提示詞來交互告知LLM。雖然看起來簡單,但其實這樣不僅不靈活,還存在一系列棘手的問題。比如專業術語表通常會有不定時更新,提示詞也需要對應同步修改,又比如專業術語過多時,會導致提示詞過長,匹配翻譯的過程中也更容易出現幻覺導致翻譯錯誤。

因此,我們需(xu)要利用(yong) Dify 編排工作流 + Oracle 存(cun)儲術語(yu)表 + DeepSeek 高性價比大模型,實現術語(yu)優先、上下文自然的智能(neng)翻譯(yi)助手,輕松搞定專業文檔翻譯(yi),節省人力成本!

技術組件 角色與優勢
Oracle 數據庫 作為術語表的存儲中心,支持高效查詢并保障數據安全
Dify 工作流平臺 多節點編排 + 靈活變量傳遞 + 易維護提示詞系統
DeepSeek 模型 國產開源大模型,性價比高、響應速度快、支持私有部署

二、翻譯助手的實現原理

翻譯助(zhu)手的實(shi)現原理拆解如下(xia):

  • 首先需要將專業術語定義到數據庫中的一張表(這張術語表可開放給專業管理人員來進行維護)
  • 用戶輸入需要翻譯的原文,數據庫會自動處理提取出原文中的專業術語
  • 根據術語表強制替換,保持一致性
  • 非術語內容由 LLM 自然翻譯
  • 輸出流暢、準確、術語統一的專業中文結果

term-translate-drawio


三、翻譯助手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數據庫一體機

為什么(me)定義這(zhe)樣(yang)的(de)術(shu)語(yu),因為LLM再強大,默認(ren)也(ye)絕(jue)不(bu)會(hui)這(zhe)么(me)翻譯(yi)(yi),如此能快(kuai)速驗證術(shu)語(yu)翻譯(yi)(yi)效果。

另外這樣定義,其實也不是完全胡編,有一定的適用場景,比如Oracle很多資料介紹,都是Global層面的,原文只會講Oracle如何如何,而針對國內市場的宣傳,很多時候又需要強調是Oracle中國
數據庫一體機在國內也是有相當多的產品,當在純中文場景描述時,加上原廠標識可以讓用戶快速理解(jie)這是Oracle公司的(de)一(yi)體機產(chan)品。

注:這(zhe)個(ge)用例(li)是(shi)極致簡化之(zhi)后(hou)的,以至于有讀者會覺得這(zhe)么(me)簡單直接(jie)把需(xu)求給LLM處理不也行(xing)?但真實場景下,術(shu)語會有很多,且(qie)可能(neng)不斷更新,且(qie)不同領域的術(shu)語也是(shi)完全(quan)不同,總不能(neng)每次都去調整(zheng)提示詞。


四、翻譯助手Demo實現

下面我們就(jiu)手把手的演(yan)示如何(he)具體實(shi)現這個(ge)Demo:

1.創建術語表

創建一張術語表,用于存放術語。
這里在建表之后(hou)手工(gong)插入3條術語定義,用于直觀演示Demo效果:

--創建術語表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.創建匹配英文術語函數

定(ding)義一個函數,可接(jie)受原(yuan)始文本,用于(yu)匹配篩選出其中的英(ying)文術(shu)語:

--創建一個匹配英文術語的函數
--后續可以添加一個區分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;

注:這(zhe)里測試階段術(shu)語較(jiao)少,使用(yong)的是(shi)REGEXP_LIKE + 游標遍歷的方(fang)式(shi);但(dan)實際上(shang)如果術(shu)語特別多,這(zhe)種方(fang)式(shi)效率不高(gao),可選擇適合的數據庫特性進一步優化方(fang)案,以后有機(ji)會分享,現(xian)Demo階段暫不考(kao)慮。

3.為智能體編排工作流

使用Dify連(lian)接Oracle數據庫的插(cha)件(jian)選擇的是這(zhe)個db_query:

連接信息說明如下:

Dify編排的(de)工作流越簡單越好:

  • 開始START節點,用戶可以自定義輸入文本
  • 數據庫查詢SQL QUERY節點,連接到Oracle數據庫調用函數match_english_terms()
  • 大語言模型LLM節點,配置好提示詞,調用指定的LLM模型執行翻譯任務
  • 結束END節點,輸出最終結果
  • 增加一個END2節點,想更直觀快捷的看到提取后術語情況(可選項,只是方便調試使用)

關于LLM的節點(dian),因為(wei)Demo比較簡(jian)單,提示(shi)詞寫的也(ye)簡(jian)單,當然你(ni)也(ye)可以測(ce)試改寫為(wei)適(shi)合你(ni)場(chang)景的更(geng)加專業的提示(shi)詞:

  • system:
    你是(shi)一個專業的技術(shu)文(wen)檔翻譯助手(shou),能夠識別指定術(shu)語并嚴格替換,同時將(jiang)非術(shu)語部(bu)分自然翻譯,最終組合(he)成流(liu)暢的中文(wen)。請優先匹配最長術(shu)語,大小寫敏感。

  • user:
    請將以下英文內容翻譯為中文:{{#1753434053258.user_input#}}
    需要替換的術(shu)語如(ru)下:{{#1754555934960.text#}}


五、翻譯助手Demo最終效果

最后翻譯(yi)助(zhu)手的測試可(ke)以得到我們所期望的結果,如下:

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

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

可以看到兩個測試用例,均按(an)照(zhao)我們的(de)期望(wang),替(ti)換了專(zhuan)業術語,翻譯準確。

順(shun)便提(ti)下(xia),這里(li)用例2后(hou)面(mian)的(de)“說(shuo)明”,是LLM自己輸出的(de),如(ru)果(guo)不想要(yao)這樣的(de)說(shuo)明,也是可以在提(ti)示詞(ci)那(nei)里(li)要(yao)求下(xia),比如(ru)只要(yao)最終翻(fan)譯結果(guo)的(de)輸出,不要(yao)任何其(qi)他(ta)信息輸出即(ji)可。

至此,我(wo)們使用 Dify + Oracle + DeepSeek 成功打造出一(yi)個(ge)更懂你(ni)的翻譯助手。