SaiAkhil066/CORTEX-AI-SUPER-RAG

CORTEX RAG is an enterprise retrieval and knowledge assistant that helps teams find accurate answers from company data with citations, permission-aware retrieval, and fast deployment

Cortex AI SUPER RAG – 这是什么

Cortex RAG 是一个本地、开源的检索增强生成(RAG)系统,可让您上传 PDF、Word 文件或纯文本文档,并以自然语言对其提问。所有处理都通过 Ollama 在您自己的机器上进行(无需云 API 密钥)。该应用会确切显示每个答案来自哪个文档和页面。

核心概念与工作原理

  1. 文档摄取 – 文件被分割成保留原始文件名和页码的块。可选地,每个块会添加一个简短的“情境化”句子(情境检索)。
  2. 混合搜索 – 对于每个查询,系统会运行 BM25 关键词搜索和 FAISS 向量搜索(使用 nomic‑embed‑text)。每个搜索的前 20 个结果会通过倒数排名融合合并。
  3. 可选增强 –
    • 后续问题改写将聊天记录片段转换为完整问题。
    • 来源路由将搜索限制在查询中出现文件名的文件。
    • GraphRAG 构建轻量级的实体共现图,并引入相关段落。
    • 神经重排序器(交叉编码器 ms‑marco‑MiniLM‑L‑6‑v2)重新排序约 40 个候选项。
    • 纠正式 RAG(CRAG) 让 LLM 丢弃看似不相关的段落。
    • HyDE / RAG‑Fusion 生成假设性答案或多个改写版本以扩大检索范围。
  4. 答案生成 – 所选的 LLM(默认为 Ollama 的 llama3.1:8b)接收最终的段落集,构建提示,流式输出答案,并附加引用,如 file.pdf · p.12。
  5. 评估工具 – 内置工具可针对不同的管道配置运行一组问题,报告命中率、MRR、正确性和忠实度(例如仓库中包含的 FinanceBench 基准测试)。

开箱即用的功能

  • 带引用的、有来源依据的答案,包含页码。
  • 持久化的知识库存储在 indexes/<name>/ 下,可在重启后保留。
  • 侧边栏 UI 可切换每种技术的开/关,并在已安装的 Ollama 模型之间切换。
  • 计时面板显示给定查询每个阶段所花费的时间。
  • 内置评估用于衡量每个组件对您自己文档的影响。

谁会觉得这有用?

  • 分析师、律师、研究人员需要查询大量 PDF/Word 文档,而不将数据发送给第三方服务。
  • 开发人员想要一个现成的 RAG 管道,可以扩展(代码位于 utils/ 和 eval/)。
  • 团队正在寻找一个参考实现,以在私有数据上对混合搜索、重排序、GraphRAG 等进行基准测试。

需要记住的限制

  • 单用户,无身份验证——公开暴露不安全。
  • 无 OCR——扫描的 PDF 会被忽略。
  • 表格被扁平化为纯文本,这可能会损害财务报表查询。
  • 使用 8B LLM 时算术能力较弱;模型可能会拒绝回答而不是产生幻觉。
  • 速度各异:基本混合搜索不到一秒,但启用 HyDE、RAG‑Fusion 或 CRAG 可能会将响应时间推迟到数十秒。

快速入门(快速回顾)

# clone & install
git clone https://github.com/SaiAkhil066/CORTEX-AI-SUPER-RAG.git
cd CORTEX-AI-SUPER-RAG
pip install -r requirements.txt

# pull models via Ollama
ollama pull llama3.1:8b
ollama pull nomic-embed-text

# run the Streamlit UI
python -m streamlit run app.py   # → http://localhost:8501

您也可以使用提供的 Docker compose 设置,它在主机上运行 Ollama,并在容器中运行应用。

接下来看哪里

  • utils/ – 核心管道代码(retriever_pipeline.py、advanced_rag.py、build_graph.py)。
  • eval/ – 用于运行 FinanceBench 或您自己的黄金集评估的脚本。
  • app.py – Streamlit 前端、模型选择器和切换组件的侧边栏。
  • 贡献 – 在 PR 之前运行 pytest;对于任何检索更改,包括前/后评估数字。

以上所有细节直接取自仓库的 README。

相关

  • 项目
  • 项目
  • Dispatch
  • 项目
  • 项目