开始使用
认识 SAG
理解 SAG 的产品边界、核心能力与 event-entity 检索模型。更新于 2026-07-22适用于 SAG v1.2.2
SAG 是一套面向个人与 Agent 的开源知识库应用,也是一种原创检索架构。它把分散的文件与网页转换为可搜索、可关联、可追溯的知识,并将每次检索与回答重新连接到原文证据。
SAG 不是“传统 RAG + GraphRAG”的拼接。它以事件(event)承载完整语义,以实体(entity)作为索引与扩展点,并在查询发生时通过 SQL 生成局部动态超边。
你能用 SAG 做什么
一份文档只需要导入一次。SAG 会完成解析、分块、向量化、事件与实体抽取,随后提供四种主要使用方式:
| 工作 | 得到什么 |
|---|---|
| 检索 | 跨信源或指定信源搜索,支持快速与精确模式 |
| 溯源 | 从结果或引用直接打开对应原文块 |
| 对话 | 基于选定知识生成流式、带引用的回答 |
| 集成 | 通过 REST/OpenAPI、OpenAI 兼容接口、MCP 或 Python 包复用知识 |
产品默认是本地、单用户模式。SQLite 与 LanceDB 足以启动完整工作台;当数据规模或运行环境变化时,可以迁移到 PostgreSQL/pgvector、Elasticsearch 或 OceanBase 等后端。
核心数据模型
SAG 保留“完整语义”和“可扩展关系”两种能力,但不维护一张全局知识图谱:
chunk -> 一个语义完整的 event
chunk -> 多个用于索引的 entities
event <-> entities -> 一条潜在超边- Chunk 是原文证据的最小返回边界。
- Event 总结一个 chunk 的完整事件或陈述,不被拆成失去上下文的三元组。
- Entity 是轻量索引节点,用于定位和扩展相关事件。
- Dynamic hyperedge 只为当前查询生成,通过共享实体把局部事件连接起来。
SAG 论文中的检索架构
索引与检索流程
离线阶段将文档规范化为 Markdown,并持久化 chunks、events、entities 以及 event-entity 关联;在线阶段先寻找种子实体与事件,再通过 SQL 沿共享实体扩展局部候选空间,最后返回最强的原文 chunks。
这种边界让增量写入更自然:新 chunk 只添加自己的事件、实体和关联,无需重建一张全局图。
产品、服务与引擎
SAG 仓库包含三个可以独立使用的入口:
- SAG Web / Desktop:面向最终用户的完整知识工作台。
- SAG API:基于 FastAPI 的自托管服务,提供身份、信源、文档、检索、Agent、OpenAI 兼容与 MCP 接口。
- zleap-sag:公开 Python 引擎,可直接嵌入自己的服务或 Notebook。
应用代码只通过 apps/api/sag_api/sag/ 访问引擎。zleap-sag 不知道 Web UI、用户、会话或引用,这条依赖规则是自定义前端和二次开发时最重要的系统边界。
继续阅读
- 想最快体验完整产品:前往安装与启动。
- 已经启动 SAG:跟随第一个知识库。
- 准备嵌入自己的系统:阅读系统架构与REST API 参考。
- 想理解方法与结果:查看论文与基准。
发现内容问题?以当前公开仓库为准。查看 SAG 源码