4.3 KiB
4.3 KiB
IR Deck 처리 시스템 현재 상태 분석
날짜: 2025-12-06 작성자: Auto 관련 파일:
rb8001/app/router/ir_deck.py(377줄)rb8001/app/services/ir_deck_analyzer.py(693줄)rb8001/app/services/coldmail_processor.py(484줄)rb8001/app/router/slack_handler.pyskill-rag-file/app/api/upload.pyskill-rag-file/app/services/text_extractor.py
입력 루트별 구현 상태
1. 콜드메일 (이메일)
파일: rb8001/app/services/coldmail_processor.py
- 워크플로우:
coldmail_workflow.py(LangGraph) - 스케줄러:
coldmail_briefing.py(평일 9시 5분) - 분석 엔진:
ir_analyzer.py(베이지안 밸류에이션) - IR deck 평가 연동: ❌ 없음 (
ir_deck_analyzer.py미사용) - Slack Lists 등록: ✅ 구현됨 (회사명, 이메일, IR 파일 첨부)
- Slack 채널 메시지: ✅ 구현됨 (요약 메시지 + 피드백 버튼)
2. Slack 파일 업로드
파일: rb8001/app/router/slack_handler.py:58-121
- 처리: 파일을 skill-rag-file로 업로드
- IR deck 평가 연동: ❌ 없음 (업로드만 하고 평가 안 함)
- Slack Lists 등록: ❌ 없음
- 쓰레드 처리: 확인 필요
3. 웹 프론트엔드
파일: rb8001/app/router/ir_deck.py
- 엔드포인트:
POST /api/ir-deck/upload- PDF 업로드POST /api/ir-deck/evaluate- 평가 실행GET /api/ir-deck/evaluation/{id}- 결과 조회POST /api/ir-deck/chat- 후속 질문 답변 ✅ 구현됨POST /api/ir-deck/feedback- 피드백 저장
- 분석 엔진:
ir_deck_analyzer.py(Sequoia Capital 기준) - 후속 질문 답변: ✅ 구현됨 (RAG 검색 + LLM 답변 생성)
공통 기능 상태
OCR 기능
파일: skill-rag-file/app/services/text_extractor.py:136-214
- 구현: pdftotext → PyPDF2 → OCR(pytesseract) 순서
- 품질 휴리스틱: 저품질 감지 시 강제 OCR
- 동작 여부: 코드는 있으나 실제 동작 확인 필요
중복 검사
파일: skill-rag-file/app/api/upload.py:101-139
- 방식: 파일 해시(SHA256) 기반
- 동작: 중복 파일 발견 시 기존
document_id반환 (멱등성 보장) - IR 평가 레벨:
force_reevaluate파라미터로 처리 (기본값: false)
문제점 정리
1. 기능 파편화
- 콜드메일:
ir_analyzer.py사용 (베이지안 밸류에이션) - 웹 프론트:
ir_deck_analyzer.py사용 (Sequoia Capital 기준) - 두 분석 엔진이 분리되어 통합 필요
2. 콜드메일 → IR deck 평가 미연동
- 콜드메일은
ir_analyzer.py만 사용 ir_deck_analyzer.py의 Sequoia Capital 기준 평가 미사용- Slack Lists에 평가 점수/등급 미포함
3. Slack 파일 업로드 → IR deck 평가 미연동
- 파일 업로드만 하고 평가 안 함
- Slack Lists 등록 안 됨
4. 출력 형식 정리 필요
- 콜드메일 채널 메시지 형식 개선 필요
- Slack Lists 컬럼 매핑 정리 필요 (문서:
251122_coldmail_slack_lists_column_mapping_spec.md)
5. 수정 기능 없음
- 자연어로 리스트 항목 수정하는 기능 없음
6. 잘못된 등록 방지
- 이상하게 올라가는 케이스 방지 로직 필요
7. OCR 동작 확인 필요
- 코드는 있으나 실제 동작 여부 불명확
확인된 구현 상태
✅ 구현 완료
- 웹 프론트엔드 후속 질문 답변 (
/chat엔드포인트) - skill-rag-file 중복 검사 (파일 해시 기반)
- 콜드메일 Slack Lists 등록
- 콜드메일 Slack 채널 메시지
❌ 미구현/미연동
- 콜드메일 → IR deck 평가 연동
- Slack 파일 업로드 → IR deck 평가 연동
- Slack 파일 업로드 → Slack Lists 등록
- 자연어 수정 기능
- 잘못된 등록 방지 로직
⚠️ 확인 필요
- OCR 실제 동작 여부
- Slack 리스트 쓰레드 처리
- 웹 프론트 중복 검사 (IR 평가 레벨)
교훈
통합 설계 필요
- 입력 루트별로 다른 분석 엔진 사용 → 통합 필요
- 공통 IR deck 평가 엔진으로 통합 후, 루트별 어댑터 패턴 적용
기능 파편화 해결
- 콜드메일과 웹 프론트가 같은 기능을 다른 방식으로 구현
- 공통 서비스 계층으로 추출 필요