文档/开始使用

开始使用

认识 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 保留“完整语义”和“可扩展关系”两种能力,但不维护一张全局知识图谱:

text
chunk -> 一个语义完整的 event
chunk -> 多个用于索引的 entities
event <-> entities -> 一条潜在超边
  • Chunk 是原文证据的最小返回边界。
  • Event 总结一个 chunk 的完整事件或陈述,不被拆成失去上下文的三元组。
  • Entity 是轻量索引节点,用于定位和扩展相关事件。
  • Dynamic hyperedge 只为当前查询生成,通过共享实体把局部事件连接起来。

SAG 论文中的检索架构SAG 论文中的检索架构

索引与检索流程

离线阶段将文档规范化为 Markdown,并持久化 chunks、events、entities 以及 event-entity 关联;在线阶段先寻找种子实体与事件,再通过 SQL 沿共享实体扩展局部候选空间,最后返回最强的原文 chunks。

这种边界让增量写入更自然:新 chunk 只添加自己的事件、实体和关联,无需重建一张全局图。

产品、服务与引擎

SAG 仓库包含三个可以独立使用的入口:

  1. SAG Web / Desktop:面向最终用户的完整知识工作台。
  2. SAG API:基于 FastAPI 的自托管服务,提供身份、信源、文档、检索、Agent、OpenAI 兼容与 MCP 接口。
  3. zleap-sag:公开 Python 引擎,可直接嵌入自己的服务或 Notebook。

应用代码只通过 apps/api/sag_api/sag/ 访问引擎。zleap-sag 不知道 Web UI、用户、会话或引用,这条依赖规则是自定义前端和二次开发时最重要的系统边界。

继续阅读

发现内容问题?以当前公开仓库为准。查看 SAG 源码