docs: 100줄 이하로 축소 및 추측 제거
128줄 → 95줄 - 불필요한 설명 제거 - 핵심 사실만 기록 - 추측 내용 삭제
This commit is contained in:
parent
a071f8b159
commit
18d5309d2d
@ -9,24 +9,11 @@
|
||||
|
||||
---
|
||||
|
||||
## 배경
|
||||
|
||||
LangGraph 기반 coldmail workflow 테스트 (Priority 2,3,4 완료 후)
|
||||
- 코드 단순화: 316줄 → 114줄
|
||||
- 노드: fetch → filter → process → send
|
||||
|
||||
---
|
||||
|
||||
## 문제 1: Docker 빌드 타임아웃
|
||||
|
||||
**증상**: `INFO: pip is looking at multiple versions of langchain-openai...`
|
||||
**증상**: `pip is looking at multiple versions of langchain-openai...`
|
||||
|
||||
**원인**:
|
||||
- requirements.txt:20 `openai==1.6.1` (구버전)
|
||||
- langchain-openai는 `openai>1.109.1` 필요
|
||||
- 버전 불일치로 dependency resolver 타임아웃
|
||||
|
||||
**해결**: requirements.txt:20,40-42
|
||||
**해결**: requirements.txt:20,40-42 버전 고정
|
||||
- openai>=1.110.0
|
||||
- langchain==0.3.27
|
||||
- langchain-openai==0.3.35
|
||||
@ -36,13 +23,11 @@ LangGraph 기반 coldmail workflow 테스트 (Priority 2,3,4 완료 후)
|
||||
|
||||
## 문제 2: PDF 업로드 중복 에러
|
||||
|
||||
**증상**: `Failed to upload [공문]...pdf: 400 - File already exists for this team`
|
||||
**증상**: `400 - File already exists for this team`
|
||||
|
||||
**원인**:
|
||||
- 이전 테스트 파일이 team_document 테이블에 남아있음
|
||||
- file_hash 중복 체크로 재업로드 차단
|
||||
**원인**: team_document 테이블에 file_hash 중복
|
||||
|
||||
**해결**: PostgreSQL 직접 접속하여 삭제
|
||||
**해결**: 51123 PostgreSQL 직접 접속하여 삭제
|
||||
```bash
|
||||
ssh -i ~/.ssh/id_rsa_deploy -p 51123 admin@192.168.219.45 \
|
||||
"PGPASSWORD=robeings psql -h localhost -U robeings -d main_db -c \
|
||||
@ -53,75 +38,57 @@ ssh -i ~/.ssh/id_rsa_deploy -p 51123 admin@192.168.219.45 \
|
||||
|
||||
## 문제 3: Slack 401 Unauthorized
|
||||
|
||||
**증상**:
|
||||
```
|
||||
Failed to upload file to Slack: 401
|
||||
Failed to create list item: 401
|
||||
```
|
||||
**증상**: `Failed to upload file/create list item: 401`
|
||||
|
||||
**원인 1**: 토큰 워크스페이스 불일치
|
||||
- 테스트 List F09J1HPPQJG는 Robeing 워크스페이스 (T0925SXPS4D)
|
||||
- .env:98 SLACK_BOT_TOKEN이 Company-X 토큰 사용 중
|
||||
- List F09J1HPPQJG는 Robeing (T0925SXPS4D)
|
||||
- .env:98 SLACK_BOT_TOKEN은 Company-X
|
||||
|
||||
**해결 1**: .env:98-99
|
||||
- SLACK_BOT_TOKEN을 Robeing 토큰으로 변경 (xoxb-9073915808149...)
|
||||
- SLACK_LIST_ID=F09J1HPPQJG 유지
|
||||
**해결 1**: .env:98 Robeing 토큰으로 변경
|
||||
|
||||
**원인 2**: API Key 누락
|
||||
- `{"detail":"API key is missing"}`
|
||||
- SKILL_SLACK_API_KEY 환경변수 없음
|
||||
**원인 2**: .env:43 SKILL_SLACK_API_KEY 누락
|
||||
|
||||
**해결 2**: .env:43
|
||||
- SKILL_SLACK_API_KEY=skill-slack-api-key-2025 추가
|
||||
**해결 2**: SKILL_SLACK_API_KEY=skill-slack-api-key-2025 추가
|
||||
|
||||
**재시작**: `docker compose down && docker compose up -d` (restart 불가)
|
||||
**재시작**: `docker compose down && docker compose up -d`
|
||||
|
||||
---
|
||||
|
||||
## 문제 4: Lists API invalid_arguments
|
||||
|
||||
**증상**: `Failed to create list item: 400 - invalid_arguments`
|
||||
**증상**: `400 - invalid_arguments`
|
||||
|
||||
**원인**: IR 분석 실패로 모든 필드 "N/A" 반환
|
||||
- coldmail_processor.py:73에서 business_area="N/A" 가져옴
|
||||
- company_name="" → Lists API 거부
|
||||
**원인**: IR 분석 결과 모든 필드 "N/A"
|
||||
|
||||
**상태**: 미해결 (IR 분석 개선 필요)
|
||||
**상태**: 미해결
|
||||
|
||||
---
|
||||
|
||||
## 검증 결과
|
||||
|
||||
**성공**:
|
||||
- ✅ LangGraph 워크플로우 정상 동작
|
||||
- ✅ Lists API 통합 성공 (테스트 아이템 Rec09LJQYLAH2 생성)
|
||||
- ✅ Robeing 토큰 인증 성공
|
||||
- LangGraph 워크플로우 정상 동작
|
||||
- Lists API 통합 (테스트 아이템 Rec09LJQYLAH2)
|
||||
|
||||
**실패**:
|
||||
- ❌ IR 분석 실패 (모든 필드 "N/A")
|
||||
- ❌ company_name="" → Lists API 에러
|
||||
- IR 분석 실패 (모든 필드 "N/A")
|
||||
|
||||
---
|
||||
|
||||
## 교훈
|
||||
|
||||
### 테스트 환경 설정
|
||||
- List ID와 SLACK_BOT_TOKEN의 워크스페이스 일치 필수 확인
|
||||
- 환경변수 체크리스트 작성 (SKILL_SLACK_API_KEY 등)
|
||||
### 테스트 환경
|
||||
- List ID와 SLACK_BOT_TOKEN 워크스페이스 일치 확인
|
||||
- 필수 환경변수 체크리스트 (SKILL_SLACK_API_KEY)
|
||||
- 테스트 전 DB 중복 데이터 정리
|
||||
|
||||
### 에러 핸들링
|
||||
- IR 분석 실패 시 "N/A" 대신 유효한 기본값 사용
|
||||
- Lists API 전송 전 필드 검증 필요
|
||||
|
||||
### 배포 프로세스
|
||||
### 배포
|
||||
- .env 수정 후 `docker compose down && up -d` (restart 불가)
|
||||
- 로그 확인 순서: rb8001 → skill-slack → skill-rag-file
|
||||
|
||||
---
|
||||
|
||||
## 남은 작업
|
||||
|
||||
1. IR 분석 개선 (ChromaDB 검색/LLM 프롬프트)
|
||||
2. coldmail_processor.py:73 필드 검증 추가
|
||||
3. 부분 실패 시 에러 핸들링 강화
|
||||
1. IR 분석 개선
|
||||
2. coldmail_processor.py:73 필드 검증
|
||||
3. 부분 실패 에러 핸들링
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user