You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Chore] 임베딩 서버 torch를 CPU 전용으로 교체해 NVIDIA 독점 패키지 제거 #450
이 패키지들의 라이선스는 NVIDIA 독점(NVIDIA Proprietary Software)이며 OSI 승인이 아닙니다. (PyPI 메타데이터 기준)
개발 PC(Apple Silicon, linux/arm64) 이미지에는 이 패키지가 설치되지 않아 지금까지 드러나지 않았습니다. (로컬 docgrid-embedding-server 이미지에서 pip list로 확인)
임베딩 서버는 docker-compose.yml에서 GPU 없이 CPU(cpus, mem_limit)만 사용하므로 이 패키지는 실행에 쓰이지 않습니다.
방침: torch 버전은 유지하고 CPU 전용 빌드만 받도록 바꿉니다
torch 2.4.1은 그대로이고 GPU용 부품이 없는 CPU 전용 휠(PyTorch CPU 저장소)을 사용합니다.
main.py 등 서버 코드는 변경하지 않습니다.
✅ To-do
사전 확인
CPU 전용 저장소를 지정한 pip install --dry-run(linux/amd64, Python 3.11)에서 NVIDIA 패키지가 사라지고 torch 2.4.1+cpu가 선택되는지 확인
변경 전 기준선: 현재 서버에서 고정 문장 몇 개의 임베딩 값과 이미지 크기를 기록
변경
backend/embedding-server의 설치 경로를 CPU 전용 torch로 변경 (Dockerfile과 requirements.txt 중 어디에 지정할지 확정 — requirements-test.txt가 requirements.txt를 참조하므로 로컬 테스트 환경과 일치해야 함)
설계 문서 docs/design/kangcheolung-#{이슈번호}-embedding-torch-cpu-only.md 작성 (배경·변경 범위·검증)
검증
변경 후 이미지 빌드 (기존 docgrid-embedding-server 이미지는 덮어쓰지 않고 별도 태그로)
변경 후 동일 문장 임베딩 값을 기준선과 비교
이미지 크기 변화 기록
✅ 완료 기준
linux/amd64 기준 설치 목록에 nvidia-* 패키지가 없다. (pip list | grep -i nvidia 결과 없음)
torch 버전이 2.4.1(CPU 전용 빌드)이다.
backend/embedding-server의 pytest(test_main.py 등)가 통과한다.
/health/ready가 정상 응답하고 임베딩 API 응답 형식이 변경 전과 같다.
고정 문장의 임베딩 값이 변경 전과 허용 오차 안에서 같다.
레포의 Python 의존성 정의 어디에도 NVIDIA 패키지를 요구하는 지정이 없다.
📒 기타
이 이슈의 범위 밖 (별도 확인 필요)
minio/minio(태그 미고정, AGPL-3.0)와 grafana/grafana:13.2.3(AGPL-3.0) 이미지: OSI 승인 라이선스이나 별도 컨테이너 실행의 충돌 여부는 OpenUP 오픈소스 라이선스 멘토링(~10/26)에서 확인 필요
docs/images/architecture.png에 남아 있는 Redis 로고 교체
README 라이선스 표에 Python 의존성·컨테이너 이미지 라이선스 보강
FlagEmbedding==1.2.11은 PyPI에 라이선스 메타데이터가 비어 있음 (스캔 도구가 unknown으로 표시할 수 있음)
참고
2026-10-08 자체 라이선스 사전 점검 결과이며, 라이선스는 POM·PyPI·npm 메타데이터 기준입니다. 소스 스캔 결과와 다를 수 있습니다.
📌 Description
임베딩 서버(
backend/embedding-server)의torch를 CPU 전용 빌드로 교체해, x86 리눅스 이미지에 NVIDIA 독점 패키지가 함께 설치되는 문제를 없앱니다.배경
requirements.txt의torch==2.4.1을python:3.11-slim(linux/amd64)에서 설치하면 NVIDIA CUDA 런타임 패키지 12개가 의존성으로 함께 설치됩니다. (pip install --dry-run으로 확인)docgrid-embedding-server이미지에서pip list로 확인)docker-compose.yml에서 GPU 없이 CPU(cpus,mem_limit)만 사용하므로 이 패키지는 실행에 쓰이지 않습니다.방침: torch 버전은 유지하고 CPU 전용 빌드만 받도록 바꿉니다
torch 2.4.1은 그대로이고 GPU용 부품이 없는 CPU 전용 휠(PyTorch CPU 저장소)을 사용합니다.main.py등 서버 코드는 변경하지 않습니다.✅ To-do
사전 확인
pip install --dry-run(linux/amd64, Python 3.11)에서 NVIDIA 패키지가 사라지고torch 2.4.1+cpu가 선택되는지 확인변경
backend/embedding-server의 설치 경로를 CPU 전용 torch로 변경 (Dockerfile과requirements.txt중 어디에 지정할지 확정 —requirements-test.txt가requirements.txt를 참조하므로 로컬 테스트 환경과 일치해야 함)docs/design/kangcheolung-#{이슈번호}-embedding-torch-cpu-only.md작성 (배경·변경 범위·검증)검증
docgrid-embedding-server이미지는 덮어쓰지 않고 별도 태그로)✅ 완료 기준
nvidia-*패키지가 없다. (pip list | grep -i nvidia결과 없음)torch버전이2.4.1(CPU 전용 빌드)이다.backend/embedding-server의pytest(test_main.py등)가 통과한다./health/ready가 정상 응답하고 임베딩 API 응답 형식이 변경 전과 같다.📒 기타
이 이슈의 범위 밖 (별도 확인 필요)
minio/minio(태그 미고정, AGPL-3.0)와grafana/grafana:13.2.3(AGPL-3.0) 이미지: OSI 승인 라이선스이나 별도 컨테이너 실행의 충돌 여부는 OpenUP 오픈소스 라이선스 멘토링(~10/26)에서 확인 필요docs/images/architecture.png에 남아 있는 Redis 로고 교체FlagEmbedding==1.2.11은 PyPI에 라이선스 메타데이터가 비어 있음 (스캔 도구가 unknown으로 표시할 수 있음)참고