finds.dev← search

// the find

jina-ai/clip-as-service

★ 12,831 · Python · NOASSERTION · updated Jan 2024

🏄 Scalable embedding, reasoning, ranking for images and sentences with CLIP

A client/server package for running CLIP as a standalone embedding service, so you can get image and text vectors over gRPC/HTTP/WebSocket without loading the model in-process. Built for people wiring CLIP into cross-modal search or retrieval pipelines who want it decoupled as a microservice, especially inside the Jina/DocArray ecosystem.

Backend flexibility is real: PyTorch, ONNX, and TensorRT runtimes are all supported with the same client API, so you can swap for inference speed without touching calling code. The /rank endpoint is a genuinely useful primitive — re-ranking arbitrary text/image matches by joint CLIP likelihood is a building block most people would otherwise hand-roll. Async client and multi-protocol support (gRPC/HTTP/WebSocket with TLS) suggest it was built for actual production load, not just a demo script.

Last commit is from January 2024 — nearly two years stale in a space (CLIP variants, SigLIP, newer embedding models) that has moved fast, so don't expect new model support or bug fixes. Hard dependency on the Jina/DocArray stack (Executor, Flow, DocumentArray) means you're buying into that ecosystem's abstractions just to get embeddings, which is heavier than most people need for a single-purpose service. No mention of batching/throughput tuning guidance or GPU memory sizing in the README, and the TensorRT path in particular tends to be fragile across CUDA/driver versions — expect setup friction there.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →