ap3.3实操⏱ 约 10 分钟
抽取实战:把一堆乱文本变成能入库的行
把前面所有零件串成一条能跑批的管线
🔎 最后验证 2026-08📚 来源:本节管线为 ECS 实测(2026-08,deepseek-chat,18 条真实脏文本,脚本与原始输出见本节代码)🧰 DeepSeek API、Python、SQLite
为什么学这个
到这里你手上的零件已经齐了:结实的调用(AP1)、管好的提示词(AP2)、写死的 schema + 校验修复(ap3.1/3.2)。
这一节把它们串成一条真能干活的批处理管线:一堆乱七八糟的文本进去,一张干净的表出来——而且坏数据不会污染好数据。
这是你毕业项目里"结构化处理器"那条路的骨架,也是最容易变现的一类 AI 功能(把人工录入的活自动化)。
💡 打个比方
工厂流水线:原料(乱文本)→ 加工(模型提取)→ 质检(校验)→ 返修(修复循环)→ 分流(合格入库/次品进人工)→ 记账(成本流水)。
前面几节做的是各个工位,这一节把传送带接起来。
管线的七个环节
def process_batch(texts, feature="extract"):
results, failures = [], []
with ThreadPoolExecutor(max_workers=5) ex:
rows = (ex.( t: process_one(t, feature), texts))
text, (ok, data, err, meta) (texts, rows):
(results ok failures).append((text, data, err))
results, failures
():
row = new_meter_row(feature)
:
raw = ask_robust(SYS_PROMPT, text)
ok, data, errs = validate(raw)
ok:
raw = repair(SYS_PROMPT, text, raw, errs)
ok, data, errs = validate(raw)
ok data.get():
, data, , row
ok, data, (.join(errs) ok ), row
:
write_meter(row)

都看到这了,打个赏呗!
接下来 · ap3.4
置信度与拒答:让它说"我不确定"
继续读下一节 →