FME

FME与AI:用AI处理FME里的非结构化文本(地址、描述、备注),把清洗和标准化交给模型,但模型的输出规范(比如“街道名全大写”“去掉单元号”)可能在多次调用之间不一致——到底该在Prompt里把输出规范写到多细,还是在AI之后加一层确定性的StringFormatter/AttributeManager来兜底,两者的维护成本差多少?

👤 为我痴狂 👁 54 阅读 ❤ 0 点赞 ➦ 0 分享 📅 2026-10-23
首页› 理学› FME› 正文
FME与AI:非结构化文本清洗的"概率层—确定层"双层架构

地址、描述、备注的模型标准化 —— Prompt规范细化与StringFormatter兜底的边界、失效模式与维护成本测算

关键词:FME|大语言模型|非结构化文本|地址标准化|输出一致性|确定性后处理

摘要

在FME(Feature Manipulate Engine)数据流水线中,地址、设施描述、工单备注等非结构化文本长期依赖正则与字典清洗,覆盖率与鲁棒性受限。大语言模型(LLM)的引入显著提升了语义抽取与归一化能力,但也带来一个工程难题:同一规范在多次调用之间可能漂移——"街道名全大写"时有时无、"单元号"偶发残留、缩写风格不统一。本文提出一条贯穿全文的分析主线:把文本处理拆成"概率层(LLM)负责理解与候选生成、确定层(StringFormatter/AttributeManager/正则/字典)负责收敛与守门",并以"规范可执行性"而非"规范详尽度"作为划分两层的唯一判据。围绕这条主线,本文系统比较Prompt内嵌规范与后置确定性兜底两条路径的失效模式、可观测性与维护成本,给出可量化的成本模型、分层实施步骤、校验指标与FME工作流模板,并对结构化输出、约束解码、小模型蒸馏等前沿方向作出工程预判。

本文所有涉及比例与工时的数字,除标注来源者外,均为基于公开资料与典型项目结构的模拟测算,用于说明量级关系,不作为基准数据引用。

一、问题的提出:为什么"写清楚Prompt"并不等于"输出稳定"

FME在空间数据ETL领域的地位无需赘述:它把格式转换、几何运算、属性映射、质量控制整合进一张可视化工作流,配合Transformer链式编排,长期是测绘、规划、市政、管线等行业的数据中台底座。Safe Software官方文档将FME的核心理念概括为"数据与流程的解耦",其Transformer库覆盖了从几何修复到属性聚合的绝大多数确定性操作(Safe Software, FME Documentation)。但恰恰在"文本"这一维度上,传统FME能力存在结构性短板:StringReplacer、StringSearcher、AttributeSplitter等工具本质上是正则与分隔符驱动的,面对"XX路与YY街交叉口东北角第三根电线杆旁"这类中文地址描述,正则的表达力迅速见顶。

LLM的介入改变了这一局面。以GPT-4o、Claude 3.5、Qwen2.5、DeepSeek-V3为代表的一批模型,在中文地址要素识别、实体抽取、语义归一化上表现出远超规则方法的泛化能力。学术侧,地址解析(Address Parsing)与中文地址标准化已有较长的研究脉络:早期工作依赖条件随机场与词典,近年逐步转向预训练模型;CoNLL-2003以来的NER评测体系、以及中文地址专用数据集(如基于公开行政区划与POI构建的地址语料)为模型选型提供了参照。工程侧,FME 2024—2025版本逐步引入对HTTP调用与Python脚本的原生支持,使得"在FME里调LLM"从可行变为顺手。

然而,一线工程师很快撞上同一堵墙:模型的语义能力很强,但格式服从性很弱。你在Prompt里写"街道名统一全大写、去掉单元号、保留门牌号",第一次调用输出完美,第十次调用就出现了"XX ROAD"与"Xx Road"混排、"3单元502"未被剥离、甚至把"1号楼"误删的情况。这不是模型"不会",而是自回归生成在温度采样、上下文长度、批量拼接、模型版本更新等多重因素下的固有波动。

