Skip to content

feat: support multi-place extraction and selection#9

Merged
1000hyehyang merged 1 commit into
devfrom
feat/8-multi-place-extraction
May 2, 2026
Merged

feat: support multi-place extraction and selection#9
1000hyehyang merged 1 commit into
devfrom
feat/8-multi-place-extraction

Conversation

@KyungminPark-steck
Copy link
Copy Markdown
Contributor

@KyungminPark-steck KyungminPark-steck commented May 2, 2026

✨ 무엇을 바꿨나요?

LLM 장소 추출 결과를 단일 대표 장소 중심에서 다중 장소 배열 중심으로 확장했습니다.
각 extracted place별로 Kakao Local enrichment를 수행하고, 매칭 성공한 장소들을 selected_places로 저장 및 API 응답에 포함하도록 변경했습니다.

🔗 관련 이슈

Closes #8

💡 왜 바꿨나요?

인스타그램 caption 하나에 여러 장소가 번호 목록이나 브랜드 정보 형태로 포함되는 경우가 많지만, 기존 구조는 첫 번째 장소만 대표값으로 다루고 있었습니다.
다중 장소 caption에서도 모든 장소를 추출하고 Kakao 검색 결과를 저장할 수 있도록 파이프라인과 DB/API schema를 확장했습니다.

📝 주요 변경 사항

  • extraction_result.places에 전체 extracted place 목록 저장
  • 기존 store_name, address, certainty 등은 첫 번째 장소 기준 legacy 대표값으로 유지
  • (프롬프트 부분에서) 번호 목록, 브랜드 정보 섹션, place name/address pair, 상호명 hashtag 인식하도록 프롬프트 강화
  • 각 extracted place별 Kakao Local 검색 및 confidence 기준 필터링 적용
  • selected_places JSONB 컬럼 추가 migration 작성
  • API 응답에 selected_places 추가, 기존 selected_place는 legacy 대표값으로 유지
  • 단일 장소/다중 장소 테스트 및 live HF→Kakao 검증 테스트 추가
  • HF 다중 장소 JSON 응답 truncation 방지를 위해 max token 기본값 상향

👀 리뷰어가 보면 좋은 부분

  • ExtractionResult.places와 legacy 대표 필드 간 호환성 유지 방식
  • Kakao 검색 실패 장소는 extraction_result.places에는 남기고 place_candidates/selected_places에는 제외하는 처리
  • selected_place가 다중 결과 중 caption 등장 순서 기준 첫 번째 selected place로 유지되는지
  • 003_add_selected_places_to_job_results.sql migration 내용
  • live 테스트는 기본 skip이며 RUN_LIVE_HF_KAKAO_TESTS=1일 때만 외부 HF/Kakao API를 호출하는 구조

🧪 테스트

방식 (해당하는 것만 체크)

  • 로컬 환경에서 확인
  • 운영 환경에서 확인
  • 단위 / 통합 테스트
  • 해당 없음

메모 (시나리오, 커맨드, 스크린샷 링크 등 — 선택)

  • .\.venv\Scripts\python.exe -m pytest -q
  • 결과: 57 passed, 1 skipped
  • live HF→Kakao 검증:
    • $env:RUN_LIVE_HF_KAKAO_TESTS='1'; .\.venv\Scripts\python.exe -m pytest tests/test_hf_kakao_pipeline_live.py -q -s
    • 결과: 1 passed
    • 다중 caption에서 플루밍, 누크녹, 예챠, 라뚜셩트, 코이크, 카페토요 모두 추출 및 Kakao selected 확인
    • 단일 caption에서 커먼맨션 추출 및 Kakao selected 확인

@1000hyehyang 1000hyehyang added the feat 새로운 기능 추가 label May 2, 2026
@1000hyehyang 1000hyehyang merged commit 8392a49 into dev May 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat 새로운 기능 추가

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[feat] Extract and enrich multiple places from one caption

2 participants