From 2a55f8727642666fddf3cdf8a607cbe19b9c7874 Mon Sep 17 00:00:00 2001 From: Claude-51124 Date: Thu, 25 Dec 2025 23:40:57 +0900 Subject: [PATCH] Move IR Deck Gemini Fallback plan to archive (implementation completed) --- ...deck_gemini_fallback_api_expansion_plan.md | 77 ------------------- ...deck_gemini_fallback_api_expansion_plan.md | 30 ++++++++ 2 files changed, 30 insertions(+), 77 deletions(-) delete mode 100644 journey/plans/251201_ir_deck_gemini_fallback_api_expansion_plan.md create mode 100644 journey/plans/archive/251201_ir_deck_gemini_fallback_api_expansion_plan.md diff --git a/journey/plans/251201_ir_deck_gemini_fallback_api_expansion_plan.md b/journey/plans/251201_ir_deck_gemini_fallback_api_expansion_plan.md deleted file mode 100644 index b7bb938..0000000 --- a/journey/plans/251201_ir_deck_gemini_fallback_api_expansion_plan.md +++ /dev/null @@ -1,77 +0,0 @@ -# IR Deck Gemini Fallback 체인 구현 - -**날짜**: 2025-12-01 -**목표**: Rate Limit(429) 대응 자동 모델 전환 - ---- - -## Fallback 순서 - -**기본**: gemini-2.5-flash-lite (RPM 15) - -**429 에러 시**: -1. gemini-2.5-flash (RPM 10) -2. gemini-2.0-flash (RPM 15) -3. gemini-2.0-flash-lite (RPM 30) - ---- - -## 구현 계획 - -### 1. call_llm() 함수 수정 - -**파일**: `rb8001/app/services/ir_analyzer.py` - -**변경**: -- `enable_fallback: bool = False` 파라미터 추가 -- 429 에러 감지 (`ResourceExhausted` 예외) -- Fallback 리스트 순회, 즉시 재시도 -- 모든 모델 실패 시 None 반환 - -### 2. IR Deck Analyzer 적용 - -**파일**: `rb8001/app/services/ir_deck_analyzer.py` - -**변경**: -- `_evaluate_comprehensive`: `enable_fallback=True` -- `_evaluate_page_comprehensive`: `enable_fallback=True` - -### 3. LLMRequest 타입 확장 - -**파일**: `rb8001/app/services/llm/models.py` - -**변경**: -- model 필드에 새 모델 추가 -- `"gemini-2.5-flash"`, `"gemini-2.0-flash"`, `"gemini-2.0-flash-lite"` - -### 4. 동적 Handler 생성 - -**파일**: `rb8001/app/services/llm/llm_service.py` - -**변경**: -- handler 없으면 `GeminiHandler(model_name)` 동적 생성 - ---- - -## Part 2: 프론트엔드 응답 확장 (미구현) - -### EvaluationResponse 확장 - -**추가 필드**: -```python -story_scores: Optional[List[Dict]] # Sequoia 10가지 스토리별 점수 -summary: Optional[str] # 종합 요약 -investment_opinion: Optional[Dict] # 투자 의견 -``` - -### 필요 작업 -- LLM 프롬프트에 story_scores 요청 추가 -- 종합 평가에서 요약 생성 -- 프론트엔드 UI 개선 - ---- - -## 참고 - -- `troubleshooting/251201_ir_deck_evaluation_keyerror_llm_optimization.md` -- `311_FastAPI_구조_원칙.md` diff --git a/journey/plans/archive/251201_ir_deck_gemini_fallback_api_expansion_plan.md b/journey/plans/archive/251201_ir_deck_gemini_fallback_api_expansion_plan.md new file mode 100644 index 0000000..7256ae2 --- /dev/null +++ b/journey/plans/archive/251201_ir_deck_gemini_fallback_api_expansion_plan.md @@ -0,0 +1,30 @@ +# IR Deck Gemini Fallback 체인 구현 + +**날짜**: 2025-12-01 +**상태**: 구현 완료 + +--- + +## 목표 + +Rate Limit(429) 대응 자동 모델 전환 + +## 구현 완료 + +→ 상세: `troubleshooting/251202_ir_deck_gemini_fallback_빈응답_처리.md` + +## Fallback 순서 + +**기본**: gemini-2.5-flash-lite (RPM 15) + +**429 에러 시**: +1. gemini-2.5-flash (RPM 10) +2. gemini-2.0-flash (RPM 15) +3. gemini-2.0-flash-lite (RPM 30) + +## 참고 문서 + +- `troubleshooting/251202_ir_deck_gemini_fallback_빈응답_처리.md`: 구현 완료 기록 (Rate Limit 및 빈 응답 에러 처리) +- `troubleshooting/251201_ir_deck_evaluation_keyerror_llm_optimization.md`: LLM 호출 최적화 +- `311_FastAPI_구조_원칙.md` +