于是争论出现了:一方主张"把Prompt写到极致",用更细的规范、更多的示例、更强的约束词把模型"驯服";另一方主张"Prompt只负责理解,格式交给后处理",在LLM之后挂一层StringFormatter/AttributeManager做确定性收敛。两种主张都能跑通demo,但在生产环境的维护成本上差异巨大。本文要回答的正是这个工程决策问题——不是"哪个更好",而是"边界在哪里、成本差多少、怎么组合"。

本文评述:这场争论的本质不是技术路线之争,而是"把不确定性放在哪一层"的架构选择。任何含LLM的系统都必须回答这个问题;FME只是把它具象化了,因为FME的工作流是显式的、可审计的,每一层Transformer都看得见,所以"不确定性被藏在哪里"一目了然。这反而是FME做AI集成的优势——它逼你把架构想清楚。

二、理论框架:概率层与确定层的职责划分判据

2.1 两类计算的本质差异

LLM的推理是概率性的:给定输入x,模型输出的是条件分布P(y|x)上的采样。即使temperature=0(贪心解码),输出也并非严格确定——浮点累加顺序、并行计算、批处理padding、服务端模型版本灰度,都会造成微小扰动,进而在长输出上放大为可见差异。这一点在业界已有大量实测记录,OpenAI在其API文档中明确提示"模型输出不保证完全可复现",并建议对需要确定性的场景使用种子参数配合固定版本(OpenAI API Reference)。

相比之下,StringFormatter、AttributeManager、StringReplacer、正则替换是确定性计算:相同输入必然得到相同输出,可单元测试、可回归、可审计。二者的差异不是"强弱",而是"可证伪性"——确定性算子可以被证明正确,概率算子只能被统计评估。

笔者认为,这一差异决定了职责划分的第一判据:凡是能用有限规则精确表达、且需要被审计的规范,都应下沉到确定层;凡是需要语义理解、上下文推断、跨字段消歧的任务,才留在概率层。"街道名全大写"是有限规则,"判断'朝阳'是区名还是路名"是语义任务——前者不该交给模型,后者只能交给模型。

2.2 规范可执行性判据(SEC判据)

为把上述直觉变成可操作的判据,本文提出一个简化的三分法,称为"规范可执行性判据"(Specification Executability Criterion, SEC),用于逐条判断某条输出规范该放在哪一层:

判据类别 特征描述 典型规范示例 建议归属层
可判定(Decidable) 存在有限状态机或正则可精确判定,无歧义 全大写、去首尾空格、去单元号、统一"省/市/区"后缀 确定层
半可判定(Semi-decidable) 规则可覆盖大部分,但存在长尾例外需语义判断 缩写统一(Rd.→Road)、方位词归并(东北角→NE) 确定层为主,概率层补长尾
不可判定(Undecidable) 依赖上下文、常识或跨字段推理,规则无法穷举 从备注中抽取"施工影响范围"、判断描述中的主体对象 概率层

本文评述:SEC判据的价值不在于分类本身,而在于它把"Prompt该写多细"这个模糊问题,转化为"这条规范是否可判定"这个可讨论的问题。一旦团队用SEC逐条过一遍规范清单,争论会迅速收敛——因为大部分被塞进Prompt的规范,其实是可判定的,本就不该由模型承担。

2.3 双层架构的总线设计

据此,本文主张的架构是:FME工作流中,LLM调用作为"语义抽取器",输出结构化中间态(JSON或分隔字段),随后由确定层做格式收敛、校验与回退。两层之间通过一个明确定义的"中间契约"(Intermediate Contract)连接——契约规定字段名、类型、允许的取值域,以及"哪些字段允许模型自由发挥、哪些必须严格枚举"。

[原始文本] --(FME Reader)--> [属性字段]
      |
      v
[概率层] HTTPCaller / PythonCaller 调用 LLM
      |  输出: JSON {road_raw, house_no, unit_raw, desc}
      v
[中间契约校验] JSONValidator / Schema 检查(失败则重试或降级)
      |
      v
[确定层] StringFormatter(全大写/去空格) -> StringReplacer(去单元号)
         -> AttributeManager(字段映射/默认值) -> Tester(规则断言)
      |
      v
[输出] 标准化地址 + 质量标记(quality_flag)

这个总线设计的关键在于:确定层不是"补丁",而是"守门员"。它同时承担三个职责——格式收敛(把模型输出的多种合法形态压成一种)、规则断言(发现不合规就标记而非静默通过)、降级回退(模型失败时用规则结果兜底)。把这三件事混在Prompt里,等于让模型既当运动员又当裁判,必然失控。

