#!/bin/bash # 3열, 4열 데이터로 RAG 시스템 실행 set -e GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' if [ "$#" -lt 1 ]; then echo "사용법: ./run-with-excel-col34.sh <엑셀파일경로>" echo "" echo "3열(C열)=질문, 4열(D열)=답변으로 사용합니다." echo "" echo "예제:" echo " ./run-with-excel-col34.sh data/qa_data.xlsx" echo " ./run-with-excel-col34.sh ~/Downloads/customer_qa.xlsx" echo "" exit 1 fi EXCEL_FILE=$1 if [ ! -f "$EXCEL_FILE" ]; then echo "❌ 엑셀 파일을 찾을 수 없습니다: $EXCEL_FILE" exit 1 fi echo -e "${GREEN}================================================${NC}" echo -e "${GREEN}RAG 시스템 자동 실행 (3열, 4열 사용)${NC}" echo -e "${GREEN}================================================${NC}" echo "" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd "$SCRIPT_DIR" # 1. 엑셀 파일 복사 echo -e "${GREEN}[1/5] 엑셀 파일 복사 중...${NC}" EXCEL_BASENAME=$(basename "$EXCEL_FILE") cp "$EXCEL_FILE" "data/$EXCEL_BASENAME" echo " ✅ data/$EXCEL_BASENAME" echo "" # 2. JSONL 변환 (3열=인덱스2, 4열=인덱스3) echo -e "${GREEN}[2/5] JSONL 변환 중... (3열=질문, 4열=답변)${NC}" if python3 scripts/excel_to_jsonl.py "data/$EXCEL_BASENAME" 2 3; then echo " ✅ data/qa_raw.jsonl 생성 완료" else echo " ❌ JSONL 변환 실패" exit 1 fi QA_COUNT=$(wc -l < data/qa_raw.jsonl | tr -d ' ') echo " 📊 변환된 QA 쌍: ${QA_COUNT}개" echo "" # 3. 샘플 확인 echo -e "${GREEN}[3/5] 변환 결과 샘플:${NC}" head -n 2 data/qa_raw.jsonl | while read line; do echo " $line" | cut -c 1-100 done echo "" # 4. .env 파일 확인 echo -e "${GREEN}[4/5] 환경 설정 확인 중...${NC}" if [ ! -f ".env" ]; then echo -e "${YELLOW} ⚠️ .env 파일이 없습니다.${NC}" cp env.template .env echo "" echo " .env 파일을 수정해주세요:" echo " vi .env" echo "" read -p "지금 수정하시겠습니까? (y/n) " answer if [ "$answer" = "y" ]; then ${EDITOR:-vi} .env else echo "" echo "환경 설정 후 다시 실행하세요:" echo " vi .env" echo " ./run-with-excel-col34.sh data/$EXCEL_BASENAME" exit 0 fi fi echo " ✅ .env 확인 완료" echo "" # 5. Docker 실행 echo -e "${GREEN}[5/5] Docker 서비스 실행 중...${NC}" echo "" docker-compose -f docker-compose-slim.yml down 2>/dev/null || true docker-compose -f docker-compose-slim.yml up echo "" echo -e "${GREEN}✅ RAG 시스템 실행 완료!${NC}" echo "API: http://localhost:28012"