Skip to content

JaeHxn/NarosuChatbot

Repository files navigation

NarosuChatbot - 지능형 쇼핑 검색 시스템

프로젝트 목표

사용자의 자연어 질의를 처리하여 정확하고 관련성 높은 상품을 추천하는 하이브리드 검색 시스템 구현

핵심 기능

  1. 듀얼 쿼리 시스템

    • BM25 쿼리: 금지어 포함 (예: "여름 모자 -털 -방울 -비니")
    • 임베딩 쿼리: 양(+) 키워드 확장 (예: "여름 모자 통풍 라피아 썬캡")
  2. 카테고리 기반 검색

    • 방법2 (LLM): Top1·Top2 비율 기반 배분
    • 방법1 (임베딩): Top3·Top4·Top5 고정 쿼터(5/4/3)
  3. 품질 관리

    • 도메인 화이트리스트 적용
    • 시즌 필터링
    • 중복 제거 (product_code/URL/pHash)

개발 체크리스트

1. 전처리 & 임베딩 [❌]

  • LLM 전처리 구현 (듀얼 쿼리)
  • 임베딩 생성 및 L2 정규화
  • 쿼리 확장 시스템

2. 카테고리 후보 결정 [❌]

  • Milvus 카테고리 Top5 추출
  • 도메인 화이트리스트 구현
  • 시즌 보정 시스템 구현

3. 방법2 (LLM 기반) [❌]

  • 혼합검색 100개 후보 수집
  • 비율 기반 할당 시스템
  • 카테고리별 50개 후보 풀
  • 금지어 기반 후처리
  • LLM 최종 선택 시스템

4. 방법1 (임베딩 기반) [❌]

  • Top3-5 카테고리 확정
  • BM25+벡터 하이브리드 검색
  • RRF/MMR 구현
  • 고정 쿼터 기반 선택

5. 통합 & 품질 관리 [❌]

  • 결과 병합 (메인 20 + 예비 30)
  • 중복 제거 시스템
  • 부족분 보충 로직
  • 로깅 시스템

6. 운영 시스템 [❌]

  • 캐시 시스템 (1-5분)
  • 병렬 수집 구현
  • 폴백 시스템
  • 설정 외부화

시스템 요구사항

  • Python 3.8.20
  • Milvus 벡터 데이터베이스
  • OpenAI GPT API
  • Redis 캐시

배포 안내

로컬 개발 환경

ngrok은 내 로컬 서버(로컬호스트)를 외부에서 접근할 수 있도록 해주는 터널링 서비스입니다. 사설 네트워크 내부에서도 외부에서 접속이 가능합니다.

Docker 배포

# 서버 빌드
docker build -t fb-chatbot:v3.01 .

# 컨테이너 실행
docker run -d --env-file .env -p 8011:8011 --name fb_chatbot_container fb-chatbot:v3.01

# 로그 모니터링
docker logs -f fb_chatbot_container

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published