Embedding API là một dịch vụ API được xây dựng bằng FastAPI và SentenceTransformer, cho phép bạn tạo embedding cho các câu văn bản. API hỗ trợ cả CPU và GPU, giúp tăng tốc độ xử lý khi sử dụng GPU. Đây là công cụ lý tưởng cho các ứng dụng cần xử lý ngôn ngữ tự nhiên như tìm kiếm văn bản, phân loại, và nhiều hơn nữa.
Health Check: Kiểm tra tình trạng hoạt động của API.Sentence Embedding: Tạo embedding $384$ chiều cho các câu văn bản.Device Check: Xác định thiết bị đang sử dụng (CPU hoặc GPU).CORS Enabled: Hỗ trợ CORS để dễ dàng tích hợp với các ứng dụng frontend.Thông tin giới thiệu về API và các endpoints.
Kiểm tra tình trạng hoạt động của API. Response:
{"status": "ok"}
Tạo embedding cho câu văn bản.
Tham số:
Response:
{"q": "Your sentence", "embedding": [/* 384 dimensions */]}
Kiểm tra thiết bị đang sử dụng (CPU hoặc GPU). Response:
{"device": "cuda"}
hoặc
{"device": "cpu"}
Để kéo image từ Docker Hub, sử dụng lệnh sau:
docker pull qxnam/embedding-api:latest
Chạy container với hỗ trợ GPU:
docker run -d \
--name embedding-api \
-p 8000:8000 \
--gpus all \
qxnam/embedding-api:latest
Bạn có thể sử dụng docker-compose.yml như sau để dễ dàng quản lý và triển khai:
services:
embedding:
container_name: embedding
image: qxnam/embedding-api:latest
environment:
- NVIDIA_VISIBLE_DEVICES=0
ports:
- 8000:8000
volumes:
- ./data/embedding-app:/app
restart: always
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
healthcheck:
test: ["CMD", "curl", "-f", "http://embedding:8000/health"]
interval: 10s
timeout: 5s
retries: 3
Docker: Cài đặt Docker trên máy của bạn.NVIDIA Docker Runtime: Để sử dụng GPU, bạn cần cài đặt NVIDIA Docker runtime. Hoặc không thì bỏ deploy.Torch và SentenceTransformer: Đảm bảo các thư viện này được cài đặt trong image Docker của bạn.Email: [email protected]
GitHub: https://github.com/qxnam
Content type
Image
Digest
sha256:fb9bf92e3…
Size
3.1 GB
Last updated
almost 2 years ago
docker pull qxnam/embedding-api