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-local-key
OPENROUTER_BASE_URL=http://localhost:8000/v1 ← 指向 PanAI
OPENROUTER_MODEL=panai-rag-claude

PanAI FastAPI 侧的接收端点(沿用上次架构):

# FastAPI: openai_compat.py(扩展版)
@router.post(“/v1/chat/completions”)
async def vortex_compat(request: OpenAIRequest):
user_query = request.messages[-1].content

# 1. 接收 Vortex 传来的已检索 context(在 system message 中)
vortex_context = extract_system_context(request.messages)

# 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(augmented)

这样 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/index.ts

Deno.serve(async (req) => {
const { record } = await req.json() // documents 表新插入记录

// 同步到 PanAI
await fetch(“http://your-panai-server:8000/api/ingest“, {
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/api/golden-path“, {
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_dimension_scores} />

{/* Scripture Alignment L1-L5 */}
<AlignmentLayer layers={analysis.alignment_layers} />

{/* 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 兼容端点?