Vortex RAG → PanAI 3.5 集成架构
Vortex 是一个开源自托管 RAG 应用,支持任意 LLM provider,具备混合检索(pgvector 余弦距离 + BM25 关键词匹配,RRF 融合)、重排序、以及来源引用功能。
这与 PanAI 3.5 的架构有高度互补性,但也有技术层面的摩擦点需要处理。
技术栈对比与摩擦点
|层次 |Vortex RAG |PanAI 3.5 |摩擦点 |
|—-|——————-|—-
|前端 |Next.js |Vue 3 |独立部署,API 桥接|
|向量库 |pgvector (Supabase)|Elasticsearch |双轨并存或迁移 |
|LLM |OpenRouter |Claude API |需统一路由 |
|知识图谱|
|Neo4j |Vortex 无此层 |
|神学框架|
|Golden Path / 四维框架|须从 PanAI 注入|
层次一:LLM Provider 统一(最快集成路径)
Vortex 通过 OpenRouter 调用 LLM,可将 OpenRouter 端点替换为 PanAI 的 OpenAI 兼容层,让 Vortex 的检索结果流经 PanAI 的神学推理管道:
.env.local(Vortex 侧)
OPENROUTER_API_KEY=panai-
OPENROUTER_BASE_URL=http://
OPENROUTER_MODEL=panai-rag-
PanAI FastAPI 侧的接收端点(沿用上次架构):
# FastAPI: openai_compat.py(扩展版)
@router.post(“/v1/chat/
async def vortex_compat(request: OpenAIRequest):
user_query = request.messages[-1].content
# 1. 接收 Vortex 传来的已检索 context(在 system message 中)
vortex_context = extract_system_context(
# 2. 叠加 PanAI 自有 Neo4j 知识图谱检索
neo4j_concepts = await neo4j_retrieve(user_query)
# 3. 叠加 PanAI Elasticsearch 精确检索
es_chunks = await es_retrieve(
query=user_query,
filter={“tradition”: “nee-lee”},
top_k=3
)
# 4. 构建增强 prompt(含神学框架约束)
augmented = build_panai_prompt(
query=user_query,
vortex_context=vortex_context, # Vortex 的 pgvector 结果
neo4j_concepts=neo4j_concepts, # PanAI 知识图谱
es_chunks=es_chunks, # PanAI 文献库
framework=”golden_path” # 激活黄金路径
)
# 5. 调用 Claude
return await stream_claude_openai_format(
这样 Vortex 负责前端 UI + pgvector 初筛,PanAI 负责神学深度推理,两者形成串联管道。
层次二:向量库双轨融合
Vortex 使用 Supabase pgvector,PanAI 使用 Elasticsearch。两者可通过 RRF(Reciprocal Rank Fusion) 在 PanAI 侧统一合并:
# FastAPI: hybrid_retriever.py
async def unified_retrieve(query: str, top_k: int = 8) -> list:
# 轨道 A: Vortex pgvector(语义)
pgvector_results = await query_supabase_pgvector(
query_embedding=await embed(query),
kb_id=VORTEX_KB_ID,
limit=10
)
# 轨道 B: PanAI Elasticsearch(BM25 + 神学 metadata filter)
es_results = await es_retrieve(
query=query,
filter={“tradition”: “nee-lee”},
top_k=10
)
# 轨道 C: PanAI Neo4j(概念图谱)
neo4j_results = await neo4j_retrieve(query)
# RRF 三轨融合
return reciprocal_rank_fusion(
lists=[pgvector_results, es_results, neo4j_results],
k=60, # RRF 常数
weights=[0.3, 0.5, 0.2] # ES 权重最高(神学文献质量)
)
def reciprocal_rank_fusion(lists, k=60, weights=None):
scores = {}
for i, ranked_list in enumerate(lists):
w = weights[i] if weights else 1.0
for rank, doc in enumerate(ranked_list):
doc_id = doc[“id”]
scores[doc_id] = scores.get(doc_id, 0) + w * (1 / (k + rank + 1))
return sorted(scores.items(), key=lambda x: x[1], reverse=True)
层次三:Vortex Knowledge Base → PanAI 入库双写
当文档上传到 Vortex 时,同步触发 PanAI 的入库管道:
# Supabase Edge Function(Vortex 侧触发器)
# supabase/functions/panai-sync/
Deno.serve(async (req) => {
const { record } = await req.json() // documents 表新插入记录
// 同步到 PanAI
await fetch(“http://your-panai-
method: “POST”,
headers: { “Content-Type”: “application/json” },
body: JSON.stringify({
content: record.content,
metadata: {
title: record.title,
source: “vortex”,
vortex_id: record.id,
kb_id: record.kb_id,
tradition: “nee-lee” // PanAI metadata 标记
}
})
})
return new Response(“synced”, { status: 200 })
})
在 Supabase Dashboard 中为 documents 表创建 Webhook,指向此 Edge Function,即可实现上传即同步。
层次四:Vortex UI 嵌入 PanAI 神学框架面板
在 Vortex 的 Next.js 前端中扩展聊天界面,展示 PanAI 的四维评分和黄金路径:
// components/PanAIPanel.tsx(嵌入 Vortex Chat UI)
import { useState } from “react”
export function PanAIPanel({ message }: { message: string }) {
const [analysis, setAnalysis] = useState(null)
const runGoldenPath = async () => {
const res = await fetch(“http://localhost:8000/
method: “POST”,
body: JSON.stringify({ query: message })
})
setAnalysis(await res.json())
}
return (
<div className=”panai-panel border-l pl-4″>
<button onClick={runGoldenPath}>
Golden Path 分析</button>
{analysis && (
<div>
{/* 四维雷达图评分 */}
<RadarChart scores={analysis.four_
{/* Scripture Alignment L1-L5 */}
<AlignmentLayer layers={analysis.alignment_
{/* Q 五步分析 */}
<QFiveStep steps={analysis.q_five_steps} />
</div>
)}
</div>
)
}
完整集成架构图
用户
│
▼
Vortex RAG (Next.js :3000)
├── 文档上传 ──────────────────────────► Supabase pgvector
│ │ Webhook
│ ▼
│ PanAI /ingest
│ (ES + Neo4j 双写)
│
├── 聊天查询
│ ├── pgvector 初筛
│ └── 调用 OpenRouter → 重定向至 PanAI /v1/chat/completions
│ │
│ ┌────────┴────────┐
│ ES检索 Neo4j概念图谱
│ └────────┬────────┘
│ │ RRF 融合
│ ▼
│ Claude API
│ (Golden Path / 四维框架)
│
└── PanAI Panel ──────────► /api/golden-path
(嵌入 Vortex UI) /api/four-dimension
/api/scripture-alignment
关键判断:是否值得集成?
|场景 |建议 |
|———————|——-
|需要快速部署一个有 UI 的 RAG 前端|
Vortex 作为 PanAI 前端壳 |
|已有 Supabase 托管文档库 |
pgvector 双轨融合有价值 |
|需要神学框架深度分析 |
必须叠加 PanAI 层,Vortex 单独不够|
|已有稳定的 Vue 3 前端 |
无需 Vortex,直接 PanAI 自有 UI|
最简集成路径(一天内可完成):仅修改 Vortex 的 .env.local,将 OpenRouter URL 指向 PanAI 的 /v1 兼容接口。Vortex 负责 UI 和 pgvector 检索,PanAI 在 LLM 层注入神学推理。你现在 PanAI 3.5 是否已经有 /v1/chat/completions 兼容端点?