#!/bin/bash # rag/force-reindex.sh # 강제로 재임베딩/재인덱싱을 실행하는 스크립트 set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" DATA_DIR="$SCRIPT_DIR/data" COMPOSE_FILE="$SCRIPT_DIR/docker-compose.yml" if [ ! -f "$COMPOSE_FILE" ]; then COMPOSE_FILE="$SCRIPT_DIR/docker-compose-slim.yml" fi if [ -f "$SCRIPT_DIR/.env" ]; then set -a source "$SCRIPT_DIR/.env" set +a fi echo "==================================================" echo " 강제 재임베딩/재인덱싱" echo "==================================================" echo "" # 확인 read -p "기존 임베딩 및 인덱스를 삭제하고 재생성하시겠습니까? (y/N): " confirm if [[ ! "$confirm" =~ ^[Yy]$ ]]; then echo "❌ 취소되었습니다." exit 0 fi echo "" echo "[1/3] 기존 파일 삭제 중..." cd "$DATA_DIR" rm -f qa_vecs.jsonl qa.index qa_meta.pkl echo " ✅ 삭제 완료" echo "" echo "[2/3] 임베딩 작업 실행 중..." cd "$SCRIPT_DIR" docker compose -f "$COMPOSE_FILE" up embed --abort-on-container-exit echo "" echo "[3/3] 인덱싱 작업 실행 중..." docker compose -f "$COMPOSE_FILE" up index --abort-on-container-exit echo "" echo "==================================================" echo " ✅ 재임베딩/재인덱싱 완료!" echo "==================================================" echo "" echo "API 서비스 재시작:" echo " docker compose -f $COMPOSE_FILE restart api"