In this blog we will see about:
- What is Jina?
- Why Jina?
- Functional Concepts of Jina
- How to install it?
- Working of Jina
While using google or any search services, we specify the product name that we want to search. But the search may not be accurate or the product is not what we are searching for. But if we give an image or video as an input to search, it will be easy to identify the items. Here jina helps us to build such a neural search service. Jina is an open-source tech stack where we can build and deploy AI-powered applications.
With jina-ai we can build search as a service using deep neural networks. It can be used for all data, such as image, video, text, code, etc. We can build production-ready search systems in minimum time. You are going to keep ownership of your stack and it is easy to integrate. Its use cases include e-commerce, education, and gaming.
Three functional concepts in Jina
Document — It consists of input data such as image, video, text in jina.
Executor — This manages the crafting and encoding works or in other words, it is how jina processes documents.
Flow — This manages the context and it manages the jobs performed by executors.
Using Python —
pip install -U jina
Using Docker —
docker run jinaai/jina:latest
More options can be found in their github repository,
Creating a Document in Jina:
from jina import Documentdc = Document()dc.text = ‘Jina is open-source’
Creating a Flow in Jina:
from jina import Flowfl = Flow()
Adding encoding and indexing to the flow:
from jina import Flowfl = Flow().add(uses= ‘cnn-encoding’).add(uses= ‘simple-indexer’)
How does it work?
Initially, the document is divided into smaller parts so that it will be easy to operate, and then it is encoded to represent each part as vectors. It is then indexed, to save the vectors and key-value information. It also ranks the sorted results and evaluates the predictions.
We can also add parallelization, shards, and docker images remotely to the flow.
Jina AI was started to keep a solution in hand for all kinds of searches. Try out Jina in your next project!
This is my understanding of Jina but you can find more details about all the features and updates in