docs: 대화 히스토리를 PostgreSQL 전용으로 변경
- ChromaDB 대신 PostgreSQL conversation_logs 테이블만 사용 - SQL 쿼리 예시 추가 - 현재 대화 저장 필수 명시
This commit is contained in:
parent
fef2a91b75
commit
5e99456a76
@ -3,6 +3,7 @@
|
|||||||
## 작성일: 2025-09-01
|
## 작성일: 2025-09-01
|
||||||
## 대상: rb8001 (프로덕션 로빙)
|
## 대상: rb8001 (프로덕션 로빙)
|
||||||
## 참조: rb10508_micro 구현 코드
|
## 참조: rb10508_micro 구현 코드
|
||||||
|
## 수정: PostgreSQL 전용 히스토리 구현으로 변경
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -18,7 +19,9 @@
|
|||||||
|
|
||||||
### 백엔드 (rb8001)
|
### 백엔드 (rb8001)
|
||||||
1. `app/core/config.py` - 환경변수 추가 (MESSAGE_BATCH_SIZE=30, MAX_MESSAGES_IN_DOM=200)
|
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 참고)
|
2. `app/state/database.py` - get_paginated_conversations() 함수 추가
|
||||||
|
- PostgreSQL conversation_logs 테이블에서만 조회
|
||||||
|
- ChromaDB 사용하지 않음 (히스토리는 DB만)
|
||||||
3. `main.py` - @app.get() 직접 추가 (/api/config, /api/messages)
|
3. `main.py` - @app.get() 직접 추가 (/api/config, /api/messages)
|
||||||
4. `.env` 파일 - 환경변수 설정 (docker-compose.yml 아님)
|
4. `.env` 파일 - 환경변수 설정 (docker-compose.yml 아님)
|
||||||
|
|
||||||
@ -36,11 +39,22 @@
|
|||||||
|
|
||||||
// GET /api/messages?before={timestamp}&limit=30
|
// GET /api/messages?before={timestamp}&limit=30
|
||||||
{
|
{
|
||||||
messages: [...],
|
messages: [...], // PostgreSQL conversation_logs에서 조회
|
||||||
has_more: true
|
has_more: true
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### PostgreSQL 쿼리 예시
|
||||||
|
```sql
|
||||||
|
SELECT id, message, response, timestamp, user_id
|
||||||
|
FROM conversation_logs
|
||||||
|
WHERE user_id = $1
|
||||||
|
AND robeing_id = 'rb8001'
|
||||||
|
AND timestamp < $2
|
||||||
|
ORDER BY timestamp DESC
|
||||||
|
LIMIT 30;
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 데이터베이스 스키마
|
## 데이터베이스 스키마
|
||||||
@ -85,8 +99,9 @@ MAX_MESSAGES_IN_DOM: int = int(os.getenv("MAX_MESSAGES_IN_DOM", 200))
|
|||||||
### 구현 순서
|
### 구현 순서
|
||||||
1. 백엔드 API 추가 (1시간)
|
1. 백엔드 API 추가 (1시간)
|
||||||
- config.py 환경변수 추가
|
- config.py 환경변수 추가
|
||||||
- database.py에 get_paginated_conversations() 구현
|
- database.py에 get_paginated_conversations() 구현 (PostgreSQL 전용)
|
||||||
- main.py에 엔드포인트 직접 추가
|
- main.py에 엔드포인트 직접 추가
|
||||||
|
- 현재 대화는 save_conversation()으로 PostgreSQL에 저장 필수
|
||||||
2. 프론트엔드 통합 (1시간)
|
2. 프론트엔드 통합 (1시간)
|
||||||
- robeing-api.ts 함수 추가
|
- robeing-api.ts 함수 추가
|
||||||
- chat-interface.tsx 무한 스크롤 구현
|
- chat-interface.tsx 무한 스크롤 구현
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user