- 20251002_emotion_db_storage_fix.md: 해결 완료 항목 정리 - 20251002_emotion_system_todo.md: 미구현 항목 분리 - 긴 문서를 2개로 분할 (각 50줄 이내)
42 lines
1.6 KiB
Markdown
42 lines
1.6 KiB
Markdown
# 감정 DB 저장 문제 해결 (완료)
|
|
|
|
**작성일**: 2025-10-02 14:13~14:30
|
|
**문서 커밋**:
|
|
- 1e0596b (13:54:17): EmotionState 에러 해결 전략 추가
|
|
- 251cc6d (14:30시경): 7감정 모델로 문서 업데이트
|
|
**코드 커밋**: ba1edb1 (14:13:38): emotion_llm.py 7감정 구조 변경
|
|
**해결자**: Claude & happybell80
|
|
**문제**: Slack 대화 시 감정 분석은 되지만 emotion_readings 테이블에 저장 안 됨
|
|
**원인**: rb8001/app/llm/emotion_llm.py:159-181에서 save_emotion_reading() 호출 누락
|
|
|
|
## 해결 내역
|
|
|
|
### 1. DB 연결 설정
|
|
- **테이블**: emotion_readings
|
|
- **DB**: robeing_metrics (51123 서버)
|
|
- **.env 추가**: METRICS_DATABASE_URL 환경변수
|
|
|
|
### 2. EmotionState 구조 변경 (완료)
|
|
**문제 위치**:
|
|
- emotion_llm.py (line 35, 67, 80-83, 89) - EmotionState 생성 오류 4곳
|
|
- emotion/base.py (line 16-23) - 6개 인자 필요했음
|
|
|
|
**해결**:
|
|
- create_default_emotion_state() 함수 추가
|
|
- 6필드 구조 → 4필드로 단순화 (emotion_dist, entropy, dominant, confidence)
|
|
- EMOTIONS 7개: fear, surprise, anger, sadness, neutral, happiness, disgust
|
|
|
|
### 3. DB 저장 코드 추가 (완료)
|
|
- 파일: emotion_llm.py:159-181
|
|
- 함수: generate_response_with_emotion() 내부
|
|
- 추가: save_emotion_reading(emotion_data) 호출
|
|
|
|
|
|
## 현황
|
|
- emotion_readings 테이블: TimescaleDB 하이퍼테이블, 5개 인덱스
|
|
- 기존 데이터: 3건 (2025-10-02 12:21~12:27 테스트)
|
|
- 에러 로그: 339회 "Failed to save emotion reading"
|
|
|
|
## 검증 필요
|
|
- 배포 후 Slack 대화 시 실제 저장 확인
|
|
- user_id UUID 변환 정상 작동 확인 |