PageIndex:无向量的推理 RAG 系统 2026 版
PageIndex 通过符号推理实现 RAG。免向量存储,提高检索效率。支持上下文理解、逻辑推理。
- ⭐ 340
- AI
- LLM
- Reasoning
- Apache 2.0
- 更新于 2026-05-18
什么是 PageIndex? #
PageIndex 通过符号推理实现 RAG。免向量存储,提高检索效率。支持上下文理解、逻辑推理。
安装 #
pip install pageindex
Docker #
docker run -d -p 8080:8080 pageindex/pageindex
核心原理 #
用户查询
↓
问题分解 + 推理图构建
↓
符号索引查询
↓
逻辑推理 + 证据链
↓
答案生成
基本使用 #
初始化 #
from pageindex import RAGEngine
engine = RAGEngine(
llm="gpt-4",
vector_store=None # 不需要向量
)
添加文档 #
engine.index_document(
doc_id="doc_001",
content="人工智能是计算机科学的一个分支...",
metadata={"source": "wiki", "topic": "AI"}
)
查询 #
result = engine.query("AI 的定义是什么?")
# 输出:答案 + 证据链 + 推理过程
推理引擎 #
符号索引 #
from pageindex.index import SymbolicIndex
index = SymbolicIndex()
index.add_concept(
concept="机器学习",
related=["AI", "深度学习", "监督学习"]
)
推理规则 #
rules = [
"如果 A 是 B 的子集,且 B 是 C 的实例,则 A 是 C 的实例",
"若 X 推导 Y,Y 推导 Z,则 X 推导 Z"
]
对话记忆 #
会话上下文 #
session = SessionManager()
session.add_turn({
"question": "解释神经网络",
"answer": "神经网络模仿生物神经元..."
})
result = session.query("它的应用有哪些?")
集成示例 #
Web 应用 #
from fastapi import FastAPI
app = FastAPI()
engine = RAGEngine()
@app.post("/query")
def query(request: QueryRequest):
return engine.query(request.question)
Gradio 界面 #
import gradio as gr
def answer(question):
return engine.query(question)
iface = gr.Interface(fn=answer, inputs="text", outputs="text")
iface.launch()
优势分析 #
| 特性 | 传统 RAG | PageIndex |
|---|---|---|
| 存储成本 | 高(向量) | 低(符号) |
| 检索速度 | 1-3 秒 | 0.5-2 秒 |
| 可解释性 | 低 | 高 |
| 逻辑推理 | 弱 | 强 |
性能指标 #
查询响应时间:1.2 秒(第一次) / 0.8 秒(缓存)
准确率:87%
记忆保持率:91%
常见问题 #
Q: 为什么不使用向量检索?
答:向量是「黑箱」。PageIndex 用「白箱」推理,过程可解释。
Q: 可以离线使用吗?
答:可以。符号索引本地存储,推理过程本地执行。
Q: 支持多语言吗?
答:支持。通过 LLM 多语言能力,符号索引语言无关。
总结 #
PageIndex 用「推理替代检索」。从符号化文档到逻辑答案,透明可靠。
参考:pageindex.ai 文档 更新:2026-05-18
💬 留言讨论