Skip to content

Implement summary and tag validation logic#16

Open
imyeyun wants to merge 2 commits into
PyTorchKorea:mainfrom
imyeyun:master
Open

Implement summary and tag validation logic#16
imyeyun wants to merge 2 commits into
PyTorchKorea:mainfrom
imyeyun:master

Conversation

@imyeyun
Copy link
Copy Markdown

@imyeyun imyeyun commented May 14, 2026

이슈 : #7

구현 내용

  • PR 환경에서 data/*.yaml 전체를 매번 검증하지 않고, 새롭게 추가된 entry(id)만 LLM 검증하도록 워크플로우를 개선했습니다.
  • scripts/validate_llm_metadata.py에 --entry-ids 옵션을 추가하여, 전달된 ID 목록에 대해서만 검증하도록 지원했습니다.
  • 기존 영어 요약문(description_en) 검증에 더해, 한국어 요약문(description_ko)도 검증 대상에 포함했습니다.
  • LLM 응답의 reason은 한국어로 작성하도록 프롬프트 규칙을 보강했습니다.
  • 결과 객체(ValidationResult)에 summary_ko 필드를 반영해 한국어 요약문도 리포트 데이터에 포함되도록 했습니다.
  • 관련 단위 테스트를 최신 구조에 맞게 수정했습니다.

실행 방법

1) GitHub Actions에서 실행
워크플로우 파일: .github/workflows/llm-metadata-validation.yml

동작 방식:

pull_request 이벤트에서 data/*.yaml 변경 시 실행

PR에서는 diff 기준으로 신규 추가된 id만 추출하여 검증

신규 추가 id가 없으면 스킵 리포트 생성

schedule, workflow_dispatch에서는 전체 또는 지정 모드로 실행

2) 로컬 실행

python scripts/validate_llm_metadata.py \
  --mode report \
  --output reports/llm_validation_report.json \
  --summary-output reports/llm_validation_summary.md

3) 특정 엔트리만 실행

python scripts/validate_llm_metadata.py \
  --mode report \
  --entry-ids "entry_id_1,entry_id_2" \
  --output reports/llm_validation_report.json \
  --summary-output reports/llm_validation_summary.md

실행 결과

PR에서 신규로 추가된 데이터가 있을 경우: 해당 ID만 검증 리포트 생성

PR에서 신규 추가 데이터가 없을 경우: 스킵 상태 리포트 생성

검증 시 영어/한국어 요약문 모두 근거 기반으로 판단

reason은 한국어로 반환

테스트 실행 방법 및 결과

테스트 실행
pytest -q tests/test_validate_llm_metadata.py
테스트 결과
11 passed in 0.21s

@imyeyun imyeyun requested a review from jih0-kim as a code owner May 14, 2026 08:26
Copy link
Copy Markdown
Member

@jih0-kim jih0-kim left a comment

Choose a reason for hiding this comment

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

@imyeyun
코멘트 드린 내용 확인 부탁드립니다!
그리고 실제 동작 확인을 위해, 기존 yaml에 있는 항목 몇 가지로 로컬에서 돌려본 결과를 PR에 첨부해주실 수 있을까요?

Comment on lines +19 to +21
options:
- report
- strict
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

이 옵션을 사용하는 게 어떤 의미인지 알 수 있을까요? 각 옵션별로 어떻게 동작하는지 궁금합니다.

if: github.event_name == 'pull_request' && steps.changed-ids.outputs.entry_ids == ''
run: |
mkdir -p reports
cat <<'EOF' > reports/llm_validation_report.json
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

EOF 앞뒤에 따옴표가 붙으면 뒤에 이어지는 코드에서 변수 치환이 제대로 되지 않는 것으로 보여, 확인 부탁드립니다.
66L도 같이 확인 부탁드려요.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants