
langextract
从杂乱文本中精准抽取结构化数据,并可视化追溯来源
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 39285
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Python 环境(README 的 CI 覆盖 Python 3.10 和 3.11)
- 使用 Gemini 等云端模型时需要一个 API Key
- 可选:本机已安装并运行 Ollama 以使用本地模型(如 gemma2:2b)
- 可选:使用 Docker 方式时需要 Docker
安装与启动步骤
-
1获取项目源码
从 GitHub 克隆仓库并进入项目目录,后续安装命令需在仓库根目录执行。
git clone https://github.com/google/langextract.git cd langextract -
2安装库
在仓库根目录执行可编辑安装,README 给出的基础安装方式即为此命令。
pip install -e . -
3安装测试依赖(可选)
需要跑测试时再安装 test 附加依赖,普通使用可跳过这一步。
pip install -e ".[test]" -
4配置 API Key
使用 Gemini 等云端模型必须设置 API Key,环境变量名为 LANGEXTRACT_API_KEY;本地模型无需。
export LANGEXTRACT_API_KEY="your-api-key" -
5运行抽取脚本
编写脚本调用 lx.extract,传入文本、提示词、示例和 model_id,默认推荐 gemini-3.5-flash。
python your_script.py -
6Docker 方式运行
也可先构建镜像,再通过 -e 传入 API Key 运行自己的脚本,无需本地安装依赖。
docker build -t langextract . docker run --rm -e LANGEXTRACT_API_KEY="your-api-key" langextract python your_script.py -
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···
Awesome-Routing-LLMs
开源
一页看懂大模型路由:谁该回答哪个问题
A curated list of awesome works in Routing LLMs paradigm ( Welcome to submit your co···
ansvisor
开源
一键追踪你的品牌在 AI 搜索中的曝光和提及
Open-source agentic AI Search Execution Platform. Track AI visibility, find opportun···
xyne
开源
把散落各处的资料,问一句就给你答案
AI-first Search & Answer Engine for work. Open-source alternative to Glean.
rag-web-ui
开源
上传文档,即刻拥有一个能聊天的知识库助手
RAG Web UI is an intelligent dialogue system based on RAG (Retrieval-Augmented Gener···
context-engine
开源
一条流水线管好 LLM 上下文,检索重排记忆预算全搞定
A pure-Python context management layer for LLM systems — retrieval, re-ranking, mem···
last30days-skill
开源
一句话让 AI 扒遍全网近30天,给你有据可查的总结
AI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, ···
bm25s
开源
用 Numpy 加速的 BM25 检索,快如闪电,轻松集成 RAG。
Fast BM25 search in Python, powered by Numpy and Numba
LongRAG
开源
长文档问答更准,双视角检索+长上下文生成
[EMNLP 2024] LongRAG: A Dual-perspective Retrieval-Augmented Generation Paradigm for···