RAGnarok 功能与技术规格说明书
💡 思考可以构成一座桥,让我们通向新知识。—— 普朗克
1 写作目标(Functional Specification, FS)
2 概念与术语
| 术语 |
别名 / 缩写 |
定义 |
说明 |
| RAG |
检索增强生成 |
将信息检索与大语言模型生成结合,提高回答准确性 |
具备可追溯知识依据 |
| LLM |
大语言模型 |
大规模语料预训练模型 |
例:GPT‑4、Claude |
| MCP |
模型上下文协议 |
统一描述模型 I/O 的数据协议 |
本项目模块通信中间语 |
| Pipeline |
流水线架构 |
多模块问答流程,可自由编排 |
检索→重排→生成 |
| 知识库 |
KB |
嵌入后存储文档语义的数据库 |
公有/私有,权限隔离 |
| 向量化 |
嵌入 |
文本→向量,便于匹配检索 |
—— |
| 模块 |
组件 |
可插拔功能单元 |
通过 MCP 连接 |
| 多租户 |
Multi‑Tenant |
不同企业/用户数据隔离 |
—— |
| 智能 Agent |
Agent |
多步推理与调用链的智能体 |
—— |
| 开箱即用 |
OOTB |
无需编程即可使用 |
面向 C 端 |
3 产品描述
3.1 项目简述
RAGnarok 是一站式智能问答平台,提供模块化 Pipeline 架构与 MCP 协议,帮助开发者、企业与普通用户低成本构建 RAG 应用。
3.2 用户画像
| 角色 |
身份特征 |
潜在总量 |
使用习惯 |
期望 |
付出 |
| 开发者 |
IT 从业者 |
10 万 |
构建项目、调试监控 |
模块拼装 + 调试 |
付费一般 / 贡献强 |
| B 端企业 |
IT 企业 |
100 |
公共库上构建工作流 |
私有部署 + 高效管理 |
付费强 |
| C 端用户 |
个人 |
50 万 |
个人知识库问答 |
简洁体验 + 准确回答 |
付费弱 |
3.3 典型场景
- 开发者:二次开发、插件集成、实时监控。
- 企业运营:跨系统集成、数据安全、私有化部署。
- 日常问答:信息查询、知识检索、智能问答。
4 产品功能(Alpha + Beta)
4.1 Alpha 已交付
- 知识库管理:多源文档导入、向量化、权限隔离。
- 核心 RAG 流程:检索 → 重排 → 生成,支持 SSE 流式输出。
- 工作流编排 (API):JSON 定义 Pipeline,后端执行。
4.2 Beta 新增
| 新功能 |
说明 |
价值 |
| 可视化 Flow Builder |
拖拽节点、连线、实时预览 |
C 端零代码使用,降低门槛 |
| Admin Portal |
租户 / 用户 / 资源 / 角色管理 |
企业级安全与运维 |
| 插件市场 |
官方 / 社区组件上架、评分、安装 |
扩展生态、差异化竞争 |
| 观测中心 |
Prometheus + Grafana + Sentry |
性能可视化、故障告警 |
| 反馈埋点 |
匿名事件上报、Funnel 分析 |
快速迭代,根据数据决策 |
5 显性与隐性依赖
- 知识库质量直接决定 RAG 答复质量。
- Pipeline 执行依赖 MCP 协议的统一结构。
6 潜在问题与解决方案
| 问题 |
描述 |
对策 |
| 性能瓶颈 |
大量数据 / 高并发 |
缓存 + 负载均衡 + 分布式 |
| 数据安全 |
私有库防越权 |
RBAC + 加密存储 |
| 浏览器兼容 |
老旧环境 |
兼容提示 + 降级模式 |
| 插件安全 |
扩展脚本风险 |
沙盒执行 + 签名校验 |
7 系统能力边界
- 并发用户:基于水平扩展,可支撑万级 QPS;单实例上限取决于硬件。
- 高峰负载:动态资源调度,自动扩容。
- 单请求数据量:推荐 ≤ 2 MB,超限时分页处理。
- 浏览器支持:Chrome / Edge / Firefox / Safari 最新正式版。
8 产品目标(学期 OKR)
| 指标 |
目标 |
| 真实用户 |
≥ 200 |
| DAU |
≥ 30 |
| 上传文档 |
≥ 300 份 |
| 构建任务 |
≥ 100 次 |
| 模型调用 |
≥ 500 次 |
| GitHub Star |
≥ 500 |
| Docker Pull |
≥ 300 |
9 技术栈与架构
- 后端:FastAPI + SQLAlchemy + PostgreSQL + Qdrant + MinIO (+ Redis 可选)
- 前端:React + React‑Flow + Zustand
- DevOps:Docker / Helm / GitHub Actions → K8s
- Observability:Prometheus, Grafana, OpenTelemetry, Sentry
(Front: React‑Flow) ─► server(API) ─► core(engine) ─► toolkit(drivers)
▲ │ │
└─ WebSocket(SSE) ◄──┘ observability
10 Beta 路线图
| Sprint |
时段 |
重点 |
| β‑0 |
05‑20 ~ 05‑25 |
架构改造:Redis Streams / Observability 基础 |
| β‑1 |
05‑26 ~ 06‑01 |
Flow Builder MVP(拖拽 + 草稿保存),插件市场 API + 前端 |
| β‑2 |
06‑02 ~ 06‑08 |
Admin Portal & 权限 V2,全链路监控 & 告警 |
任务追踪:全部通过 飞书文档
11 验收标准(Beta)
- 功能可用:新增功能在演示环境完整跑通。
- 性能达标:常规调用 ≤ 1 s;异常链路自动回退。
- 安全通过:无越权访问,插件运行受沙盒限制。
- 测试通过:CI 自动化测试全绿,覆盖率 ≥ 80 %。
- 文档同步:用户手册、API 文档与代码一致。
12 风险与应对
| 风险 |
等级 |
缓解措施 |
| 插件安全 |
高 |
沙盒执行 + 代码签名 + 审核流程 |
| 权限回归 |
高 |
越权用例 > 100 + 代码审计 |
| UI 复杂度 |
中 |
原型评审 + 双周迭代 |
| 工期延误 |
中 |
关键路径每日站会,风险提前暴露 |