docs: rb8001 파일 처리 즉시 응답 방식 개선 내용 추가

This commit is contained in:
happybell80 2025-09-17 00:43:21 +09:00
parent 44896f1b1e
commit fbdb62d33e

View File

@ -121,17 +121,38 @@ brain_service/llm_service (파일 처리 없이 텍스트만 처리)
- 해결: asyncio.Semaphore(3)로 최대 3개 동시 처리
- 결과: 전체 처리 시간 단축
## 9. 미해결 문제 (2025-09-16)
## 9. 해결된 문제 (2025-09-17)
### 파일 처리 후 로빙 활용 문제
### 파일 처리 후 로빙 활용 문제 (해결됨)
- **현상**: 파일이 skill-rag-file로 저장되지만 로빙이 파일 내용 모름
- **원인**: process_slack_files_async와 process_slack_message_async가 독립 실행
- **필요**: 파일 처리 완료 후 검색 결과를 LLM context에 포함
- **해결**:
- process_message_with_files_async() 함수 추가하여 파일 처리 완료 대기
- skill-rag-file 검색 API 호출하여 파일 내용을 LLM context에 포함
- 검색 API 파라미터 수정 (team_id 필수, document_ids 제거)
### ChromaDB 볼륨 마운트 불일치
- **rb8001**: /home/admin/ivada_project/rb8001/chroma_db → /code/chroma_db (영구 저장)
- **skill-rag-file**: 볼륨 마운트 없음 (컨테이너 재시작 시 데이터 손실)
- **해결 필요**: skill-rag-file에도 영구 볼륨 마운트 추가
### ChromaDB 볼륨 마운트 (해결됨)
- **rb8001**: ./chroma_db → /code/chroma_db (상대 경로)
- **skill-rag-file**: ./chroma_db → /app/chroma_db (상대 경로)
- **해결**: 두 서비스 모두 상대 경로로 통일, SSHFS 충돌 방지
## 10. 해결된 문제 (2025-09-17)
### 파일 처리 즉시 응답 방식 개선
- **문제**: 파일 업로드와 질의가 별도 이벤트로 처리되면 파일 내용 인식 못함
- **원인**: context에 file_ids가 없으면 검색 경로 미실행
- **해결**:
- 파일 텍스트를 먼저 메모리에 추출 (Slack API 직접 다운로드)
- context["file_contents"]로 즉시 LLM에 전달
- skill-rag-file 업로드는 asyncio.create_task()로 백그라운드 처리
- **결과**: ChromaDB 에러와 무관하게 즉시 파일 내용 활용 가능
## 11. 남은 과제
### 검색 결과 없을 때 처리
- **현상**: 검색 결과가 없으면 빈 응답 반환
- **문제**: Slack API가 빈 메시지 거부 (no_text 에러)
- **필요**: 검색 실패 시 기본 메시지 처리
### 대화와 문서 분리 저장 구조
- **설계 의도**: