From 396011c2ed86127f21975ac1f6aa7e28040ffccd Mon Sep 17 00:00:00 2001 From: happybell80 Date: Mon, 21 Jul 2025 18:11:51 +0900 Subject: [PATCH] =?UTF-8?q?=ED=8A=B8=EB=9F=AC=EB=B8=94=EC=8A=88=ED=8C=85?= =?UTF-8?q?=20=EB=AC=B8=EC=84=9C=20=EC=B6=94=EA=B0=80=20-=20ChromaDB=20?= =?UTF-8?q?=EC=BA=90=EC=8B=9C=20=EA=B6=8C=ED=95=9C,=20=EB=A9=94=EB=AA=A8?= =?UTF-8?q?=EB=A6=AC=20=EC=8B=9C=EC=8A=A4=ED=85=9C=20=EB=B0=8F=20=EB=8B=A4?= =?UTF-8?q?=EA=B5=AD=EC=96=B4=20=EC=9E=84=EB=B2=A0=EB=94=A9,=20=EB=B0=B0?= =?UTF-8?q?=ED=8F=AC=20=EC=9B=8C=ED=81=AC=ED=94=8C=EB=A1=9C=EC=9A=B0=20?= =?UTF-8?q?=EC=B5=9C=EC=A0=81=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ..._happybell80_ChromaDB캐시권한문제.md | 43 +++++++++++++++++++ ...메모리시스템및다국어임베딩.md | 31 +++++++++++++ ...pybell80_배포워크플로우최적화.md | 39 +++++++++++++++++ 3 files changed, 113 insertions(+) create mode 100644 docs/troubleshooting/250708_happybell80_ChromaDB캐시권한문제.md create mode 100644 docs/troubleshooting/250709_happybell80_메모리시스템및다국어임베딩.md create mode 100644 docs/troubleshooting/250710_happybell80_배포워크플로우최적화.md diff --git a/docs/troubleshooting/250708_happybell80_ChromaDB캐시권한문제.md b/docs/troubleshooting/250708_happybell80_ChromaDB캐시권한문제.md new file mode 100644 index 0000000..ea35278 --- /dev/null +++ b/docs/troubleshooting/250708_happybell80_ChromaDB캐시권한문제.md @@ -0,0 +1,43 @@ +# ChromaDB 캐시 권한 문제 해결 + +**날짜**: 2025-07-08 +**작업자**: happybell80 & Claude + +## 시간 미상 + +### ChromaDB 캐시 권한 문제 + +**문제**: +- Permission denied 에러로 임베딩 모델 캐시 실패 + +**원인**: +- `/opt/models` 디렉터리 권한 부족 + +**해결**: +1. 호스트에서 모델 사전 다운로드 +2. 컨테이너에 적절한 권한 설정 +3. `sudo chown -R 999:999` 권한 조정 + +**커밋**: `506918d`, `19ab06c` + +## 주요 해결 패턴 정리 + +### Docker 관련 +- **권한 문제**: `chown -R 999:999` (컨테이너 사용자 권한) +- **빌드 최적화**: 의존성 분리, 캐시 활용 +- **볼륨 마운트**: 데이터 영속성과 권한 관리 + +### 배포 최적화 +- **타이밍 이슈**: 충분한 대기 시간 또는 조건부 확인 +- **환경변수**: 파일 보존으로 재생성 비용 절약 +- **명령어 최적화**: 여러 단계를 하나로 통합 + +### Slack API 제약 +- **3초 타임아웃**: 즉시 응답 + 백그라운드 처리 패턴 +- **중복 이벤트**: 타임아웃 재시도 방지 로직 +- **롤백 전략**: 환경변수 토글로 기능 전환 + +### ChromaDB 및 AI 모델 +- **다국어 지원**: multilingual 모델 선택 +- **캐시 관리**: 사전 다운로드 + 적절한 권한 +- **메모리 최적화**: 검색 개수와 품질의 균형 \ No newline at end of file diff --git a/docs/troubleshooting/250709_happybell80_메모리시스템및다국어임베딩.md b/docs/troubleshooting/250709_happybell80_메모리시스템및다국어임베딩.md new file mode 100644 index 0000000..1167dff --- /dev/null +++ b/docs/troubleshooting/250709_happybell80_메모리시스템및다국어임베딩.md @@ -0,0 +1,31 @@ +# 메모리 시스템 개선 및 다국어 임베딩 모델 전환 + +**날짜**: 2025-07-09 +**작업자**: happybell80 & Claude + +## 시간 미상 + +### 메모리 시스템 개선 + +**문제**: +- 사용자 컨텍스트 인식 부족 + +**해결**: +- 메모리 검색 개수 2개 → 5개 증가 +- 키워드 확장 + +**커밋**: `18d2d63` + +### 다국어 임베딩 모델 전환 + +**문제**: +- 영어 전용 임베딩 모델로 한국어 성능 저하 + +**해결 과정**: +1. `paraphrase-multilingual-MiniLM-L12-v2` 모델 적용 +2. 의존성 누락으로 컨테이너 빌드 실패 +3. `sentence-transformers`, `torch` 의존성 추가 + +**최종 결과**: +- 한국어 임베딩 성능 개선 +- 커밋: `8e7d096`, `76e01a2` \ No newline at end of file diff --git a/docs/troubleshooting/250710_happybell80_배포워크플로우최적화.md b/docs/troubleshooting/250710_happybell80_배포워크플로우최적화.md new file mode 100644 index 0000000..2225fe3 --- /dev/null +++ b/docs/troubleshooting/250710_happybell80_배포워크플로우최적화.md @@ -0,0 +1,39 @@ +# 배포 워크플로우 최적화 및 시스템 개선 + +**날짜**: 2025-07-10 +**작업자**: happybell80 & Claude + +## 오전 시간 미상 + +### 배포 워크플로우 최적화 (34초 → 18초) + +**문제**: +- `curl: (56) Recv failure: 상대편이 연결을 끊음` 에러 발생 +- 배포 시간 과다 소요 (34초) + +**원인**: +1. Health check 타이밍 이슈 - 앱 시작 전 curl 실행 +2. 불필요한 `sleep 10` 대기 시간 +3. 매번 .env 파일 재생성으로 시간 소모 + +**해결**: +1. Health check 제거 (Docker healthcheck로 대체) +2. .env 파일 조건부 생성 (없을 때만 생성) +3. `docker compose up -d --build` 한 번에 처리 + +**결과**: +- 배포 시간 34초 → 18초 (47% 단축) +- 커밋: `4be30ee`, `82ea32b` + +### heredoc 구문 오류 해결 + +**문제**: +- GitHub Actions에서 bash heredoc 구문 오류 + +**원인**: +- YAML 내부 SSH 세션에서 heredoc 들여쓰기 문제 + +**해결**: +- heredoc을 echo 명령들로 변경 + +**커밋**: `4be30ee` \ No newline at end of file