Welcome to Jina!#

Jina is a framework that empowers anyone to build cross-modal and multi-modal[*] applications on the cloud. It uplifts a PoC into a production-ready service. Jina handles the infrastructure complexity, making advanced solution engineering and cloud-native technologies accessible to every developer.

[*] Example cross-modal application: DiscoArt, DALL·E Flow; example multi-modal services: CLIP-as-service, Jina Now.

Applications built with Jina enjoy the following features out-of-the-box:

🌌 Universal

  • Build applications that deliver fresh insights from multiple data types such as text, image, audio, video, 3D mesh, PDF with Jina AI’s DocArray.

  • Support all mainstream deep learning frameworks.

  • Polyglot gateway that supports gRPC, Websockets, HTTP, GraphQL protocols with TLS.

Performance

  • Intuitive design pattern for high-performance microservices.

  • Scaling at ease: set replicas, sharding in one line.

  • Duplex streaming between client and server.

  • Async and non-blocking data processing over dynamic flows.

☁️ Cloud-native

  • Seamless Docker container integration: sharing, exploring, sandboxing, versioning and dependency control via Jina Hub.

  • Fast deployment to Kubernetes, Docker Compose and Jina Cloud.

  • Full observability via Prometheus and Grafana.

🍱 Ecosystem

  • Improved engineering efficiency thanks to the Jina AI ecosystem, so you can focus on innovating with the data applications you build.

Jina in Jina AI neural search ecosystem

Install#

Make sure that you have Python 3.7+ installed on Linux/MacOS/Windows.

pip install -U jina
conda install jina -c conda-forge
docker pull jinaai/jina:latest

Now that you’re set up, let’s dive into more of how Jina works and how to build great apps.

Support#

Join Us#

Jina is backed by Jina AI and licensed under Apache-2.0. We are actively hiring AI engineers, solution engineers to build the next neural search ecosystem in open source.

Important

Telemetry is the process of collecting data about the usage of a system. This data can be used to improve the system by understanding how it is being used and what areas need improvement.

Jina uses telemetry to collect data about how the software is being used. This data is then used to improve the software. For example, if Jina sees that a lot of users are having trouble with a certain feature, they can improve that feature to make it easier to use.

Telemetry is important for Jina because it allows the team to understand how the software is being used and what areas need improvement. Without telemetry, Jina would not be able to improve as quickly or as effectively.

The data collected include:

  • Jina and its dependencies versions;

  • A hashed unique user identifier;

  • A hashed unique session identifie;r

  • Boolean events: start of a Flow, Gateway and Runtime.

Tip

If you’d like to opt out of usage statistics, make sure to add the --optout-telemetry argument to the different Flows and Executors or set the JINA_OPTOUT_TELEMETRY=1 environment variable.


Index | Module Index