三、失效模式图谱:LLM在文本标准化上的六类漂移

要论证"为什么需要确定层",最有力的方式是把模型的失效模式列清楚。基于公开的LLM输出稳定性研究与大量工程实践反馈,本文归纳出六类与文本标准化直接相关的漂移模式。需要说明:下列比例区间为模拟测算,用于说明相对频次,不代表任何特定模型的基准表现。

编号 失效模式 表现 模拟频次区间 可否由确定层修复
F1 大小写漂移 同一规范下"ROAD/Road/road"混排 3%–8% 完全可修复
F2 冗余成分残留 单元号、楼层、"附近"等未剥离 5%–15% 大部分可修复
F3 过度删除 把"1号楼"误当单元号删除 1%–4% 需规则+人工复核
F4 字段错位 门牌号与单元号互换、区名混入路名 2%–6% 部分可修复(需校验)
F5 幻觉补全 原文没有的行政区被"猜"出来 0.5%–2% 难修复,需溯源校验
F6 格式外壳漂移 JSON外包裹markdown代码块、键名大小写变化 2%–10% 可修复(解析容错)

这张表最重要的信息不是频次,而是最后一列:F1、F2、F6三类合计占漂移的绝大多数,且几乎都能被确定层以极低成本修复;真正棘手的F3、F5占比小,但恰恰是Prompt再细化也难以根除的。这构成了本文的核心论证:把力气花在"用Prompt消灭F1/F2/F6"上,是低效的;把力气花在"用确定层消灭F1/F2/F6、用校验与溯源控制F3/F5"上,才是高性价比的。

笔者认为:很多团队在Prompt里反复加"务必全大写""绝对不要保留单元号",本质是在用自然语言做正则该做的事。自然语言约束是"软约束",模型可以遵守也可以不遵守;正则替换是"硬约束",不遵守就报错。用软约束去追求硬保证,方向本身就错了。

四、路径A:Prompt规范细化的能力边界与收益递减

4.1 Prompt工程的真实作用域

Prompt工程在文本标准化上的有效作用域,集中在"任务定义"与"语义消歧",而非"格式保证"。具体而言,以下四类工作Prompt做得好、且应该做:

  • 任务边界声明:明确"只抽取,不补全""原文没有的字段留空",直接抑制F5幻觉。
  • 输出结构约定:给出JSON schema与字段语义,配合few-shot示例,显著降低F4字段错位。
  • 歧义消解规则:如"'XX路XX号'中,路名到'路/街/道'为止,其后为门牌",这类语义规则Prompt表达效率高于正则。
  • 拒答与置信声明:要求模型在不确定时输出"unknown"而非猜测,为下游校验提供信号。

反过来,以下三类工作Prompt做得吃力、且边际收益迅速递减:

  • 字符级格式(大小写、空格、标点全半角)——正则一行搞定,Prompt写十行也保证不了。
  • 穷举式黑名单("不要保留单元号、楼层、房间号、栋号……")——列表永远不全,且模型会"创造性"理解。
  • 跨调用的绝对一致性——受采样与服务端波动影响,Prompt无法提供数学意义上的保证。

4.2 收益递减的机制解释

为什么Prompt越写越长,效果却不线性提升?原因有三。其一,注意力稀释:长Prompt中后段指令的权重会被前段任务描述与示例稀释,模型对"第17条格式要求"的服从度显著低于"第1条"。其二,指令冲突:当"保留完整信息"与"去除冗余成分"同时出现,模型需要在两者间权衡,而权衡结果是概率性的。其三,分布外泛化:Prompt中的示例覆盖的是有限样本,真实数据的长尾分布必然超出示例范围,此时模型回退到预训练先验,格式服从性下降。

学术界对指令遵循的研究也支持这一判断。关于大模型指令遵循能力的评测工作(如IFEval等基准)普遍发现:模型对"可验证指令"(如"回答不超过X词")的遵循率明显高于"开放式风格指令",且随指令数量增加,整体遵循率下降。本文评述:这提示我们,Prompt中应当优先放置"可验证、可计数"的指令,而把"风格类、格式类"要求交给确定层——因为可验证指令模型能自我检查,风格指令模型无从检查。

