docs: rb8001 대화 히스토리 구현 계획 - 확인된 정보 반영
- 실제 DB 스키마 추가 (conversation_logs) - rb8001 현재 구조 상세 명시 - 구현 순서 구체화
This commit is contained in:
parent
7e4065d4a1
commit
fef2a91b75
@ -30,13 +30,18 @@ robeing_settings: 0 records (0 KB)
|
||||
### 2.1 테이블 구조 (현재)
|
||||
```sql
|
||||
CREATE TABLE conversation_logs (
|
||||
id UUID PRIMARY KEY,
|
||||
robeing_id VARCHAR(100),
|
||||
user_id UUID,
|
||||
message TEXT,
|
||||
response TEXT,
|
||||
created_at TIMESTAMP,
|
||||
metadata JSON
|
||||
id INTEGER PRIMARY KEY (auto-increment),
|
||||
robeing_id VARCHAR,
|
||||
channel_id VARCHAR,
|
||||
message VARCHAR,
|
||||
response VARCHAR,
|
||||
intent VARCHAR,
|
||||
confidence DOUBLE PRECISION,
|
||||
timestamp TIMESTAMP,
|
||||
user_id UUID (FK → users),
|
||||
slack_user_id VARCHAR(100),
|
||||
thread_ts VARCHAR(128),
|
||||
channel_type VARCHAR(32)
|
||||
);
|
||||
```
|
||||
|
||||
|
||||
@ -8,15 +8,19 @@
|
||||
|
||||
## 현재 상태 분석
|
||||
- **rb10508_micro**: /api/config 엔드포인트 구현됨 (endpoints.py:407)
|
||||
- **rb8001**: API 엔드포인트 없음 (추가 필요)
|
||||
- **rb8001**:
|
||||
- database.py: ConversationLog 모델 있음 (line 52)
|
||||
- get_recent_conversations() 함수 있음 (line 81)
|
||||
- get_paginated_conversations() 함수 없음 (추가 필요)
|
||||
- main.py: @app.get() 직접 사용, router 분리 없음
|
||||
|
||||
## 수정 필요 파일
|
||||
|
||||
### 백엔드 (rb8001)
|
||||
1. `app/core/config.py` - 환경변수 추가 (MESSAGE_BATCH_SIZE=30, USER_MAPPING)
|
||||
2. `app/state/database.py` - get_paginated_conversations() 함수 추가
|
||||
3. `main.py` - /api/config, /api/messages 엔드포인트 추가
|
||||
4. `docker-compose.yml` - 환경변수 설정
|
||||
1. `app/core/config.py` - 환경변수 추가 (MESSAGE_BATCH_SIZE=30, MAX_MESSAGES_IN_DOM=200)
|
||||
2. `app/state/database.py` - get_paginated_conversations() 함수 추가 (기존 get_recent_conversations 참고)
|
||||
3. `main.py` - @app.get() 직접 추가 (/api/config, /api/messages)
|
||||
4. `.env` 파일 - 환경변수 설정 (docker-compose.yml 아님)
|
||||
|
||||
### 프론트엔드 (frontend-customer)
|
||||
1. `src/services/robeing-api.ts` - getConfig(), getMessages() 함수 추가
|
||||
@ -39,6 +43,28 @@
|
||||
|
||||
---
|
||||
|
||||
## 데이터베이스 스키마
|
||||
|
||||
```sql
|
||||
-- conversation_logs 테이블 (실제)
|
||||
CREATE TABLE conversation_logs (
|
||||
id INTEGER PRIMARY KEY (auto-increment),
|
||||
robeing_id VARCHAR,
|
||||
channel_id VARCHAR,
|
||||
message VARCHAR,
|
||||
response VARCHAR,
|
||||
intent VARCHAR,
|
||||
confidence DOUBLE PRECISION,
|
||||
timestamp TIMESTAMP,
|
||||
user_id UUID (FK → users),
|
||||
slack_user_id VARCHAR(100),
|
||||
thread_ts VARCHAR(128),
|
||||
channel_type VARCHAR(32)
|
||||
);
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 주의사항
|
||||
|
||||
### API 경로
|
||||
@ -58,5 +84,12 @@ MAX_MESSAGES_IN_DOM: int = int(os.getenv("MAX_MESSAGES_IN_DOM", 200))
|
||||
|
||||
### 구현 순서
|
||||
1. 백엔드 API 추가 (1시간)
|
||||
- config.py 환경변수 추가
|
||||
- database.py에 get_paginated_conversations() 구현
|
||||
- main.py에 엔드포인트 직접 추가
|
||||
2. 프론트엔드 통합 (1시간)
|
||||
3. 테스트 및 배포 (30분)
|
||||
- robeing-api.ts 함수 추가
|
||||
- chat-interface.tsx 무한 스크롤 구현
|
||||
3. 테스트 및 배포 (30분)
|
||||
- curl localhost:8001/api/config 테스트
|
||||
- 51124 서버 docker compose down && up -d --build
|
||||
Loading…
x
Reference in New Issue
Block a user