CLIP-as-Service 使用指南

CLIP-as-Service 使用指南

【免费下载链接】clip-as-service 🏄 Scalable embedding, reasoning, ranking for images and sentences with CLIP 【免费下载链接】clip-as-service 项目地址: https://gitcode.com/gh_mirrors/cl/clip-as-service

1. 项目介绍

CLIP-as-Service 是一个基于 CLIP 模型的开源服务,它提供了图像和文本的嵌入功能,可以作为一个低延迟、高可扩展性的微服务集成到神经搜索解决方案中。它支持多种协议,如 gRPC、HTTP 和 WebSocket,并且可以轻松地与 Jina 和 DocArray 等现代搜索生态系统集成。

2. 项目快速启动

安装服务端

首先,您需要安装服务端。以下命令将安装 clip-server 包,它是服务端的核心。

pip install clip-server

如果您希望使用 ONNX 或 TensorRT 运行时来加速模型,可以使用以下命令:

pip install clip-server[onnx]
pip install clip-server[tensorrt]

启动服务端:

python -m clip_server

请记住服务端的地址和端口。

安装客户端

接下来,安装客户端。客户端允许您发送请求到服务端并获得嵌入结果。

pip install clip-client

基本使用

创建一个客户端实例:

from clip_client import Client
c = Client('grpc://0.0.0.0:51000')

获取文本嵌入:

texts = ['First do it', 'then do it right', 'then do it better']
embeddings = c.encode(texts)
print(embeddings.shape)  # 输出: (3, 512)

获取图像嵌入:

images = ['apple.png', 'https://clip-as-service.jina.ai/_static/favicon.png', 'data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7']
embeddings = c.encode(images)
print(embeddings.shape)  # 输出: (3, 512)

3. 应用案例和最佳实践

以下是一个使用 CLIP-as-Service 进行文本到图像跨模态搜索的简单示例。

加载图像

您可以从 Jina Cloud 拉取图像,或者从官方网站下载并加载图像。

from docarray import DocumentArray
da = DocumentArray.pull('ttl-original', show_progress=True, local_cache=True)

编码图像

确保服务端正在运行,然后使用客户端对图像进行编码。

c = Client('grpc://0.0.0.0:51000')
da.embedding = c.encode(da URI=True)

搜索图像

query = "a dog"
results = da.search(query)
results.plot_image_sprites()

4. 典型生态项目

  • Jina: 一个用于构建跨模态搜索系统的现代框架。
  • DocArray: 一个用于处理文档数据结构的项目,常用于构建搜索系统。

以上是 CLIP-as-Service 的基本使用和集成指南。您可以根据具体需求调整和扩展这些示例。

【免费下载链接】clip-as-service 🏄 Scalable embedding, reasoning, ranking for images and sentences with CLIP 【免费下载链接】clip-as-service 项目地址: https://gitcode.com/gh_mirrors/cl/clip-as-service

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值