langextract

从杂乱文本中精准抽取结构化数据,并可视化追溯来源

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 2750 🐛 待处理 119 👀 关注 166
GitHub ↗
GitHub 星标 ★ 39285
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源Python库,Apache-2.0许可证,完全免费,可自行部署使用。

项目预览

langextract 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队google
定价模式🏷️完全免费
价格说明开源Python库,Apache-2.0许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型gemini,gemini-ai,gemini-api,gemini-flash,gemini-pro,information-extration,large-language-models,llm,nlp,python,structured-data
GitHub 星标★ 39285
上线时间2025-07-08 00:00:00
代码更新2026-11-07
仓库体积12.9 MB
本站数据更新2026-11-09
维护状态活跃
收录时间2026-08-09
浏览次数4

项目介绍

langextract 是一个 Python 库,旨在利用大型语言模型从非结构化文本中提取结构化信息,并具备精确的源定位和交互式可视化能力。它解决了传统文本提取方法中信息定位不准确、结果难以验证和解释的问题。核心能力包括:基于 LLM 的智能抽取,支持自定义抽取模式;提供源文本与抽取结果的精确映射,确保可追溯性;内置交互式可视化界面,便于用户审查和调整提取结果。该库设计简洁,易于集成到现有数据处理流程中,适用于文档解析、知识图谱构建、数据清洗等多种场景。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 39285

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:入门 约 10 分钟 部署方式:库/依赖 7 步

环境要求

  • Python 环境(README 的 CI 覆盖 Python 3.10 和 3.11)
  • 使用 Gemini 等云端模型时需要一个 API Key
  • 可选:本机已安装并运行 Ollama 以使用本地模型(如 gemma2:2b)
  • 可选:使用 Docker 方式时需要 Docker

安装与启动步骤

  1. 1获取项目源码

    从 GitHub 克隆仓库并进入项目目录,后续安装命令需在仓库根目录执行。

    git clone https://github.com/google/langextract.git
    cd langextract
  2. 2安装库

    在仓库根目录执行可编辑安装,README 给出的基础安装方式即为此命令。

    pip install -e .
  3. 3安装测试依赖(可选)

    需要跑测试时再安装 test 附加依赖,普通使用可跳过这一步。

    pip install -e ".[test]"
  4. 4配置 API Key

    使用 Gemini 等云端模型必须设置 API Key,环境变量名为 LANGEXTRACT_API_KEY;本地模型无需。

    export LANGEXTRACT_API_KEY="your-api-key"
  5. 5运行抽取脚本

    编写脚本调用 lx.extract,传入文本、提示词、示例和 model_id,默认推荐 gemini-3.5-flash。

    python your_script.py
  6. 6Docker 方式运行

    也可先构建镜像,再通过 -e 传入 API Key 运行自己的脚本,无需本地安装依赖。

    docker build -t langextract .
    docker run --rm -e LANGEXTRACT_API_KEY="your-api-key" langextract python your_script.py
  7. 7运行测试验证

    用 pytest 跑测试,或用 tox 在 Python 3.10/3.11 上复现完整 CI 流程。

    pytest tests

关键配置

配置项必填说明示例
LANGEXTRACT_API_KEY是云端模型(Gemini/OpenAI)调用所需的 API Key;本地模型可不设your-api-key
model_id是传给 lx.extract 的模型标识,决定使用哪个 LLM 进行抽取gemini-3.5-flash
text_or_documents是待抽取的输入文本或文档input_text
prompt_description是描述你要抽取什么信息的提示词prompt
examples否少样本示例,用于约束抽取格式与内容examples
output_schema否枚举值等高级约束;Gemini 与 OpenAI 支持,可配合或不配合示例output_schema

如何确认成功

执行 pytest tests 全部通过,或运行脚本后成功返回 lx.extract 的抽取结果(含源文本定位)。

常见问题

Q:没有 API Key 能用吗?

A:可以。本地或设备端模型不需要 API Key,LangExtract 内置支持 Ollama,也可通过修改推理端点接入其他第三方 API。

Q:该选哪个模型?

A:默认推荐 gemini-3.5-flash;量大或在意成本可用稳定的 Flash-Lite(gemini-3.1-flash-lite);复杂推理任务可评估 Gemini Pro。

Q:生产环境频繁被限流怎么办?

A:建议升级到付费 Gemini 套餐以提升吞吐并避免速率限制,具体可参考官方 rate-limit 文档。

Q:怎么测试 Ollama 集成?

A:先确保本机运行 Ollama 并准备好 gemma2:2b 模型,再执行 tox -e ollama-integration,测试会自动检测 Ollama 是否可用。

Q:如何复现官方 CI?

A:在项目根目录执行 tox,会在 Python 3.10 和 3.11 上运行 pylint 与 pytest。

注意事项

  • 云端模型必须配置 API Key,本地模型则不需要。
  • Gemini 模型有生命周期和退役日期,长期项目请关注官方模型版本文档。
  • 大批量或生产使用建议付费套餐,避免触发速率限制。
  • 代码风格工具可直接运行:isort langextract tests --profile google --line-length 80 与 pyink langextract tests --config pyproject.toml。

核心亮点

  • 精确的源定位:每个抽取结果都绑定原文片段,方便验证和纠错
  • 交互式可视化:内置界面直观展示抽取逻辑,降低调试成本
  • 灵活的模式定义:支持自定义抽取规则,适配多种业务场景

不足之处

  • 依赖 LLM API,可能产生较高调用成本
  • 文档/社区待观察

适用场景

  • 从合同、报告中提取关键字段并溯源
  • 构建知识图谱时从非结构化文本抽取实体关系
  • 数据清洗中标准化非结构化文本为结构化记录

替代项目

LangChain、Haystack、spaCy

上一篇:OpenSearch-VL

下一篇:pandas-ai

同类项目推荐

llm-wiki-compiler 开源

把散落 Markdown 笔记自动编译成主题 wiki

Claude Code plugin that compiles markdown knowledge files into a topic-based wiki. I···

★ 330 2026-09-16
Awesome-Routing-LLMs 开源

一页看懂大模型路由:谁该回答哪个问题

A curated list of awesome works in Routing LLMs paradigm ( Welcome to submit your co···

★ 190 2026-11-07
ansvisor 开源

一键追踪你的品牌在 AI 搜索中的曝光和提及

Open-source agentic AI Search Execution Platform. Track AI visibility, find opportun···

★ 234 2026-08-09
xyne 开源

把散落各处的资料,问一句就给你答案

AI-first Search & Answer Engine for work. Open-source alternative to Glean.

★ 697 2026-08-09
rag-web-ui 开源

上传文档,即刻拥有一个能聊天的知识库助手

RAG Web UI is an intelligent dialogue system based on RAG (Retrieval-Augmented Gener···

★ 3297 2026-08-09
context-engine 开源

一条流水线管好 LLM 上下文,检索重排记忆预算全搞定

A pure-Python context management layer for LLM systems — retrieval, re-ranking, mem···

★ 199 2026-08-09
last30days-skill 开源

一句话让 AI 扒遍全网近30天,给你有据可查的总结

AI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, ···

★ 67024 2026-09-12
bm25s 开源

用 Numpy 加速的 BM25 检索,快如闪电,轻松集成 RAG。

Fast BM25 search in Python, powered by Numpy and Numba

★ 1822 2026-08-09
LongRAG 开源

长文档问答更准,双视角检索+长上下文生成

[EMNLP 2024] LongRAG: A Dual-perspective Retrieval-Augmented Generation Paradigm for···

★ 122 2026-08-09