--- title: CertWeb Contrastive Embedding API sdk: docker app_port: 7860 --- # Contrastive Embedding API CertWeb RAG용 **질의 → 768-dim 벡터** 임베딩을 Hugging Face Spaces에서 서빙합니다. 모델은 HF **모델 리포**에서 로드하며, 이 Space 리포에는 모델 파일을 올리지 않습니다. ## 1. 모델 리포에 올리기 `HUGGINGFACE_UPLOAD.md` §2 참고: `model.safetensors`, `config.json`, `tokenizer*.json`, `config_sentence_transformers.json`, `modules.json`, `1_Pooling/config.json` 등. ## 2. 이 Space 만들기 1. **New Space** → 이름 예: `certweb-contrastive-embed`, **SDK: Docker** 선택. 2. 아래 **올릴 파일 목록**의 파일만 이 Space 리포에 업로드: - `app.py`, `requirements.txt`, `Dockerfile`, `README.md` 3. Space **Settings** → **Variables**: - `HF_MODEL_ID`: 모델 repo ID (예: `your-org/your-model-id`) - (비공개 리포면) `HF_TOKEN`: HF 토큰 ## 3. CertWeb 백엔드에 연결 Render `.env`: ```env RAG_CONTRASTIVE_ENABLE=true RAG_CONTRASTIVE_EMBEDDING_URL=https://-certweb-contrastive-embed.hf.space ``` Space가 제공하는 **API URL** (예: `https://xxx.hf.space` 또는 별도 API 경로)을 그대로 넣으면 됩니다. ## API 규약 - **POST /** Body: `{"inputs": "질의 문자열"}` Response: `[[float, ...]]` (768-dim 벡터 1개를 리스트로 감싼 형태) - **GET /health** Response: `{"status": "ok", "model_loaded": true}`