Repository navigation
[Chore] 임베딩 서버 torch를 플랫폼별 조건부 고정으로 변경해 NVIDIA 패키지 재유입 방지 - #453
Conversation
torch==2.4.1은 PyPI의 일반 휠도 만족해, PyTorch CPU 저장소에 접속하지 못하면 pip가 경고 없이 일반 휠을 선택하고 nvidia-* 12개가 다시 설치된다. x86 Linux에서만 torch==2.4.1+cpu를 요구해 CPU 저장소 장애 시 설치가 실패하게 하고, CPU 저장소에 +cpu 휠이 없는 arm64·macOS는 기존 torch==2.4.1을 유지한다. 서버 코드와 API는 변경하지 않는다. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
배경, 결정(x86 Linux만 +cpu 강제), 선택하지 않은 방법, 재현과 4개 환경 검증, 검증하지 못한 범위를 기록한다. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthrough임베딩 서버의 PyTorch 의존성을 플랫폼별로 고정했습니다. 설계 문서에 선택 근거, dry-run 검증 결과와 미검증 범위를 기록했습니다. 서버 코드와 API 계약은 변경하지 않았습니다. ChangesPyTorch 플랫폼별 의존성
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to Linux x86_64 selects CPU-only PyTorch, while other platforms retain the existing pin. No actionable merge-blocking risk is evident. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🔍️ 작업 내용
torch요구사항을 플랫폼별 조건부 고정으로 바꿔, PyTorch CPU 저장소에 접속하지 못할 때 NVIDIA 독점 패키지 12개가 조용히 되살아나는 경로를 막습니다. ([Chore] 임베딩 서버 torch를 CPU 전용으로 교체해 NVIDIA 독점 패키지 제거 #450 / PR [Chore] 임베딩 서버 torch를 CPU 전용으로 교체해 NVIDIA 독점 패키지 제거 #451 후속)requirements.txt의torch==2.4.1한 줄을 두 줄로 바꾼 것입니다. 서버 코드, API, Dockerfile은 변경하지 않았습니다.✨ 상세 설명
1. 문제
torch==2.4.1이라, CPU 저장소의2.4.1+cpu뿐 아니라 PyPI의 일반2.4.1도 조건을 만족합니다. pip는 기본·추가 인덱스에 우선순위를 두지 않습니다.2.4.1이 선택되고nvidia-*12개가 다시 설치됩니다. 외부 접속이 제한된 서버·CI에서 빌드하면 라이선스 문제가 조용히 되살아납니다.develop의requirements.txt, linux/amd64,download.pytorch.org를127.0.0.1로 돌려 접속 불가를 흉내 냄):pip install --dry-run종료코드 0,torch 2.4.1,nvidia-*12개2. 해결
+cpu라벨이 붙은 휠만 요구하므로 CPU 저장소를 쓸 수 없으면 설치가 실패합니다.torch==2.4.1+cpu단독 고정은 쓰지 않았습니다. CPU 저장소에 linux/arm64·macOS용+cpu휠이 없어 개발 PC(Apple Silicon)의 Docker 빌드가No matching distribution으로 실패합니다. (재현 확인)not을 쓸 수 없어(pipInvalidMarker) 반대 조건을or로 풀어 썼습니다.3. 검증
수정한 실제
requirements.txt로python:3.11-slim에서 확인했습니다. (접속 불가는--add-host로 흉내 냄)2.4.1+cpu,nvidia-*0개No matching distribution found for torch==2.4.1+cpu)2.4.1,nvidia-*0개2.4.1,nvidia-*0개nvidia-*0개,torch.version.cuda=None)docker buildpytest test_main.py4. 검증하지 못한 범위
/health/ready는 이번에 다시 하지 않았습니다. x86에 설치되는 torch는 #450에서 검증한2.4.1+cpu와 같은 휠이고 설치 조건만 바뀌었다는 판단입니다.--add-host로 흉내 낸 것이며 실제 방화벽·프록시 환경은 아닙니다.🛠️ 추후 리팩토링 및 고도화 계획
nvidia-*검사는 이번에 제외했습니다. 필요하면 별도로 검토합니다.architecture.png의 Redis 로고, MinIO·Grafana(AGPL) 멘토링 확인💬 리뷰 요구사항
nvidia-*0개,torch 2.4.1+cpu,/health/ready, 임베딩 값 비교를 확인 부탁드립니다. (#451과 같은 항목)download.pytorch.org에 접속할 수 없는 환경은 빌드가 실패합니다. 이는 의도한 동작이며, 빌드하는 곳에서 접속이 가능한지 확인 부탁드립니다.🤖 Generated with Claude Code
Summary by CodeRabbit