LLM信息抽取前的预清洗 / 降噪;python中方List与list做泛型的区别;给ai调用平台添加文档解析后处理;

1.LLM信息抽取前的预清洗 / 降噪
本地部署的小模型(12B等参数)更依赖“表面模式”,大模型更会“忽略干扰”。
所以在本地部署的模型在提取文本参数时,要尽量对数据进行降噪。

以下是我的一个文本降噪想法:
👉Markdown → 结构化块(section / table)
👉规则过滤:只保留“项目基本信息”“项目人员”相关 section
👉再把过滤后的文本交给 LLM 做结构化抽取(JSON)

80% 噪声在 LLM 之前就被干掉
LLM 只干它最擅长的:语义理解 & 结构化
稳定、可复现、可调试

代码实现逻辑:
1. 永远保留第一页
2. 将【其余页面拼成全文】
3. 对全文按标题切分
4. 命中 TARGET_SECTIONS 的章节全部保留

部分核心代码:

    # ① 永远保留第一页(封面 / 元信息)
    kept_blocks.append(pages[0].strip())

    # ② 剩余页面拼成“正文全文”
    body_text = "\n\n".join(pages[1:]).strip()
    if not body_text:
        return "\n\n".join(kept_blocks)

    # ③ 全文级标题切分
    sections = split_by_titles(body_text)

2.python中方List与list做泛型的区别
最近让ai帮忙写python代码,发现ai有时候使用List做泛型,有时候用list做泛型。
于是问了ai相关区别:
1️⃣ list(小写)
这是 Python 内置类型,运行时真的存在。
2️⃣ List(大写)
这是 类型注解用的,来自 typing 模块(Python 3.9 之前):
❌ 运行时 不参与任何逻辑,可以应付类型检查器(mypy / pyright)
list:这是一张桌子。
List[int]:这张桌子上理论上只放整数。
👉总结:一般python3.9之后都用list。

3.给ai调用平台添加文档解析后处理
用paddle文档解析后的markdown格式文本添加文本后处理,包含:

  1. 文本清洗
  2. 标题归一化
  3. 按全文切标题
  4. 区分第一页
  5. 全文级标题过滤
    代码过多,我就不全部展示了,主要通过以下代码调用:
final_text = text_postprocess(
    text,
    target_sections=taskconfig.postprocess.get("target_sections",[]) 
    if taskconfig.postprocess else None
)
posted @ 2026-01-23 12:05  asphyxiasea  阅读(3)  评论(0)    收藏  举报