Jina is a powerful framework for building distributed multi-modal and cross-modal applications, from start to finish.

See Also

If you are new to Jina, first check its overview for more background.


On top of the basics, the Executor has a few more tricks up its sleeve.

Scaling out: Often, running a single Executor for a given task is just not enough. This tutorial covers scaling out using Jina, including increasing throughput and partitioning data.

Executors on GPU: Machine Learning models are only as fast as the metal they run on, and for maximum performance you want that metal to be a GPU. To run Executors on GPU and accelerate your code, see this tutorial.

External Executors: Executors don’t need to be tied to a specific Flow. If you want to spawn Executors on their own, use them in various Flows, even from a different machine or from inside a Docker container, then follow along here.


Once you’ve built your search app using Jina, you want to deploy it. Jina plays nice with your favorite tools for the job:

Docker Compose: To learn about Jina’s native support for Docker Compose, including deployment, check this guide.

Kubernetes: Jina supports Kubernetes natively. Check the guide here.