说明文档
欢迎使用 CLIP-as-service!
CLIP-as-service 是一个低延迟、高扩展性的图像和文本嵌入服务。它可以轻松作为微服务集成到神经搜索解决方案中。
⚡ 快速:使用 TensorRT、ONNX runtime 和 PyTorch(无 JIT)服务 CLIP 模型,可达 800QPS[*]。请求和响应采用非阻塞双向流式传输,专为大数据和长时间运行的任务设计。
🫐 弹性:在单个 GPU 上水平扩展多个 CLIP 模型,支持自动负载均衡。
🐥 易用:零学习曲线,客户端和服务器采用极简设计。直观一致的 API 用于图像和句子嵌入。
👒 现代:支持异步客户端。轻松在 gRPC、HTTP、WebSocket 协议之间切换,支持 TLS 和压缩。
🍱 集成:与 Jina 和 DocArray 等神经搜索生态系统无缝集成。快速构建跨模态和多模态解决方案。
[*] 使用默认配置(单副本、PyTorch 无 JIT)在 GeForce RTX 3090 上测试。
试用!
安装
PyPI 是最新版本。
请确保使用 Python 3.7+ 版本。客户端和服务器可以独立安装。不需要同时安装两者:例如,可以在 GPU 机器上安装 clip_server,在本地笔记本上安装 clip_client。
客户端
pip install clip-client
服务器
pip install clip-server
服务器 (ONNX)
pip install \"clip_server[onnx]\"
服务器
pip install nvidia-pyindex
pip install \"clip_server[tensorrt]\"
在 Google Colab 上运行服务器
快速检查
安装完成后,您可以运行以下命令进行快速连接检查。
启动服务器
启动 PyTorch 服务器
python -m clip_server
启动 ONNX 服务器
python -m clip_server onnx-flow.yml
启动 TensorRT 服务器
python -m clip_server tensorrt-flow.yml
首次启动服务器时,它会下载默认的预训练模型,这可能需要一些时间,具体取决于您的网络速度。然后您将获得类似以下的地址信息:
╭────────────── 🔗 Endpoint ───────────────╮
│ 🔗 Protocol GRPC │
│ 🏠 Local 0.0.0.0:51000 │
│ 🔒 Private 192.168.31.62:51000 |
| 🌍 Public 87.105.159.191:51000 |
╰──────────────────────────────────────────╯
这意味着服务器已准备好提供服务。记下上面显示的三个地址,稍后您会用到它们。
从客户端连接
根据客户端和服务器的位置,您可能需要使用不同的 IP 地址:
- 客户端和服务器在同一台机器上:使用本地地址,例如 `0.0.0.0`
- 客户端和服务器连接到同一个路由器:使用私有网络地址,例如 `192.168.3.62`
- 服务器在公共网络中:使用公共网络地址,例如 `87.105.159.191`
运行以下 Python 脚本:
from clip_client import Client
c = Client('grpc://0.0.0.0:51000')
c.profile()
将输出:
Roundtrip 16ms 100%
├── Client-server network 8ms 49%
└── Server 8ms 51%
├── Gateway-CLIP network 2ms 25%
└── CLIP model 6ms 75%
{'Roundtrip': 15.684750003856607, 'Client-server network': 7.684750003856607, 'Server': 8, 'Gateway-CLIP network': 2, 'CLIP model': 6}
这意味着客户端和服务器现在已经连接成功。干得好!
jinaai/clip-models
作者 jinaai
创建时间: 2023-12-29 07:32:10+00:00
更新时间: 2024-01-22 06:32:06+00:00
在 Hugging Face 上查看