From e48767982820153c3f894799b918f022fb63313f Mon Sep 17 00:00:00 2001 From: happybell80 Date: Mon, 13 Oct 2025 23:49:36 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20=EC=BD=9C=EB=93=9C=EB=A9=94=EC=9D=BC=20?= =?UTF-8?q?IR=20=EB=B6=84=EC=84=9D=20=EC=97=90=EB=9F=AC=204=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20=EB=B0=8F=2099=EC=A4=84=EB=A1=9C=20=EC=B6=95?= =?UTF-8?q?=EC=95=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 에러 4: coldmail_briefing.py:166 try-except 누락 - IR 분석 실패 시 Slack 전송 중단 문제 명시 - 120줄 → 99줄로 축약 (100줄 이하 준수) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../251013_coldmail_ir_analyzer_fix.md | 58 +++++++++---------- 1 file changed, 26 insertions(+), 32 deletions(-) diff --git a/troubleshooting/251013_coldmail_ir_analyzer_fix.md b/troubleshooting/251013_coldmail_ir_analyzer_fix.md index 3ddbde2..9946ce4 100644 --- a/troubleshooting/251013_coldmail_ir_analyzer_fix.md +++ b/troubleshooting/251013_coldmail_ir_analyzer_fix.md @@ -23,55 +23,49 @@ ### 에러 1: RAG 쿼리 404 (6회 발생) -**에러 메시지:** -``` -ERROR:app.services.ir_analyzer:RAG query failed: 404 -``` - **원인:** -- ir_analyzer.py:28 - `/api/query` 엔드포인트 호출 -- skill-rag-file은 POST `/api/search` 제공 (search.py:19) -- 엔드포인트 불일치 +- ir_analyzer.py:28 - `/api/query` 호출하지만 skill-rag-file은 `/api/search` 제공 -**수정 필요:** +**수정:** - ir_analyzer.py:28: `/api/query` → `/api/search` -- ir_analyzer.py:29-32: payload 구조 변경 (document_id 제거, team_id 추가) +- ir_analyzer.py:29-32: payload에 team_id 추가, document_id 제거 ### 에러 2: LLM 연결 실패 -**에러 메시지:** -``` -ERROR:app.services.ir_analyzer:Error calling LLM: Cannot connect to host localhost:8080 -``` - **원인:** -- ir_analyzer.py:15: LLM_API_URL = http://localhost:8080/api/llm -- rb8001 컨테이너 내부에 localhost:8080 LLM 서비스 없음 -- rb8001은 자체 LLM 서비스 사용 (app/llm/llm_service.py) +- ir_analyzer.py:15: localhost:8080 LLM 서비스 없음 +- rb8001은 app/llm/llm_service.py 사용 -**수정 필요:** -- ir_analyzer.py:48-74: call_llm() 함수를 rb8001 LLM 서비스 사용으로 변경 -- app/llm/llm_service.py의 LLMService, LLMRequest 사용 +**수정:** +- ir_analyzer.py:48-74: LLMService, LLMRequest로 전체 변경 ### 에러 3: DB 제약조건 없음 -**에러 메시지:** -``` -asyncpg.exceptions.InvalidColumnReferenceError: there is no unique or exclusion constraint -``` +**원인:** +- startup_valuation.py:249: ON CONFLICT 절 사용하나 UNIQUE 제약조건 미설정 + +**수정:** +- 51123 서버 DB: startup_valuation 테이블 UNIQUE 제약조건 추가 + +### 에러 4: Slack 전송 도달 불가 **원인:** -- startup_valuation.py:249: ON CONFLICT 절 사용 -- startup_valuation 테이블에 UNIQUE 제약조건 미설정 +- coldmail_briefing.py:166: extract_ir_metrics() 예외 시 for loop 중단 +- 172-244줄(Slack 전송) 실행 안됨 -**수정 필요:** -- 51123 서버 DB: startup_valuation 테이블에 UNIQUE 제약조건 추가 +**수정:** +- coldmail_briefing.py:165-170: try-except 추가 --- ## 해결 방안 -### 우선순위 1: ir_analyzer.py 수정 +### 우선순위 1: coldmail_briefing.py 에러 핸들링 추가 + +**수정 위치 (165-170줄):** +- IR 분석 실패 시에도 Slack 메시지 전송되도록 try-except 추가 + +### 우선순위 2: ir_analyzer.py 수정 **query_rag() 함수 (18-45줄):** - 18줄: 파라미터 document_id → team_id로 변경 @@ -82,11 +76,11 @@ asyncpg.exceptions.InvalidColumnReferenceError: there is no unique or exclusion - rb8001 LLM 서비스(app/llm/llm_service.py) 사용으로 전체 변경 - LLMService, LLMRequest import 추가 -### 우선순위 2: DB 제약조건 추가 +### 우선순위 3: DB 제약조건 추가 - 51123 서버: startup_valuation 테이블 UNIQUE 제약조건 추가 -### 우선순위 3: 테스트 재실행 +### 우선순위 4: 테스트 재실행 - git push → Gitea Actions 배포 → 테스트 재실행