立项背景:制造业/工程企业积累了大量德语技术论坛日志(含零件号、扭矩、测量规格)及工程图纸附件,存在语言障碍且难以直接喂给 RAG 检索系统;人工翻译成本高,且极易在翻译中丢失或改写关键参数。目标:构建一条自动化管线,将原始德语日志清洗、翻译为英文,封装成 RAG 就绪的结构化 Markdown 知识库,核心技术参数 100% 保真。
核心功能模块:
1) 噪音清洗——自动剔除论坛签名、导航条、邮件页脚,同时保留供应商联系方式与技术引用;
2) 保真翻译——抽取零件号/扭矩/测量等实体并掩码,仅翻译普通文本,再逐字节回注原值,附计数校验闸门;
3) 附件富集——图像两级过滤 + 视觉大模型(VLM)结构化提取工程元数据;
4) Markdown 封装——YAML 头 + 面包屑元数据注入;
5) 日志合并——按宏域合并为主日志,供向量库分块入库。
业务流程:原始德语日志 → 清洗 → 实体掩码 → 翻译 → 回注 → 校验闸门 → 英文 Markdown(含元数据)→ 按域合并 → RAG 入库。
整体架构:采用"掩码-翻译-回注-校验"四步契约保证参数保真,且与翻译引擎解耦——更换翻译/视觉引擎不影响保真不变式。技术栈:Python 标准库(正则实体抽取、布局感知数据结构);翻译层可插拔(演示用离线词典,生产切 DeepL API + 术语表、temperature 0);文档解析生产用 Docling/Unstructured/OCRmyPDF;图像元数据用 GPT-4o/Claude + JSON schema;分块用 LangChain MarkdownHeaderTextSplitter。
我负责的模块与结果:独立设计并实现全部管线。量化结果——3 条德语线程端到端处理,19/19 受保护实体逐字节保留,保真闸门 100% PASS;生成 2 个宏域主日志;分块保元数据从 naive 2/5 提升到 safe 5/6;纯标准库零依赖、开箱即跑。
难点与解决:
1) LLM 翻译会幻觉或改写字母数字零件号——解法:翻译前用哨兵占位符掩码实体、翻译后逐字节回注,并用"实体计数 + 逐值比对"闸门拦截,任一不符即标记、不交付;
2) 合并文档被 RAG 切成 500-token 块后会丢失顶层元数据——解法:在每个 H1 注入面包屑元数据并让分块器传播,保证每块仍可追溯来源;
3) 清洗易误删供应商联系人行(如把 "Beitrag" 里的 "ag" 误判为公司后缀 AG)——解法:给保留关键词加双词边界,签名块整段剔除但联系人行优先保留。