🍚 깃밥 PRO가 열렸어요 — 월 3,900원 · 알아보기 →
aieng-abdullah/production-rag-assistant

연구 논문 PDF를 업로드하면 각 문장이 출처를 명시한 인용으로 질문에 답하는 RAG 시스템

완성 앱확인 필요 · NOASSERTION기획·설계Python난이도
810 찜
5포크6이슈
데모·홈페이지 열기groundedai-frontend.onrender.com

중간맛 분석

연구 논문의 답변이 항상 출처를 명시하도록 강제하는 RAG 시스템이다. 사용자가 PDF를 업로드하면 PyMuPDF로 페이지 단위 추출 → 256자 청크 분할 → 임베딩 생성 → ChromaDB 저장까지 진행한다. 검색은 BM25(키워드)과 벡터 검색(의미)을 합친 후 cross-encoder로 상위 5개 청크만 재정렬한다. LLM은 Groq(무료)를 기본으로 하되 실패 시 Anthropic·OpenAI로 자동 전환하며, 3회 재시도와 지수 백오프를 적용한다. 최종 답변은 Pydantic 검증으로 모든 문장의 [SOURCE N] 형식을 확인해 부분 환각을 차단한다. Streamlit UI로 즉시 배포 가능하며, Langfuse 추적으로 지연 시간 병목을 측정했다(p50 1.54초, p95 11.09초, cross-encoder가 주 원인). 5개 질문-답변 황금 세트로 Ragas 평가했을 때 충실성 1.00, 답변 적절성 0.88을 기록했으나 문맥 정밀도는 0.375로 미흡하다.

이런 레포예요

이럴 때 쓰면 좋아요

  • 연구자가 여러 학술 논문을 한 곳에서 질문하고 각 답변의 출처 페이지를 정확히 확인하며 논문 작성 시 신뢰할 수 있는 인용을 생성할 때
  • 대학원생이 기술 논문에서 특정 알고리즘이나 구현 세부 사항을 검색할 때 출처가 명시된 설명을 얻음
  • 학생이 수강 중인 과목 논문들을 업로드해 개념 간 연결을 찾고, 과제에 사용할 인용을 원본 페이지 번호와 함께 추출할 때

핵심 기능

문장 단위 Pydantic 검증으로 모든 답변이 [SOURCE N] 인용을 강제BM25과 벡터 검색을 Reciprocal Rank Fusion으로 결합한 하이브리드 검색Groq·Anthropic·OpenAI 간 자동 failover와 재시도 메커니즘

대안 대비 차별점

프롬프트가 아닌 검증 계층(Pydantic)에서 문장마다 인용을 강제하며, 141개 실제 추적으로 cross-encoder 재정렬이 병목임을 측정해 직관과 다른 최적화 대상을 입증했다.

먹어본 사람들

실제로 차려 먹어본 손님들의 흔적이에요 — 한마디와 완주 인증 모두 검수 후 공개돼요.

시식평 · 먹어본 사람 한마디

아직 시식평이 없어요. 먹어보셨다면 첫 한마디를 남겨주세요.

다른 레포 시식평 구경하기 →

이 레포로 만든 것들

🖋 완주 인증하기

아직 이 레포로 만든 완주 인증이 없어요. 첫 밥도장을 찍어보세요!

이 레포, 해먹는 법

처음 오셨어요? 어렵지 않아요 — 위에서 아래로 따라 하면 내 컴퓨터에 이 레포를 차려서 바로 맛볼 수 있어요.

준비물

  • Python 3.12
  • Groq API 키(필수, 또는 Anthropic/OpenAI 키 중 최소 하나)

바로 차려먹기Python (uv)

깃밥이 레포 구조를 확인하고 만든 실행 명령이에요. 터미널에 붙여넣으면 받기부터 실행까지 한 번에 진행돼요.

git clone --depth 1 https://github.com/aieng-abdullah/production-rag-assistant.git &&
cd production-rag-assistant &&
uv venv &&
uv pip install -r requirements.txt

uv가 없다면: brew install uv · 실행 명령은 README를 확인하세요.

코드는 내 컴퓨터에서 실행돼요 — 처음 보는 레포라면 내용을 한번 훑어보고 실행하는 습관을 추천해요.

README가 안내하는 자세한 단계 보기
  1. 레포지토리를 클론하고 진입한다.
git clone https://github.com/aieng-abdullah/production-rag-assistant.git
cd production-rag-assistant
  1. Python 가상 환경을 생성하고 활성화한다.
python3 -m venv venv
source venv/bin/activate
  1. 패키지 의존성을 설치한다.
pip install -r requirements.txt
  1. 환경변수 파일을 생성하고 Groq API 키를 최소한 설정한다.
cp .env.example .env
# .env 파일을 열어 GROQ_API_KEY를 추가한다
  1. Streamlit 앱을 실행한다.
streamlit run app.py

깃밥트라이로 맛보기

받아보기 귀찮고 살짝 불안했다면 — 안전 스캔부터 설치까지 터미널 한 줄로 끝나요.

터미널에 붙여넣으면 깃밥 안전 스캔 → 격리 폴더 clone → 설치 → 실행법 안내까지 자동이에요. 처음이어도 괜찮아요 — 이 한 줄이 전부예요.

npx gitbap-try aieng-abdullah/production-rag-assistant

Node.js만 있으면 설치 없이 실행돼요 · 깃밥트라이가 뭐예요? →

별 추이 · 7일

817일 증가분은 비교 데이터가 부족해요

확인 시각

활용성 · 따라 만들기 좋은가

따라 하기 좋음샘플 점수 44/100
  • 관대한 라이선스
  • 테스트 있음
  • 예제 디렉토리
  • 최근 활동
  • AGENTS.md
  • llms.txt
  • 템플릿

🟢 최근 활동 있음 · 2026년 생성

「기획·설계」 이런 레포, 매주 받아보실래요?

매주 월요일 아침, 골라 담은 밥상만. 광고 없이 · 언제든 해지.

내 레포인가요? README에 깃밥 배지 달기
[![깃밥](https://www.gitbap.com/badge/aieng-abdullah/production-rag-assistant.svg)](https://www.gitbap.com/r/aieng-abdullah/production-rag-assistant)
🔌 클로드에서 바로 써보기 — 깃밥 연결하는 법

깃밥을 클로드에 연결하면 이런 레포를 클로드·커서·Codex에서 바로 찾고 체험할 수 있어요.

방법 ① 커넥터 URL

클로드 설정 → 커넥터에 이 주소를 붙여넣기.

https://www.gitbap.com/api/mcp
방법 ② 플러그인 (체험까지)

플러그인을 설치하면 /gitbap-trending·/gitbap-try 슬래시 커맨드로 레포를 그 자리에서 체험. Claude Code에서 아래 두 줄을 차례로 실행하세요.

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
연결 방법 자세히 →

AI가 README 기반으로 요약했습니다 · 원문 보기