项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2827
使用教程
环境要求
- Docker Desktop,或带 Compose v2 的 Docker Engine
- 启动阶段无需 API Key、Python/Node 运行时或外部数据库
- 索引与向量检索需要 OpenAI 兼容的 Embedding 端点
- 事件抽取、查询理解与生成答案需要 OpenAI 兼容的 LLM 端点
- (可选)生产级部署需要 PostgreSQL/pgvector 支持
安装与启动步骤
-
1克隆项目仓库
把 SAG 源码拉到本地并进入项目目录,后续所有命令都在该目录执行。
git clone https://github.com/Zleap-AI/SAG.git cd SAG -
2Docker 一键启动
使用 Compose 构建并后台启动全部服务,首次构建耗时较长请耐心等待。
docker compose up -d --build -
3打开 Web 与 API 文档
两个服务健康后,浏览器访问 Web 应用与 API 文档确认界面可用。
-
4创建本地身份
首次启动时输入你的名字,用于创建或恢复本地身份。
-
5配置模型端点
使用 302.AI 快速配置,或进入 Settings → Models 配置任意 OpenAI 兼容的 LLM 与 Embedding 端点。
-
6上传文档并检索
创建 source 并上传文档,等待状态变为 Ready 后即可搜索、打开原文或发起带引用的对话。
-
7安装 Agent Skill(可选)
Skill 随 @zleap-ai/sag-cli 提供,将其复制到你的 Agent skills 目录即可使用。
-
8PostgreSQL 生产部署(可选)
切换到 PostgreSQL/pgvector 覆盖配置,先写入随机密钥与密码再启动,升级前务必备份数据卷。
cp .env.example .env openssl rand -hex 32 openssl rand -hex 24 docker compose -f compose.yaml -f compose.postgres.yaml config docker compose -f compose.yaml -f compose.postgres.yaml up -d --build
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPENAI_API_KEY | 否 | 调用 OpenAI 兼容服务的密钥 | sk-xxxxxxxx |
OPENAI_BASE_URL | 否 | OpenAI 兼容服务的接口地址 | https://your-openai-compatible-host/v1 |
LLM_MODEL | 否 | 用于事件抽取、查询理解与生成答案的模型 | qwen3.6-flash |
EMBEDDING_MODEL | 否 | 用于索引与向量检索的嵌入模型 | bge-large-en-v1.5 |
SAG_SECRET_KEY | 否 | 服务密钥,生产部署时用 openssl rand -hex 32 生成 | a1b2c3d4e5f60718293a4b5c6d7e8f90 |
POSTGRES_PASSWORD | 否 | PostgreSQL 密码,用 openssl rand -hex 24 生成 | f0e1d2c3b4a5968778695a4b3c2d1e0f |
如何确认成功
浏览器能打开 http://localhost:3000 的 Web 应用、http://localhost:8000/docs 的 API 文档,即两个服务均健康启动。
常见问题
Q:启动前必须准备 API Key 吗?
A:不需要。无模型凭证时 UI 与服务仍能启动,但索引和向量检索需要 Embedding,事件抽取、查询理解与生成答案需要 LLM。
Q:Web 应用和 API 文档分别在哪?
A:Web 应用为 http://localhost:3000,API 文档为 http://localhost:8000/docs,均在服务健康后可直接访问。
Q:两种配置方式可以混用吗?
A:不可以,需只用一种:参数注入 EngineConfig(llm=..., embedding=...) 适合库与 notebook;from_env() 适合容器与十二要素服务。
Q:EngineConfig 会自动读取环境变量吗?
A:不会。EngineConfig(...) 不隐式读取环境变量,需显式传参,或改用 EngineConfig.from_env() / from_env(env_file=".env")。
Q:如何切换到生产级数据库部署?
A:使用 compose.postgres.yaml 覆盖文件启动,将应用元数据与引擎存储迁移到 PostgreSQL/pgvector,升级前备份 pgdata 与 sagdata。
注意事项
- 启动应用不需要 API Key、Python 运行时、Node 运行时或外部数据库。
- EngineConfig(...) 不会隐式读取环境变量,必须显式传参或使用 from_env()。
- 如需单独的嵌入端点,可用 EmbeddingConfig(api_key=..., base_url=..., model=...) 指定。
- 服务器部署前需设置真实的 SAG_CORS_ORIGINS 与 NEXT_PUBLIC_API_BASE;升级前备份 pgdata 和 sagdata。
核心亮点
- 原创检索架构,在 RAG 任务上达到 SOTA 效果,检索精度显著提升
- 内置开源知识库,开箱即用,降低搭建成本
- 面向人类和智能体双场景,兼顾交互与自动化
不足之处
- 项目较新,生态和周边工具链尚不完善
- 文档/社区待观察
适用场景
- 企业知识库智能问答,快速定位内部文档
- 智能客服系统,基于知识库精准回答用户问题
- 研究辅助,帮助学者高效检索和整合文献
替代项目
LangChain、LlamaIndex、Haystack
同类项目推荐
Awesome-Generative-Recommendatio···
开源
一页看懂生成式推荐工业落地论文脉络
Awesome Generative Recommendation papers primarily focused on industry-level applica···
hacker-news-digest
开源
让 ChatGPT 帮你每天速读 Hacker News,省时省力
:newspaper: Let LLM Summarize Hacker News for You
collective-ai-tools
开源
一次搜索,找遍 AI 工具、MCP、提示词和热门仓库
Search across curated tools, MCP servers, prompts, skills, and trending repos, one q···
gemini-obsidian
开源
在终端里用 Gemini 问答你的 Obsidian 笔记库
A Gemini CLI extension for interfacing with an Obsidian vault with local first RAG c···
daily-paper-reader
开源
每天自动推 arXiv 论文,AI 帮你读摘要答问题
开源的每日 arXiv / OpenReview 论文推荐与 AI 阅读平台,支持 GitHub Actions 自动更新、···
mcp-local-rag
开源
本地零配置,让 AI 精准搜索你的代码和文档
Local-first RAG server for developers. Semantic + keyword search for code and techni···
zvec-grep
开源
本地工作区一句话搜代码和文档,人和 AI 都能用
Local-first search across your workspace, built for humans and AI agents.
llm-search
开源
用自然语言问本地文档,秒级精准找答案
Querying local documents, powered by LLM
ApeRAG
开源
把知识图谱塞进 RAG,多跳问答和复杂检索一次搞定
ApeRAG: Production-ready GraphRAG with multi-modal indexing, AI agents, MCP support,···
