shcherbak-ai/contextgem
ContextGem: Effortless LLM extraction from documents
What it solves
ContextGem 简化了从文档中提取结构化数据和见解的过程。它消除了手动编写复杂提取提示词、设计验证模型以及将输出映射回来源引用的需求,而这些通常是对于可靠的结构化提取所必需的。
How it works
ContextGem 使用声明式方法,用户使用自然语言描述 "what" to extract,而框架处理 "how"。
- Define Extraction Context: 创建一个
Document对象,其中包含源文档的文本或视觉内容。 - Define Extraction Targets: 用户定义 Aspects(用于提取主题或主题等文本段落)和 Concepts(了提取实体、事实或分类等特定数据点)。
- Run LLM Extraction: 配置一个
DocumentLLM(通过 LiteLLM 支持云端或本地模型)来处理文档并提取定义的 aspects 和 concepts。
Who it’s for
开发者正在构建需要对单个文档(如合同、发票或报告)进行深度、结构化分析的应用,并且希望避免在单文档任务中因传统 RAG 检索而产生的不一致性。
Highlights
- Granular Reference Mapping: 为提取的数据提供精确的段落级和句子级引用。
- Automated Prompting and Modeling: 自动处理动态提示词生成和数据建模。
- Built-in Justifications: 自动为提取的信息生成理由说明。
- Hierarchical Extraction: 支持嵌套上下文提取,允许 aspects 包含其他 aspects 或 concepts。
- Broad LLM Support: 通过 LiteLLM 集成多种云端和本地 LLM。