Skip to main content

Jina is the cloud-native neural search solution powered by the state-of-the-art AI and deep learning

Project description

Jina banner

Cloud-Native Neural Search Framework for Any Kind of Data

Python 3.7 3.8 3.9 Docker Image Version (latest semver) codecov

Powered by deep learning and cloud-native techniques, Jina is geared towards building search systems for any kind of data in just minutes.

🌌 Search anything - Large-scale indexing and querying of unstructured data: video, image, long/short text, music, source code, PDF, etc.

⏱️ Save time - The design pattern of neural search systems, from zero to a production-ready system in minutes.

🍱 Own your stack - Keep an end-to-end stack ownership of your solution, avoid the integration pitfalls with fragmented, multi-vendor, generic legacy tools.

🌩️ Fast & cloud-ready - Decentralized architecture from day one. Scalable & cloud-native by design: enjoy containerizing, distributing, sharding, async, REST/gRPC/WebSocket.

Installation

2.0 is still in pre-release, add --pre to install it. Why 2.0?

$ pip install --pre jina
$ jina -v
2.0.0rcN

via Docker

$ docker run jinaai/jina:master -v
2.0.0rcN
📦 More installation options

x86/64,arm/v6,v7,v8 (Apple M1)
On Linux/macOS & Python 3.7/3.8/3.9 Docker Users
Standard pip install --pre jina docker run jinaai/jina:2.0.0rc
Daemon pip install --pre "jina[daemon]" docker run --network=host jinaai/jina:latest-daemon
With Extras pip install --pre "jina[devel]" docker run jinaai/jina:latest-devel
Dev/Pre-Release pip install --pre jina docker run jinaai/jina:master

Version identifiers are explained here. Jina can run on Windows Subsystem for Linux. We welcome the community to help us with native Windows support.

Get Started

Document, Executor, Flow are three fundamental concepts in Jina.

Copy-paste the minimum example below and run it:

from jina import Document, Executor, Flow, requests


class MyExecutor(Executor):

    @requests
    def foo(self, docs, parameters, **kwargs):
        print(f'{parameters["p1"]} - {docs[0]}')


f = Flow().add(uses=MyExecutor)

with f:
    f.post(on='/bar', inputs=Document(), parameters={'p1': 'hello'}, on_done=print)

Run Quick Demo

Fork Demo & Build Your Own

Copy the source code of a hello world to your own directory and start from there:

$ jina hello fork fashion ../my-proj/ 

Read Tutorials

Support

  • Join our Slack community to chat to our engineers about your use cases, questions, and support queries.
  • Join our Engineering All Hands meet-up to discuss your use case and learn Jina's new features.
  • Subscribe to the latest video tutorials on our YouTube channel.

Join Us

Jina is backed by Jina AI. We are actively hiring full-stack developers, solution engineers to build the next neural search ecosystem in open source.

Contributing

We welcome all kinds of contributions from the open-source community, individuals and partners. We owe our success to your active involvement.

All Contributors

<img src="https://ava

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jina-2.0.0rc2.dev24.tar.gz (240.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page