LangExtract:用大语言模型从非结构化文本中精准提取结构化信息的Python库
你是否曾为从海量非结构化文本(如临床报告、法律文件或小说)中手动提取关键信息而感到头疼?LangExtract 的出现,旨在彻底解决这个问题。它是一个由 Google 开源的 Python 库,利用大语言模型(LLM),仅需少量示例即可从任意文本中精准提取结构化数据,并生成交互式可视化报告,极大提升了信息处理的效率和准确性。
截至收录:
LangExtract项目stars数:21692
LangExtract项目forks数:1507
LangExtract项目目录截图

LangExtract项目核心亮点
- 📍 精准的原文定位:每一个提取出的实体都能精确映射到原文中的位置,并支持高亮显示,确保结果的可追溯性和可验证性。
- 📊 可靠的结构化输出:通过少量示例(Few-Shot)定义输出模式,并利用 Gemini 等模型的控制生成能力,确保输出格式稳定、结构清晰。
- 📄 专为长文档优化:采用智能分块、并行处理和多次提取的策略,有效解决了从长篇文档中寻找“沧海一粟”的难题,显著提高了信息召回率。
- 🎨 交互式可视化:一键生成独立的、交互式 HTML 文件,可直观地浏览和审查成千上万个提取出的实体及其原始上下文。
- 🔌 灵活的模型支持:支持从云端模型(如 Google Gemini 系列、OpenAI GPT)到本地开源模型(通过内置的 Ollama 接口)的多种 LLM,满足不同场景需求。
- 🌐 适用于任何领域:无需微调模型,仅通过定义任务提示词和提供几个示例,即可快速适配到医疗、法律、文学等任何垂直领域的信息提取任务。
LangExtract项目快速开始
只需几步,你就能开始使用 LangExtract 提取信息:
1. 安装:
# 使用 pip 从 PyPI 安装
$ pip install langextract
定义任务并运行提取:
import langextract as lx
import textwrap
# 1. 定义提取规则和示例
prompt = textwrap.dedent("""\
按出现顺序提取人物、情绪和关系。
使用原文中的精确文本进行提取。不要意译或重叠实体。
为每个实体提供有意义的属性以添加上下文。""")
examples = [...] # 提供高质量的示例数据
# 2. 运行提取
result = lx.extract(
text_or_documents="你的输入文本",
prompt_description=prompt,
examples=examples,
model_id="gemini-2.5-flash", # 推荐默认模型
)
# 3. 保存并可视化结果
lx.io.save_annotated_documents([result], "results.jsonl")
html = lx.visualize("results.jsonl")
with open("visualization.html", "w") as f:
f.write(html)
LangExtract项目应用场景
- 医疗信息处理:从临床笔记或放射学报告中自动提取药物名称、剂量、诊断结果等结构化信息,辅助医疗数据分析。
- 法律文档分析:快速从合同、判决书中提取关键条款、当事人、日期和金额,提高法律文书的审阅效率。
- 文学研究与内容分析:分析小说、剧本中的人物关系、情感脉络和情节发展,为学术研究提供数据支持。
- 商业智能与报告生成:处理客户反馈、市场报告等非结构化文本,提取产品特性、用户情感和竞争情报,自动生成分析报告。
- 知识库构建:自动化地从技术文档、研究论文中提取实体和关系,用于构建或更新领域知识图谱。
LangExtract项目链接
google / langextract项目地址:https://github.com/google/langextract
本文地址:https://www.tgoos.com/31393
声明:本站资源均整理自互联网,版权归原作者所有,仅供学习交流使用,请勿直接商用,若需商用请购买正版授权。因违规使用产生的版权及法律责任由使用者自负。部分资源可能包含水印或引流信息,请自行甄别。若链接失效可联系站长尝试补链。若侵犯您的权益,请邮件(将 # 替换为 @)至 feedback#tgoos.com,我们将及时处理删除。转载请保留原文链接,感谢支持原创。