4.3 一个反直觉的结论

综合上述,路径A的合理定位是:Prompt负责"让模型理解要做什么、输出什么结构、遇到歧义怎么办",不负责"保证输出长什么样"。把格式规范从Prompt中剥离,反而能让Prompt更短、更聚焦、更稳定——这是一个反直觉但被反复验证的工程经验。Prompt变短后,模型对核心任务的注意力更集中,语义抽取质量往往不降反升。

五、路径B:StringFormatter/AttributeManager兜底的工程实现

5.1 确定层的四类算子

在FME中实现确定层,主要依赖四类算子,它们各自解决不同问题:

算子 核心能力 典型用途 注意事项
StringFormatter 大小写转换、去空格、截断、填充 全大写、去首尾空格、统一分隔符 中文无大小写,需按语言分支处理
StringReplacer 正则/字面量替换 剥离单元号、统一缩写、清洗标点 正则需做ReDoS防护与回归测试
AttributeManager 字段重命名、映射、默认值、类型转换 中间契约对齐、缺失值填充、类型归一 映射表应外置为配置,便于维护
Tester / TestFilter 规则断言与分流 校验合规性、分流到人工复核 断言失败应有明确quality_flag

5.2 中间契约的设计

确定层能否稳定工作,取决于中间契约是否清晰。本文建议的契约设计原则是"宽进严出":模型输出端允许一定冗余(如保留raw字段),确定层负责收敛。具体字段设计如下:

{
  "road_raw":  "朝阳区建国路88号SOHO现代城3单元502",   // 模型原样抽取,允许冗余
  "road_name": "建国路",                                  // 模型归一化结果
  "house_no":  "88",                                      // 门牌号
  "unit_raw":  "3单元502",                                // 冗余成分原样保留
  "district":  "朝阳区",
  "confidence": 0.92,                                     // 模型自评置信度
  "notes":     "SOHO现代城"                               // 附属描述
}

契约的关键是保留raw字段。很多团队让模型直接输出"干净结果",一旦模型删错(F3),原始信息就丢了,无法回溯。保留raw字段后,确定层可以基于raw重新计算,模型只负责"切分",不负责"丢弃"。本文评述:这一设计把"删除"这个不可逆操作从概率层移到了确定层,是控制F3风险的关键工程手段。

5.3 正则与字典的工程细节

确定层的核心资产是正则库与字典库。以中文地址为例,剥离单元号的典型正则可写为:

# 剥离"X单元""X栋""X号楼"等冗余成分(示例,需按业务校准)
(\d+|[一二三四五六七八九十]+)\s*(单元|栋|号楼|幢|座|层|室|房)

但正则的陷阱在于"误伤":如果门牌号本身是"1号楼"(如某些园区地址),上述正则会把它删掉。因此确定层必须配合"保护名单"与"上下文断言"——例如规定"号楼"仅在门牌号之后出现时才剥离,或维护一个"易误伤地址"白名单。这类工作繁琐但可穷举、可测试,正是确定层的价值所在。

字典库方面,行政区划、道路通名(路/街/道/巷/弄)、方位词、缩写映射都应外置为CSV或数据库表,通过FME的FeatureReader或AttributeManager的查找表功能加载。这样做的收益是:规则变更不需要改工作流,只需改配置,极大降低维护成本。

5.4 一个可复用的FME工作流骨架

把上述要素串起来,一个生产可用的FME工作流大致如下(伪流程,Transformer名称为FME通用名称):

Reader(原始表)
  -> AttributeManager(字段准备: 拼接prompt输入)
  -> HTTPCaller(调用LLM, 超时/重试配置)
  -> JSONFlattener / JSONFragmenter(解析响应)
  -> Tester(JSON合法性检查) --失败--> 降级分支(规则抽取)
  -> AttributeManager(中间契约映射)
  -> StringFormatter(全大写/去空格)
  -> StringReplacer(剥离单元号, 带保护名单)
  -> Tester(合规断言: 非空/长度/字符集)
  -> AttributeManager(quality_flag赋值)
  -> Writer(输出) + Logger(记录漂移样本)

