Original Source Here
This Post discusses Jina, a neural search framework from Jina-AI, in layman terms.
How is the search going now?
We search the internet for a variety of needs, from finding the lyrics of your favorite song to ordering food online. We use search engines like google to search and get the desired data based on a query. Now, what is a query?
It is a precise request for information retrieval with databases and information systems.
Now, after we give a query to a search engine, it begins its work and responds to our query with the results matching. For example, imagine you search for the new film releasing this weekend, you google it like, “New movie this week release” or “new film near me”. These two phrases we use for searching about the to be released film is the query we give to the search engine. Now search engine uses this and retrieves and presents our information/data related to the query we gave. This is how the process works.
In our day-to-day life, we search (I mean query) search engines using plain text mostly. This approach is traditional. Search engines like Google are for general purposes and cannot be tailored for business needs. Moreover, this traditional approach is error-prone (User can misspell the queries or some words mean different in different contexts) This poses a void for Jina to enter the scene.
How Jina works?
Jina, on the other hand, is a neural search framework, meaning it uses a deep learning-based Neural Search approach to provide out-of-the-box features. One clear advantage of Jina is that it enables users to query with unstructured data, like images, audio, video, and maps. Sounds cool right? If it didn’t awe you, here’s another plus, it is fully customizable and Open–Source. This means one can easily tailor their search needs with Jina and provide highly accurate search results for unstructured queries.
Structured and Unstructured Data:
Ordered data is known as structured data, for example, CSV and XML files. Here, data is categorized and ordered, in the form of rows and columns. Whereas in Unstructured data, such orderliness and categorization is difficult and not found.
Now here Jina wins as it enables users to query with unstructured data like images, videos, and more. This is possible because the fundamental development of Jina is strongly rooted in Neural Search and deep learning. This makes Jina trainable for different use-cases.
Traditional Search VS Neural Search:
Chill, This is not going to be a fight between two ways. Both have their own pros and cons. Like, Neural Search has low query matching capabilities compared to Traditional Search. But Neural Search wins in scalability and customizable factor.
We just install Jina using `pip install jina` in a venv.
Jina works on “flows”, a fundamental component, which manages things to get your application running, each flow takes care of the real-world tasks. A flow contains “executor”, executors are like elements that do data processing for our application.
We add these executors called MyTransformer and MyIndexer for data encoding and indexing purposes respectively
We can visualize this flow using the plot function
this generates an SVG like below,
We now add a name to the executors like below, so that the generated SVG is readable,
This now generates a more readable SVG like below,
We then add executors needed for our purpose and begin our work. More detailed explanations are given in Jina-Docs.
Contribute to Jina:
Jina adores Open-Source as its crown and works on a community level to get features onboard. Any type of contributions are welcomed, and they have a diverse and inclusive community too. Head over to the GitHub page and start working on issues. If you want to spread the word about Jina, Awesome, do it soon!
Any type of contribution is welcomed.
Love Jina? Read these blogs too
Correct me if I am wrong, forgive me if my English is bad.
Trending AI/ML Article Identified & Digested via Granola by Ramsey Elbasheer; a Machine-Driven RSS Bot