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