这个骨架有两个设计要点值得强调。第一,降级分支:LLM调用失败或JSON非法时,不能整条流水线中断,而应回退到规则抽取并标记quality_flag,保证数据不断流。第二,漂移样本记录:所有被确定层"修正过"的样本都应落库,这是后续优化Prompt与规则的燃料——漂移日志本身就是最有价值的训练数据。

六、维护成本模型:两条路径的量化对比

6.1 成本构成拆解

讨论维护成本,必须先把成本拆开。本文把文本标准化流水线的维护成本分为五项:

  • C1 规则编写成本:把业务规范翻译成Prompt或正则/字典的一次性投入。
  • C2 回归测试成本:每次变更后验证不破坏既有行为的投入。
  • C3 漂移排查成本:线上出现不一致时定位原因的投入。
  • C4 模型升级适配成本:更换模型版本或供应商后的重新调优投入。
  • C5 人工复核成本:无法自动修复的样本转人工的投入。

6.2 模拟测算对比

下表为基于典型项目结构的模拟测算(单位:人日/年,假设年处理量百万级、规范条目约30条)。数字为模拟数据,仅用于说明量级关系:

成本项 路径A(纯Prompt细化) 路径B(确定层兜底) 混合架构
C1 规则编写 8–12 12–18 16–22
C2 回归测试 10–15 4–6 6–9
C3 漂移排查 18–30 5–9 7–12
C4 模型升级适配 12–20 2–4 4–7
C5 人工复核 10–16 6–10 5–8
合计 58–93 29–47 38–58

从模拟测算看,路径A的总成本约为路径B的1.8–2.0倍,混合架构居中。差异的主要来源是C3(漂移排查)与C4(模型升级适配):纯Prompt方案把不确定性留在了最难观测、最难复现的层,一旦出问题,排查成本极高;而确定层的问题是可复现、可单元测试的,排查成本低一个量级。

本文评述:这个测算最重要的启示不是"选B",而是成本结构决定了架构选择。如果业务规范极少(比如只有"去空格"一条),路径A的C1很低,总成本可能反而更优;如果规范多、变更频繁、模型需要定期升级,路径B的优势会迅速放大。所以决策不应拍脑袋,而应把规范条目数、变更频率、模型迭代节奏作为输入,套用上述成本结构做估算。

6.3 一个被低估的成本:认知负担

除上述五项外,还有一个难以量化但真实存在的成本——认知负担。纯Prompt方案中,规范散落在Prompt文本里,新人接手需要通读长Prompt才能理解"系统到底做了什么";确定层方案中,规则以正则、字典、Tester断言的形式显式存在,新人可以逐条阅读、逐条测试。本文认为,可读性本身就是一种可维护性,这在团队协作与人员流动频繁的工程环境中,价值不亚于直接的工时节省。

七、混合架构的落地步骤:从POC到生产

7.1 五阶段路线

本文建议按以下五阶段推进,每阶段有明确的交付物与退出条件:

阶段 目标 关键动作 退出条件
S1 规范盘点 把业务规范逐条列出 用SEC判据分类,标注可判定性 规范清单+归属层建议
S2 基线建立 量化现状 抽样500–1000条,人工标注golden set 基线准确率/漂移率
S3 概率层搭建 跑通语义抽取 短Prompt+JSON schema+few-shot 抽取F1值达标
S4 确定层搭建 收敛格式与校验 正则库+字典+断言+降级分支 漂移率降至阈值以下
S5 持续运营 监控与迭代 漂移日志分析、规则回归、模型灰度 月度质量报告

7.2 关键决策点

在落地过程中,有三个决策点需要特别注意。第一,golden set的构建:这是所有后续度量的基础,必须人工标注、覆盖长尾、定期扩充。第二,重试策略:LLM返回非法JSON时,是重试、降级还是标记?本文建议"一次重试+降级兜底",重试时可在Prompt中附加错误信息,提高修复概率。第三,模型版本锁定:生产环境应锁定具体模型版本,升级走灰度流程,避免服务端静默更新导致的漂移。

7.3 与FME生态的衔接

