当你面对一份10万字的病历报告、几百页的法律文书,还在手动摘抄关键信息?现在有个新选择——谷歌刚开源的LangExtract,能让大模型像「文字侦探」一样自动提取结构化信息,连每个结果的来源位置都标得清清楚楚。

- 仓库地址:github.com/google/langextract
- 在线Demo:huggingface.co/spaces/google/radextract

在这里插入图片描述

欢迎大家关注我的公众号:大模型论文研习社
往期回顾:大模型也会 “脑补” 了!Mirage 框架解锁多模态推理新范式,无需生成像素图性能还暴涨

给大模型装个「信息提取导航仪」

传统大模型提取信息常犯两个毛病:要么答非所问跑偏题,要么说不清答案从哪来。但LangExtract带着三个「撒手锏」解决了这些问题:

  • 精准溯源:每个提取结果都能定位到原文具体位置,支持一键跳转查看上下文,再也不用对着结论猜来源
  • 格式保真:通过「受控生成」技术让输出严格贴合你定义的格式,比如从病历里抓药物名称时,绝不会混进剂量单位
  • 长文克星:自动把长文档拆分成最优片段,用多轮并行处理破解「大模型看长文就迷糊」的难题

试了下用它分析《罗密欧与朱丽叶》全文,不仅揪出了153个角色、1685处人物提及,连「But soft!」这种细微情绪表达都标得明明白白,最后还生成了交互式热力图,点击任何实体就能看到原文语境。
在这里插入图片描述

三行代码搞定医学报告分析

最香的是上手门槛极低。哪怕是Python新手,跟着模板改改提示词就能用:

  1. 定义要提取的内容(比如「药物名称、剂量、服用频率」)
  2. 给个示例让模型学格式
  3. 扔进去文本就能等结果
import langextract as lx

# 定义提取规则和示例
prompt = "提取药物名称、剂量和服用频率"
examples = [lx.data.ExampleData(
    text="患者每日服用阿司匹林100mg",
    extractions=[lx.data.Extraction(
        extraction_class="药物",
        extraction_text="阿司匹林",
        attributes={"剂量": "100mg", "频率": "每日"}
    )]
)]

# 运行提取并可视化
result = lx.extract(input_text, prompt, examples, model_id="gemini-1.5-flash")
lx.visualize(result).save("报告分析.html")

生成的HTML文件里,所有提取结果都带着彩色高亮,滚动到对应位置还会自动显示详情卡片,比Excel表格直观10倍。

本地模型也能跑,支持自定义扩展

担心调用云模型太贵?它能直接对接Ollama跑本地大模型,用gemma2:2b这种轻量模型也能玩起来。实测用7B参数模型处理5000字文档,三分钟就能出结果。

要是想对接公司内部模型,官方还提供了插件模板,按步骤打包成Python库,就能像搭积木一样集成进LangExtract生态。目前社区已经有开发者贡献了 Claude、通义千问等模型的适配插件。

现在就能上车

项目刚开源就冲上GitHub趋势榜,文档里附了从法律合同分析到学术论文摘要的完整案例。不管是做研究还是搞业务自动化,都能省下大把复制粘贴的时间。
下次再遇到堆成山的文本要处理,不妨让这个工具帮你「挖矿」试试~

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