Skip to content

feat: 룰 스코어링(3.2), 5개 지표 산식(4.2), Q&A 생성(7.4), 출처 태그 추가 - #7

Merged
minki091212 merged 1 commit into
mainfrom
develop
Jun 30, 2026
Merged

minki091212 merged 1 commit into
mainfrom
develop

Conversation

@minki091212

Copy link
Copy Markdown
Contributor

Summary

  • app/scoring 패키지 신설 — 룰 기반 식자재 스코어링(LLM 불사용), KAMIS 선택적 연동
  • 5개 지표 산식 정의 (지역농산물활용률·제철반영률·1인단가·폐기감소율·예산절감율)
  • 단건 추천 응답에 예상 Q&A 6개 자동 생성 추가
  • reason 필드에 [학교재고]·[농사로]·[KAMIS] 출처 태그 삽입

변경 파일

파일 변경 내용
app/scoring/seasonal.py 농사로 기준 월별 제철 식재료 (12개월 하드코딩)
app/scoring/kamis.py KAMIS API 가격 스코어 (키 없으면 0.5 반환)
app/scoring/scorer.py 제철(0.30)·가격(0.25)·재고(0.30)·선호(0.10)·예산(0.05) 가중합
app/scoring/metrics.py 4.2 산식 5개 순수 함수
app/agent/nodes.py 노드 4개 추가, generate_single_meal 프롬프트 수정
app/agent/graph.py 단건/월간 그래프 배선 변경
app/api/agent.py 응답 스키마에 qa_pairs, meal_metrics 추가
app/core/config.py KAMIS_API_KEY 환경변수 추가

Test plan

  • 스코어링 단위 테스트 (scorer.py)
  • 산식 단위 테스트 (metrics.py)
  • mock backend + AI 서버 기동 후 /agent/recommend-meal 호출 → reason에 출처 태그 포함 여부 확인
  • 응답 qa_pairs 6개, meal_metrics 5개 키 존재 여부 확인

🤖 Generated with Claude Code

- app/scoring 패키지 신설
  - seasonal.py: 농사로 기준 월별 제철 식재료 (12개월)
  - kamis.py: KAMIS API 가격 스코어 (키 없으면 0.5 반환)
  - scorer.py: 제철(0.30)·가격(0.25)·재고(0.30)·선호(0.10)·예산(0.05) 가중합
  - metrics.py: 지역농산물활용률·제철반영률·1인단가·폐기감소율·예산절감율
- nodes.py: score_ingredients_single/score_ingredients, generate_qa, compute_metrics 노드 추가
- nodes.py: generate_single_meal 프롬프트에 출처 태그([학교재고]/[농사로]/[KAMIS]) 규칙 삽입
- graph.py: 단건/월간 그래프에 스코어링·Q&A·지표 계산 노드 연결
- api/agent.py: 응답에 qa_pairs, meal_metrics 필드 추가
- config.py: KAMIS_API_KEY 환경변수 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@minki091212
minki091212 merged commit bc74082 into main Jun 30, 2026
3 checks passed
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.

1 participant