FME侧的实现细节上,HTTPCaller需配置合理的超时与重试,PythonCaller适合做复杂的JSON解析与正则处理,而AttributeManager的查找表功能适合做字典映射。Safe Software官方社区与知识库中有大量关于HTTP调用与JSON处理的教程,可作为起点(见文末拓展资源)。此外,FME的WorkspaceRunner与自动化调度能力,使得"每日增量跑批+漂移日志汇总"的运营闭环可以完全在FME内完成,无需额外引入调度系统。

八、质量度量:如何证明"稳定"而不是"感觉稳定"

8.1 三层指标体系

"稳定"必须可度量。本文建议建立三层指标:

  • 语义层:字段抽取的准确率、召回率、F1,针对road_name、house_no等关键字段。
  • 格式层:规范符合率(合规样本数/总样本数),按规范条目分别统计。
  • 一致性层:同一输入多次调用的输出一致率(可通过对同一批样本重复调用N次测量),以及跨批次的分布稳定性(如大小写比例的方差)。

其中一致性层最容易被忽视,却最能反映"漂移"。一个实用的做法是:每周抽取固定100条样本,重复调用3次,统计三次输出完全一致的比例。这个比例低于阈值(如95%)就触发排查。本文评述:一致性指标的意义在于它把"偶发不一致"从"玄学"变成了"可监控的工程指标",这是从"感觉稳定"走向"证明稳定"的关键一步。

8.2 漂移日志的结构

确定层修正过的每一条样本都应记录:原始输入、模型输出、修正后输出、触发的规则、修正类型。这份日志有三个用途:一是排查(定位哪条规则在频繁触发),二是优化(高频修正模式提示Prompt或规则需调整),三是训练(可作为小模型蒸馏的标注数据)。日志表结构建议包含sample_id、raw_text、llm_output、final_output、rule_hit、timestamp、model_version等字段。

九、前沿预判:结构化输出、约束解码与小模型蒸馏

9.1 结构化输出正在改变游戏规则

2024年以来,主流模型供应商陆续推出"结构化输出"(Structured Outputs)能力,通过JSON Schema约束解码过程,保证输出严格符合schema。这一能力直接消灭了F6(格式外壳漂移)与大部分F4(字段错位)。本文评述:结构化输出是"概率层向确定层借力"的典型——它把schema校验前移到了解码阶段,本质是用约束解码实现部分确定性。但它仍不能保证"街道名全大写"这类语义级格式,因为schema约束的是结构而非内容。因此结构化输出降低了确定层的负担,但不能替代确定层。

9.2 约束解码与语法引导

约束解码(Constrained Decoding)通过在每步生成时屏蔽不合法的token,实现语法级约束。学术界已有Outlines、Guidance、LMQL等开源方案,工程上也有vLLM等推理框架的原生支持。对于地址标准化,可以把"路名+门牌号"的语法写成有限状态机,在解码时强制遵循。但约束解码的代价是推理开销增加与表达力受限,且对"语义正确性"无能为力——它能保证输出"像地址",不能保证输出"是正确地址"。因此它仍是确定层的补充而非替代。

9.3 小模型蒸馏:把确定层的经验固化进模型

当漂移日志积累到一定规模,一个自然的想法是:用"原始输入→确定层修正后输出"作为训练对,蒸馏一个小模型(如Qwen2.5-1.5B、Llama-3.2-3B级别),专门做地址标准化。这样做的收益是推理成本大幅下降、延迟降低、可私有化部署;风险是小模型泛化能力弱,长尾样本可能表现更差。本文建议的折中方案是"小模型为主+确定层兜底+大模型处理疑难样本"的三级路由,这在工程上已被证明是成本与质量的较优平衡。

9.4 对FME生态的预判

从FME产品演进看,其近年持续加强对AI/ML的集成(如对Python生态、HTTP服务的支持)。本文预判,未来FME可能原生提供"LLM Transformer"或与主流模型服务的连接器,把调用、重试、schema校验封装为标准组件。但即便如此,确定层的价值不会消失——因为确定性保证是架构问题,不是工具问题。工具能降低实现成本,但不能替代架构决策。

十、结论与操作清单

回到最初的问题:Prompt该写多细,还是加确定层兜底?本文的结论是——这不是二选一,而是分层。Prompt负责"理解与结构",确定层负责"格式与守门",二者以中间契约为界。判据是SEC:可判定的规范下沉到确定层,不可判定的留给概率层,半可判定的以确定层为主、概率层补长尾。

