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개 결과는 Reciprocal Rank Fusion으로 병합됩니다.
  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 모델 간에 전환할 수 있습니다.
  • 타이밍 패널은 주어진 쿼리에 대해 각 단계가 걸린 시간을 보여줍니다.
  • 내장 평가로 각 구성 요소가 자신의 문서에 미치는 영향을 측정할 수 있습니다.

누구에게 유용한가?

  • 분석가, 변호사, 연구원으로서 데이터를 제3자 서비스에 보내지 않고 대량의 PDF/Word 문서를 쿼리해야 하는 사람.
  • 개발자로서 확장 가능한 기성 RAG 파이프라인을 원하는 사람(코드는 utils/ 및 eval/에 있음).
  • 팀으로서 비공개 데이터에서 하이브리드 검색, 재순위, GraphRAG 등을 벤치마킹할 참조 구현을 찾는 사람.

염두에 둘 제한 사항

  • 단일 사용자, 인증 없음 – 공개적으로 노출하는 것은 안전하지 않습니다.
  • OCR 없음 – 스캔한 PDF는 무시됩니다.
  • 테이블은 일반 텍스트로 평면화되어 재무제표 쿼리에 해로울 수 있습니다.
  • 8B LLM으로는 산술이 약합니다. 모델이 환각을 일으키기보다 거부할 수 있습니다.
  • 속도는 다양합니다: 기본 하이브리드 검색은 1초 미만이지만 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
  • 프로젝트
  • 프로젝트