文档/集成

集成

REST API 参考

SAG 自托管 API 的认证、资源地图、请求约束与常用示例。
更新于 2026-07-22适用于 SAG v1.2.2

SAG API 是完整产品的自托管 HTTP 边界,默认地址为 http://localhost:8000/api/v1。启动实例后,可在 /docs 查看交互式 OpenAPI,在 /openapi.json 获取机器可读 Schema。

认证

本地身份登录会返回 JWT:

bash
curl -s http://localhost:8000/api/v1/auth/login \
  -H 'Content-Type: application/json' \
  -d '{"name":"Developer"}'

后续大多数请求携带:

http
Authorization: Bearer <SAG_TOKEN>

POST /auth/registerSAG_ALLOW_REGISTRATION 控制;默认本地身份引导不依赖开放邮箱注册。

资源地图

领域前缀主要能力
系统/systemhealth、ready、capabilities、模型与偏好设置
身份/authlogin、register、me
信源/sources连接器、CRUD、同步、chunk 原文、信源 MCP 配置
文档/sources/{id}/documents上传、文本写入、预览、解析结果、暂停、恢复、重处理、删除
任务/jobs/{job_id}后台任务状态
检索/search/sources/{id}/search全局或信源内 vector/multi 检索
图谱/sources/{id}/entities/graphevent-entity 结构
Agent/agentsAgent、绑定、会话、消息、ask 与运行取消
OpenAI/openai/{agent_id}/chat/completions兼容 Chat Completions 与 SSE
知识宇宙/universemanifest、expand、timeline、node detail、exploration
MCP/mcp/Streamable HTTP 知识工具

创建信源

bash
curl -s -X POST http://localhost:8000/api/v1/sources \
  -H "Authorization: Bearer <SAG_TOKEN>" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Product docs",
    "description": "产品与 API 文档",
    "connector_kind": "file_upload",
    "config": {}
  }'

返回的 SourceOut 包含 id、状态、文档数、chunk 数、event 数和时间戳。

写入文本

textmessages 二选一:

bash
curl -s -X POST \
  http://localhost:8000/api/v1/sources/<SOURCE_ID>/documents/ingest \
  -H "Authorization: Bearer <SAG_TOKEN>" \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "SAG",
    "text": "SAG 使用 event-entity 索引与查询时动态超边。"
  }'

写入由后台任务继续处理。DocumentOut.status 变为 ready 后再期待稳定检索结果。

执行检索

全局检索:

bash
curl -s -X POST http://localhost:8000/api/v1/search \
  -H "Authorization: Bearer <SAG_TOKEN>" \
  -H 'Content-Type: application/json' \
  -d '{
    "query": "SAG 如何检索知识?",
    "source_ids": ["<SOURCE_ID>"],
    "strategy": "multi",
    "top_k": 5,
    "save_exploration": false
  }'

信源内检索使用 POST /sources/{source_id}/search,请求体不需要 source_ids

SearchRequest 约束

字段类型约束
querystring1 到 4000 字符
strategystringvectormulti,可省略使用默认值
top_kinteger1 到 50
source_idsstring[]仅全局接口,最多 256 个
save_explorationboolean仅全局接口,是否保存探索会话

健康与就绪

  • GET /system/health 表示 HTTP 进程可响应。
  • GET /system/ready 表示关键依赖已经初始化,可接收正常业务流量。
  • GET /system/capabilities 返回当前知识引擎与可用能力。

容器健康检查使用 ready 端点。负载均衡和编排系统也应以 ready 作为接流量依据。

错误处理

验证错误遵循 FastAPI/Pydantic 的结构化响应。后台处理错误会记录在文档与任务状态中;SQL 与本地存储细节会在 API 边界被脱敏,完整堆栈仅保留在服务日志。

自定义前端与 API 不同源时,将前端 Origin 加入 SAG_CORS_ORIGINS。不要用 * 与凭据请求组合来绕过配置。

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