feat: implement Groq fallback for Gemini failures and update ops docs

add Groq dependency and NAS config entries for fallback provider
implement Gemini -> Groq fallback flow on quota, timeout, and API errors
validate Groq API key with models listing and runtime invocation path
update AI orchestration logic in runner and ai enrichment pipeline
update TODO document to mark Groq auth, integration, and verification as completed
This commit is contained in:
2026-08-22 15:19:59 +09:00
parent a8202161e2
commit f7e31aef1c
5 changed files with 477 additions and 94 deletions
+18 -18
View File
@@ -1,6 +1,6 @@
# Paper Monitor 프로젝트 - 남은 작업 및 검토 TODO
최종 업데이트: 2026-08-21 (IEEE 접근 차단 해제 확인)
최종 업데이트: 2026-08-22 (Groq API 검증 및 fallback 구현 완료 반영)
이 문서는 지금까지 구축한 Synology NAS 기반 논문 자동 모니터링 시스템에서 **아직 미정이거나 수행하지 못한 항목**, 그리고 **운영 전에 변경 또는 추가 검토가 필요한 항목**을 정리한 TODO 목록이다.
@@ -229,31 +229,26 @@ Direct use of automatic function calling (AFC) in Models.generate_content is not
## 5. Groq fallback
### [ ] Groq API 인증 문제 해결
현재 상태:
- Groq API key를 등록했으나 401 `Invalid API Key`
- 새 key 교체 후에도 인증 문제로 일단 보류
### [x] Groq API 인증 문제 해결
완료 상태:
- Groq API key 인증 성공 확인
- `models.list()` 및 실제 호출 기반 인증 검증 완료
- Gemini 실패 시 Groq fallback 연결 및 동작 확인
향후:
- Groq Console에서 project/key 상태 재확인
- `models.list()` 인증 테스트
- 인증 성공 후 Gemini fallback provider로 연결
목표:
적용 동작:
```text
Gemini 성공
-> 완료
-> 완료
Gemini quota/timeout/API 오류
-> Groq fallback
-> Groq fallback
Groq도 실패
-> AI 없이 논문 저장
-> AI 없이 논문 저장
```
### [ ] Groq dependency는 인증 성공 후 정식 추가
현재 Gemini는 정식 dependency 추가 완료.
Groq는 인증 정상화 후 `pyproject.toml`에 추가.
### [x] Groq dependency 정식 추가
Groq 인증 정상화 이후 dependency 반영 및 실행 검증 완료.
---
@@ -616,7 +611,7 @@ IEEE 네트워크 차단은 해제되었으나 API 승인 상태 및 key 교체
## P1 - AI
- [ ] Gemini 429 RetryInfo/backoff 명시적 처리 (13초 간격이 주 보호, 방어 처리 추가)
- [ ] Gemini AFC 경고 정리 (현재 동작에 문제 없음, 낮은 우선순위)
- [ ] Gemini -> Groq fallback (인증 문제 미해결, 파이프라인 차단하지 않음)
- [x] Gemini -> Groq fallback 구현/검증 완료 (Gemini 실패 시 Groq로 자동 전환)
## P1 - 소스
- [ ] Semantic Scholar 연결/접근 안정화 후 재활성화
@@ -672,6 +667,11 @@ scheduler-YYYY-MM-DD_HH-MM-SS.log
- [x] Gemini 무료 5 RPM 한도에서 429 오류 없음 확인
- [x] 이전 실패(`ai_status=failed`) Gemini 논문 재시도 구현
## Groq fallback (2026-08-22)
- [x] Groq API key 인증 성공 확인
- [x] Groq dependency 정식 반영
- [x] Gemini 실패 시 Groq fallback 동작 검증 완료
## IEEE 접근 (2026-08-21)
- [x] IEEE 네트워크 차단 해제 확인 (`developer.ieee.org` HTTP 200 OK)