Skip to content

chore: add monthly full rag evaluation workflow - #133

Merged
Yu-JeSeung merged 2 commits into
mainfrom
ci/rag-full-evaluation
Jun 18, 2026
Merged

chore: add monthly full rag evaluation workflow#133
Yu-JeSeung merged 2 commits into
mainfrom
ci/rag-full-evaluation

Conversation

@Yu-JeSeung

@Yu-JeSeung Yu-JeSeung commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

🎯 배경

  • full RAG 평가는 모델 아티팩트, conda 환경, 로컬 캐시 의존성이 있어 기본 PR CI에서 실행하기 부담이 큽니다.
  • self-hosted runner에서 월 1회 또는 수동으로 전체 RAG 평가를 실행하고, GitHub에는 공개 가능한 요약 리포트만 남기도록 자동화가 필요했습니다.

🔍 주요 내용

  • RAG Full Evaluation GitHub Actions workflow를 추가했습니다.
  • workflow는 self-hosted runner에서 매월 20일 23:00 KST 또는 수동 실행으로 동작합니다.
  • 기존 scripts/check_rag_eval.sh를 재사용해 full RAG report를 생성합니다.
  • 상세 질문/답변이 포함된 원본 report는 runner 로컬에만 두고, GitHub artifact에는 날짜 prefix가 붙은 sanitized summary만 업로드합니다.
  • .gitignore에서 tests/reports/**/*.json은 계속 ignore하되, tests/reports/chatbot/*-rag_eval_summary.json은 공개 가능한 요약 리포트로 추적 가능하게 예외 처리했습니다.
  • README의 RAG 리포트 경로 예시를 tests/reports/chatbot/rag_eval_report.json 기준으로 정리했습니다.

변경 요약

매월 20일 23:00 KST에 자동 실행되는 RAG 전체 평가 워크플로우를 추가했습니다. 상세 평가 결과는 로컬에만 보관하고, 요약 리포트만 GitHub Artifacts에 공개하는 방식으로 구현했습니다.

주요 변경점

  • RAG Full Evaluation 워크플로우 추가 - 월 1회 자동 실행 또는 수동 트리거 가능하며 self-hosted 러너에서 동작
  • 준비 단계 강화 - KST 기준 날짜 계산, 모델 아티팩트 및 Python 환경 검증
  • 요약 리포트 생성 및 업로드 - 원본 JSON에서 민감 정보(errors 필드 등)를 제거한 sanitized 요약 생성
  • GitHub Step Summary 기록 - 실행 일정, 러너 정보, 경로 등 메타정보를 단계별로 기록
  • .gitignore 예외 규칙 추가 - *-rag_eval_summary.json 파일은 추적 가능하도록 명시적 제외
  • README 문서 업데이트 - RAG 평가 경로 및 워크플로우 설명 추가

주의/리스크

  • Self-hosted 러너의 가용성에 따라 월간 평가 실행이 영향받을 수 있음
  • 모델 아티팩트 파일 누락 시 평가가 실패하므로 러너의 환경 관리 필요

다음 액션

  • Self-hosted 러너 상태 모니터링 및 정기 점검
  • 모델 아티팩트 파일의 접근성 및 갱신 주기 확인

@Yu-JeSeung Yu-JeSeung self-assigned this Jun 17, 2026
@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@Yu-JeSeung, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 49 minutes and 33 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 59354169-009a-491d-8210-a58bc10fcad7

📥 Commits

Reviewing files that changed from the base of the PR and between f2cd893 and 7d71ee9.

📒 Files selected for processing (2)
  • .github/workflows/rag-full-evaluation.yml
  • README.md
📝 Walkthrough

Walkthrough

월간 스케줄(UTC 매월 20일 14:00) 및 수동 트리거로 RAG 전체 평가를 수행하는 GitHub Actions 워크플로우(.github/workflows/rag-full-evaluation.yml)를 신규 추가한다. .gitignore에 summary JSON 추적 예외 규칙을 추가하고, README.md의 자동화 설명과 평가 출력 경로를 업데이트한다.

Changes

RAG Full Evaluation CI 워크플로우 추가

Layer / File(s) Summary
워크플로우 트리거·권한·동시성 설정
.github/workflows/rag-full-evaluation.yml
워크플로우 이름, 수동/크론 트리거, contents: read 권한, rag-full-evaluation 동시성 그룹, self-hosted 러너 및 30분 타임아웃을 정의한다.
전제 조건 검증 및 평가 실행
.github/workflows/rag-full-evaluation.yml
KST 기준 날짜·경로를 계산해 GITHUB_ENV/GITHUB_OUTPUT에 기록하고, conda 환경(dl_study)과 model/artifacts 파일 존재 여부를 검사한 뒤 check_rag_eval.sh를 실행한다.
보고서 정제·Step Summary 작성 및 아티팩트 업로드
.github/workflows/rag-full-evaluation.yml, .gitignore
if: always() 조건에서 인라인 Python으로 리포트 JSON의 errors 필드를 제거한 sanitized 요약 JSON을 생성하고 Step Summary에 메트릭 테이블을 출력한 뒤, actions/upload-artifact@v4로 날짜 prefix 아티팩트를 업로드한다. .gitignore에 summary JSON 추적 예외 규칙도 함께 적용된다.
README 문서 업데이트
README.md
RAG Light Check/Full Evaluation 자동화 설명을 구체화하고, 전체 평가 출력 경로를 /tmp에서 tests/reports/chatbot/rag_eval_report.json으로 변경하며, 기준선 표의 비고 경로를 갱신한다.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • dongsooop/AI#126: 이 PR의 워크플로우가 의존하는 scripts/check_rag_eval.sh의 기본 REPORT_PATHtests/reports/chatbot/rag_eval_report.json으로 변경한 PR로, sanitized 요약 생성 경로와 직접 연관된다.

Suggested labels

docs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed PR 제목이 주요 변경 사항인 월간 full RAG 평가 워크플로우 추가를 명확하고 간결하게 요약하고 있습니다.
Description check ✅ Passed PR 설명이 필수 템플릿 섹션(배경, 주요 내용)을 모두 포함하고 있으며, 변경 사항이 충분히 상세하게 기술되어 있습니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/rag-full-evaluation

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/rag-full-evaluation.yml:
- Line 23: The GitHub Actions workflow uses floating version tags for
actions/checkout and actions/upload-artifact which poses supply chain security
risk. Replace the floating version tags (actions/checkout@v5 on line 23 and
actions/upload-artifact@v4 on line 128) with their corresponding 40-character
commit SHAs to pin to exact versions and eliminate the supply chain
vulnerability.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 3a8ed3cf-49f6-434f-a337-48eacb5ae146

📥 Commits

Reviewing files that changed from the base of the PR and between a7a8296 and f2cd893.

📒 Files selected for processing (3)
  • .github/workflows/rag-full-evaluation.yml
  • .gitignore
  • README.md

Comment thread .github/workflows/rag-full-evaluation.yml Outdated
@Yu-JeSeung
Yu-JeSeung merged commit f29d7df into main Jun 18, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant