Deploy: GitHub submodule sync 2026-07-23 12:46:52

This commit is contained in:
Macbook
2026-07-23 12:46:52 +09:00
parent fb55262bbc
commit 9ea8540979
339 changed files with 811 additions and 44137 deletions
+38 -16
View File
@@ -1,36 +1,58 @@
#!/usr/bin/env bash
# 레거시 exAIChatbot2.0 Qdrant(qa_vectors) → Agent 스택 qdrant_data 복사
# 최초 배포 시 vector_count=0 일 때 start-all-server.sh 에서 자동 호출
# 레거시 Qdrant → Agent qdrant_data 복사 (qa_vectors_v2 사용 시 재인덱싱 필요할 수 있음)
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
RAG_DIR="${ROOT_DIR}/exAiChatBot-chatbot2.0-agent"
LEGACY_STACK_DIR="${LEGACY_STACK_DIR:-/Users/aidev/dev/exAIChatbot2.0}"
LEGACY_QDRANT="${LEGACY_QDRANT_DATA:-${LEGACY_STACK_DIR}/exAiChatBot-chatbot2.0/qdrant_data}"
TARGET_QDRANT="${RAG_DIR}/qdrant_data"
RAG_ENV="${RAG_DIR}/.env"
QDRANT_COLLECTION_NAME="${QDRANT_COLLECTION:-qa_vectors_v2}"
if [[ -f "${RAG_ENV}" ]]; then
_col="$(grep -E '^QDRANT_COLLECTION=' "${RAG_ENV}" 2>/dev/null | tail -1 | cut -d= -f2- | tr -d ' "\r' || true)"
[[ -n "${_col}" ]] && QDRANT_COLLECTION_NAME="${_col}"
fi
LEGACY_CANDIDATES=(
"${LEGACY_QDRANT_DATA:-}"
"/Users/aidev/dev/ex-chatbot-stack/qdrant_data"
"/Users/aidev/dev/exAIChatbot2.0/exAiChatBot-chatbot2.0/qdrant_data"
"/Users/aidev/dev/exAiChatBot/qdrant_data"
)
log() { echo "[$(date '+%H:%M:%S')] $*"; }
if [[ ! -d "${LEGACY_QDRANT}/collections" ]]; then
log "레거시 qdrant_data 없음: ${LEGACY_QDRANT}"
export PATH="/opt/homebrew/bin:/Applications/Docker.app/Contents/Resources/bin:${PATH}"
LEGACY_QDRANT=""
for candidate in "${LEGACY_CANDIDATES[@]}"; do
[[ -n "${candidate}" ]] || continue
if [[ -d "${candidate}/collections" ]]; then
LEGACY_QDRANT="${candidate}"
break
fi
done
if [[ -z "${LEGACY_QDRANT}" ]]; then
log "레거시 qdrant_data 없음"
exit 1
fi
if [[ -d "${TARGET_QDRANT}/collections/qa_vectors" ]]; then
local_count="$(curl -sf http://127.0.0.1:6333/collections/qa_vectors 2>/dev/null \
| python3 -c "import sys,json; print(json.load(sys.stdin).get('result',{}).get('points_count',0))" 2>/dev/null || echo 0)"
if [[ "${local_count}" -gt 0 ]]; then
log "이미 ${local_count} points — bootstrap 생략"
exit 0
fi
local_count="$(curl -sf "http://127.0.0.1:6333/collections/${QDRANT_COLLECTION_NAME}" 2>/dev/null \
| python3 -c "import sys,json; print(json.load(sys.stdin).get('result',{}).get('points_count',0))" 2>/dev/null || echo 0)"
if [[ "${local_count}" -gt 0 ]]; then
log "이미 ${local_count} points — bootstrap 생략"
exit 0
fi
log "Qdrant 중지 후 데이터 복사..."
export PATH="/opt/homebrew/bin:/Applications/Docker.app/Contents/Resources/bin:${PATH}"
log "Qdrant 중지 후 데이터 복사 (${LEGACY_QDRANT})..."
(cd "${RAG_DIR}" && docker compose -f docker-compose.server.yml stop qdrant api admin 2>/dev/null) || true
rm -rf "${TARGET_QDRANT}"
mkdir -p "${TARGET_QDRANT}"
cp -a "${LEGACY_QDRANT}/." "${TARGET_QDRANT}/"
log "✅ qdrant_data 복사 완료 → ${TARGET_QDRANT}"
(cd "${RAG_DIR}" && docker compose -f docker-compose.server.yml up -d qdrant api admin 2>/dev/null) || \
(cd "${RAG_DIR}" && docker compose -f docker-compose.server.yml up -d)
sleep 5
log "✅ qdrant_data 복사 및 RAG 재기동 완료"