GithubHelp home page GithubHelp logo

jaunesarmiento / jina Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jina-ai/jina

0.0 2.0 0.0 11.54 MB

The easiest way to build neural search on the cloud

Home Page: https://docs.jina.ai

License: Apache License 2.0

Python 94.15% HTML 3.48% Shell 0.93% Dockerfile 0.52% JavaScript 0.38% CSS 0.53%

jina's Introduction

Jina banner

Jina Jina Jina Jina Docs We are hiring tweet button Python 3.7 3.8 PyPI Docker Docker Image Version (latest semver) CI CD Release Cycle Release CD API Schema

English日本語françaisDeutschРусский язык中文

WebsiteDocsExamplesNewsletterHub (beta)Dashboard (beta)TwitterWe are Hiring

Want to build a search system backed by deep learning? You've come to the right place!

Jina is cloud-native neural search, powered by the state-of-the-art AI and deep learning. It has long-term supported from a full-time, venture-backed team.

🌌 Universal Search - Jina enables large-scale indexing and querying of any kind on multiple platforms and architectures. Whether you're searching for images, video clips, audio snippets, long legal documents, or short tweets, Jina can handle them all.

🚀 High Performance & State-of-the-Art - Jina aims for AI-in-production. You can easily scale out your VideoBERT, Xception, word tokenizer, image segmenter, and database to handle billions of data points. Features like async, replicas, and sharding come out-of-the-box.

🐣 System Engineering Made Easy - Jina offers a one-stop solution that frees you from handcrafting and gluing packages, libraries and databases. With the most intuitive API and dashboard, building a cloud-native search system can be done in minutes.

🧩 Powerful Extensions, Simple Integration - Want a new AI model for Jina? Just write a Python script or build a Docker image. Plugging in new algorithms has never been so simple. Check out Jina Hub (beta) and find more extensions from the community for different use-cases.

Jina is an open-source project. We are hiring AI engineers, full-stack developers, evangelists, and PMs to build the next neural search eco-system in open-source.

Table of Contents

Install

Install from PyPi

On Linux/MacOS with Python >= 3.7, simply run:

pip install jina

To install Jina with extra dependencies, or install on Raspberry Pi please refer to the documentation.

...or Run with a Docker Container

We provide a universal Docker image (only 80MB!) that supports multiple architectures (including x64, x86, arm-64/v7/v6). Simply run:

docker run jinaai/jina --help

Jina "Hello, World!" 👋🌍

As a starter, you are invited to try Jina's "Hello, World" - a simple demo of image neural search for Fashion-MNIST. No extra dependencies needed, just run:

jina hello-world

...or even easier for Docker users, no install required:

docker run -v "$(pwd)/j:/j" jinaai/jina hello-world --workdir /j && open j/hello-world.html  # replace "open" with "xdg-open" on Linux
Click here to see console output

hello world console output

The Docker image downloads Fashion-MNIST training and test data and tells Jina to index 60,000 images from the training set. Then it randomly samples images from the test set as queries and asks Jina to retrieve relevant results. The whole process takes about 1 minute, and it'll eventually open a webpage and show results like this:

Jina banner

As for the implementation behind it? It's as simple as can be:

Python API index.yml Flow in Dashboard
from jina.flow import Flow

f = Flow.load_config('index.yml')

with f:
    f.index(input_fn)
!Flow
pods:
  chunk_seg:
    yaml_path: helloworld.crafter.yml
    replicas: $REPLICAS
    read_only: true
  doc_idx:
    yaml_path: helloworld.indexer.doc.yml
  encode:
    yaml_path: helloworld.encoder.yml
    needs: chunk_seg
    replicas: $REPLICAS
  chunk_idx:
    yaml_path: helloworld.indexer.chunk.yml
    replicas: $SHARDS
    separated_workspace: true
  join_all:
    yaml_path: _merge
    needs: [doc_idx, chunk_idx]
    read_only: true

Flow in Dashboard

All the big words you can name: computer vision, neural IR, microservice, message queue, elastic, replicas & shards. They all happened in just one minute!

Intrigued? Play with different options:

jina hello-world --help

Be sure to continue with our Jina 101 Guide - to understand all key concepts of Jina in 3 minutes!

Getting Started

Start a project from the template

pip install cookiecutter && cookiecutter gh:jina-ai/cookiecutter-jina

With Cookiecutter you can easily create a Jina project from templates with one terminal command. This creates a Python entrypoint, YAML configs and a Dockerfile. You can start from there.

Tutorials

Jina 101 Concept Illustration Book, Copyright by Jina AI Limited      English日本語françaisPortuguêsDeutschРусский язык中文عربية
TutorialsLevel
Orchestrate Pods to work together: sequentially and in parallel; locally and remotely

🐣

Use Jina's input and output functions

🐣

Monitor workflows and get insights with Jina's dashboard

🐣

Extract feature vector data using any deep learning representation

🐣

Search South Park scripts and practice with Flows and Pods

🐣

Search images, define your own executors, and run them in Docker

🐣

Increase performance using prefetching and sharding

🕊

Run a Flow remotely and connect from a local client

🕊

Run Jina on remote instances and distribute your workflow

🕊

Implement your own ideas as Jina plugins

🕊

Solve complex dependencies easily with Docker containers

🕊

Search Pokemon with SOTA visual representation!

🚀

Share your extensions with engineers around the globe on Jina Hub

🚀

Documentation

The best way to learn Jina in depth is to read our documentation. Documentation is built on every push, merge, and release of the master branch.

Are you a "Doc"-star? Affirmative? Join us! We welcome all kinds of improvements on the documentation.

Documentation for older versions is archived here.

Contributing

We welcome all kinds of contributions from the open-source community, individuals and partners. Without your active involvement, Jina won't be successful.

Community

  • Slack channel - a communication platform for developers to discuss Jina
  • Community newsletter - subscribe to the latest updates, releases and event news of Jina
  • LinkedIn - get to know Jina AI as a company and find job opportunities
  • Twitter Follow - follow us and interact with using hashtag #JinaSearch
  • Company - know more about our company and how we are fully committed to open-source!

Roadmap

GitHub milestones lay out the path to the future improvements.

We are looking for partnerships to build a Open Governance model (e.g. Technical Steering Committee) around Jina, to enable a healthy open-source ecosystem and developer-friendly culture. If you are interested in participating, contact us at [email protected].

License

Copyright (c) 2020 Jina AI Limited. All rights reserved.

Jina is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

jina's People

Contributors

hanxiao avatar nan-wang avatar jina-bot avatar alexcg1 avatar fhaase2 avatar yueliu1415926 avatar antonkurenkov avatar guiferviz avatar redram avatar joaopalotti avatar xiongma avatar phamtrancsek12 avatar bingho1013 avatar boussoffara avatar yiksanchan avatar joanfm avatar rutujasurve94 avatar tracy-propertyguru avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.