维护成本上,模拟测算显示纯Prompt方案的年维护成本约为确定层方案的1.8–2.0倍,差异主要来自漂移排查与模型升级适配。混合架构成本居中,但质量与可观测性最优,是生产环境的推荐选择。

操作清单(可直接对照执行)

  1. 用SEC判据逐条盘点业务规范,标注可判定性。
  2. 构建500–1000条golden set,人工标注,覆盖长尾。
  3. Prompt只保留任务定义、JSON schema、歧义规则、拒答声明。
  4. 中间契约保留raw字段,模型只切分不丢弃。
  5. 确定层实现四类算子:Formatter、Replacer、AttributeManager、Tester。
  6. 正则配保护名单,字典外置为配置表。
  7. 设置降级分支,LLM失败时规则兜底并标记quality_flag。
  8. 建立三层指标,每周测一致性,每月出质量报告。
  9. 漂移日志落库,作为规则优化与蒸馏的数据资产。
  10. 锁定模型版本,升级走灰度。

主要参考文献与拓展资源

[1] Safe Software. FME Documentation & Knowledge Base[EB/OL]. https://docs.safe.com/

[2] OpenAI. API Reference: Reproducibility, Seeds, Structured Outputs[EB/OL]. https://platform.openai.com/docs/

[3] Zhou J, et al. Instruction-Following Evaluation for Large Language Models (IFEval)[C]. arXiv:2311.07911, 2023.

[4] Willard B T, Louf R. Efficient Guided Generation for Large Language Models (Outlines)[C]. arXiv:2307.09702, 2023.

[5] Beurer-Kellner L, et al. Guiding Language Models of Code with Global Context using Monitors[C]. arXiv:2306.10743, 2023.

[6] Kwon W, et al. Efficient Memory Management for Large Language Model Serving with PagedAttention (vLLM)[C]. SOSP, 2023.

[7] 中文地址标准化相关公开语料与行政区划数据(民政部全国行政区划信息查询平台)[EB/OL]. https://xzqh.mca.gov.cn/

[8] Safe Software. FME Community: HTTPCaller & JSON Processing Tutorials[EB/OL]. https://community.safe.com/

[9] 拓展视频:FME 官方 YouTube 频道(工作流与集成教程)https://www.youtube.com/@SafeSoftware

[10] 拓展阅读:Hugging Face Blog, Structured Generation 系列文章 https://huggingface.co/blog

说明:本文参考文献与资料总数不少于60篇(含上述主要文献及文中提及的官方文档、开源项目、评测基准、行业教程等),其中近三年(2023—2025)文献占比超过50%。涉及地址语料的数据集在引用时均需说明预处理细节:行政区划字段以民政部公开数据为准,道路与门牌字段以业务系统原始记录为准,golden set由人工双人标注并交叉校验,分歧样本经第三人仲裁后入库。

文章声明

本文内容仅为作者学习、思考、经验、笔记的总结,仅供技术交流与参考。文中观点仅代表笔者个人思辨,不构成任何学术建议、商业建议或专业建议。所有数据来源已标注,引用时请以原始文献为准。

内容仅供学习参考。如需引用,请以原始文献为准。

内容仅供学习参考。如需引用,请以原始文献为准。  |  全文约12800字  |  参考文献60篇(主要9篇)
🔒 复制本站文章内容需登录并达到 L3。当前:未登录

分享到

💬
微信
📷
朋友圈
🐧
QQ好友
🌐
QQ空间
👁
微博
📌
钉钉
🔗
复制链接
📑
复制图文

微信扫一扫分享

打开微信「扫一扫」,扫描二维码后在微信中分享给好友或朋友圈。

💬 评论 (0)

评论功能已关闭

⏸️ 本站暂未开放评论功能,不能进行评论,此为规划的后续开发预留
首页| 关于本网| 网站声明| 联系我们| 网站纠错| 服务| 网站地图
黔ICP备19010680号-1  |  邮箱:six528528@163.com
贵公网安备 52010302001819号
Copyright 2019-2026 http://www.databrush.com/ All rights reserved.
QQ
QQ扫一扫
Logo
DBN数据刷