raphaelmansuy/edgequake

EdegQuake 🌋 High-performance GraphRAG inspired from LightRag written in Rust; Transform documents into intelligent knowledge graphs for superior retrieval and generation

EdgeQuake – 单个 Rust 二进制文件中的 Graph-RAG

这是什么 – EdgeQuake 是一个开源的检索增强生成(RAG)系统,它将文档存储为 知识图谱,而不仅仅是平面的文本向量。它用 Rust 编写,以单个可执行文件形式发布,并使用单个 PostgreSQL 实例(带有 pgvector 和 Apache AGE 扩展)来存储向量嵌入和图数据。任何支持 OpenAI/Anthropic API 的 LLM 都可以使用——从云服务(OpenAI、Anthropic、Gemini、Mistral)到本地服务器(Ollama、LM Studio、oMLX、llama.cpp、vLLM-MLX 等)。


工作原理(高层流程)

Document → chunking → LLM extracts entities & relations → stored as:
   • embeddings in pgvector
   • graph nodes/edges in Apache AGE

Query → keyword extraction → vector search + graph walk → LLM generates answer

该系统支持多种检索 模式(naive、local、global、hybrid(默认)、mix、bypass),它们将纯向量相似性与图遍历相结合,以呈现依赖于概念之间关系的答案。


快速开始(仅 Docker,无需 Rust/Node)

# 一行命令获取辅助脚本,运行 Docker compose 并启动 UI
curl -fsSL https://raw.githubusercontent.com/raphaelmansuy/edgequake/edgequake-main/quickstart.sh | sh

您也可以在 CI 中无头运行:

quickstart.sh --yes --provider ollama
quickstart.sh --yes --provider omlx --base-url http://host.docker.internal:9050

通过 UI 或 API 上传 PDF 并提问:

curl -X POST http://localhost:8080/api/v1/documents/upload -F "file=@my.pdf"
curl -X POST http://localhost:8080/api/v1/query \
  -H "Content-Type: application/json" \
  -d '{"query":"What are the main concepts?","mode":"hybrid"}'

选择语言模型

目标 提供商 配置方式
最佳质量,无需硬件 OpenAI、Anthropic、Gemini、Mistral Settings → Connections 或环境变量(例如 OPENAI_API_KEY)
私有,本地运行 Ollama、LM Studio、oMLX、MLX-LM、llama.cpp、vLLM-MLX 相同的 UI 或环境变量(EDGEQUAKE_PROVIDER=ollama)
云 LLM + 本地嵌入混合 任何云 LLM + 本地嵌入服务器 设置 EDGEQUAKE_EMBEDDING_PROVIDER
自定义网关 任何 OpenAI 兼容端点 使用 通用 提供商文档

每个工作区可以为每个角色(提取、查询、摘要、嵌入、视觉等)分配不同的模型。edgequake doctor 命令和 POST /api/v1/providers/test 可让您验证连接。


生产级功能

  • 单一数据存储 – 带有 pgvector(嵌入)和 Apache AGE(图)的 PostgreSQL 16-18。无需管理单独的向量数据库或图数据库。
  • 安全迁移 – 显式的 edgequake migrate 命令;每次发布都会对迁移进行重放测试。
  • 安全性 – 默认仅回环,AES-256-GCM 加密提供商密钥,可选 SSO(Keycloak/OIDC),审计日志,多租户工作区隔离。
  • PDF 视觉流水线 – 通过内置 pdfium 进行文本提取;针对扫描表格和复杂布局的可选视觉模式。
  • 健康检查 – /health 探测真实的 LLM 提供商;edgequake doctor 检查数据库、模式和安全性状况。
  • 多架构 Docker 镜像 – linux/amd64 和 linux/arm64 发布在 GHCR 上。

基准测试(坦诚的数据)

指标 EdgeQuake LightRAG(Python) 结论
答案准确率 0.792 0.786 统计上持平
冷查询 p50 延迟 4447 毫秒 4359 毫秒 ≈ 持平
热查询 p50(缓存) 82 毫秒 993 毫秒 EdgeQuake 快得多
证据召回率 0.932 0.949 LightRAG 略胜一筹

作者强调,EdgeQuake 在检索质量上与 LightRAG 相当,同时提供了生产级的 Rust 实现、更快的缓存响应和更丰富的功能集。


生态系统与集成

  • SDK – Python、TypeScript、Rust,以及用于 Go、Java、Kotlin、C#、PHP、Ruby、Swift 的社区 SDK。
  • AI 代理 – 用于代理编排的 MCP 服务器。
  • 应用程序 – 与 OpenWebUI 和 LangChain 的即用型集成。
  • API – OpenAPI 3.0 规范、SSE 流式传输、批量摄取、Swagger UI。

文档与学习资源

  • Web UI 的视觉导览(tutorial/README.md)。
  • 完整的 入门 指南、第一个 RAG 应用教程和提供商配置文档。
  • LightRAG 算法和 EdgeQuake 架构的深入解析。
  • 运维文档:部署、Docker 选项、监控、运行时身份验证强化、升级流程、故障排除。

谁可能使用它?

  • 企业 – 需要具有严格数据隔离和可审计性的自托管 RAG 堆栈的企业。
  • 开发者 – 构建需要关系感知检索(例如“谁向谁汇报”)的 AI 代理或聊天机器人。
  • 研究人员 – 希望无需管理多个服务即可试验 Graph-RAG 的研究人员。
  • 团队 – 已经运行 PostgreSQL 并倾向于使用单个二进制文件以简化运维的团队。

许可证

Apache License 2.0(2024-2026 © Raphaël Mansuy)。


TL;DR

EdgeQuake 为您提供了一个 Rust 原生、单二进制 RAG 平台,它将文档存储为 PostgreSQL 中的 知识图谱,允许您接入 任何 LLM(云端或本地),并提供现成的 UI、REST API、SDK 以及生产级的安全和升级机制。这是在没有单独向量和图数据库的运维开销的情况下尝试 Graph-RAG 的实用方法。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目