FastAPI 实现的 Agentic RAG Vault MVP,支持基于 Obsidian 知识库的智能问答系统。
- 7 个智能步骤:Orchestrator、Planner、Query Rewriter、Search Fanout、Evidence Selector、Context Gate、Synthesis
- 迭代检索:多轮检索优化,确保答案完整性
- 混合检索:向量相似度 + 词法匹配
- 证据需求拆解:先生成回答所需的 evidence requirements,而不是直接固定 Top-K
- 动态证据选择:从较大的候选池里选择覆盖需求的最小证据集
- 上下文门禁:评估覆盖率、重复度、冲突、密度和可回答性
- 可追溯性:完整的执行轨迹和引用来源
- Python 3.11+
- FastAPI - 现代高性能 Web 框架
- uv - 快速的 Python 包管理器
- NumPy - 向量运算优化
- Pydantic - 数据验证
使用 uv(推荐):
cd google-agentic-rag-vault-fastapi
uv sync创建 .env 文件:
VAULT_PATH=/path/to/your/Obsidian Vault
PORT=4174
HOST=127.0.0.1uv run python scripts/reindex.pyuv run python -m app.main服务将在 http://127.0.0.1:4174 启动
访问 http://127.0.0.1:4174 使用 Web 界面。
获取向量存储状态
重建向量索引
运行 Agentic RAG 查询
分析查询复杂度和信息需求,并生成 evidence requirements。
决定检索哪些语料库。
将查询扩展为多个变体。
执行混合检索,召回较大的候选池。
按“相关性 + 新增需求覆盖 + 来源质量 - 重复 - 无关内容”选择最小充分证据集。
检查覆盖率、重复、冲突、密度和 reachability;如果缺证据,下一轮只检索缺口。
生成最终答案。
MIT License