<p align="center">
<img src="https://github.com/jina-ai/jina/blob/master/.github/logo-only.gif?raw=true" alt="Jina banner" width="200px">
</p>
<p align="center">
An easier way to build neural search in the cloud
</p>
<p align=center>
<a href="#license"><img src="https://github.com/jina-ai/jina/blob/master/.github/badges/license-badge.svg?raw=true" alt="Jina" title="Jina is licensed under Apache-2.0"></a>
<a href="https://pypi.org/project/jina/"><img src="https://github.com/jina-ai/jina/blob/master/.github/badges/python-badge.svg?raw=true" alt="Python 3.7 3.8 3.9" title="Jina supports Python 3.7 and above"></a>
<a href="https://pypi.org/project/jina/"><img src="https://img.shields.io/pypi/v/jina?color=%23099cec&label=PyPI&logo=pypi&logoColor=white" alt="PyPI"></a>
<a href="https://hub.docker.com/r/jinaai/jina/tags"><img src="https://img.shields.io/docker/v/jinaai/jina?color=%23099cec&label=Docker&logo=docker&logoColor=white&sort=semver" alt="Docker Image Version (latest semver)"></a>
<a href="https://github.com/jina-ai/jina/actions?query=workflow%3ACI"><img src="https://github.com/jina-ai/jina/workflows/CI/badge.svg" alt="CI"></a>
<a href="https://github.com/jina-ai/jina/actions?query=workflow%3ACD"><img src="https://github.com/jina-ai/jina/workflows/CD/badge.svg?branch=master" alt="CD"></a>
<a href="https://codecov.io/gh/jina-ai/jina"><img src="https://codecov.io/gh/jina-ai/jina/branch/master/graph/badge.svg" alt="codecov"></a>
</p>
Jina is a deep learning-powered search framework for building <strong>cross-/multi-modal search systems</strong> (e.g. text, images, video, audio) in the cloud.
â±ï¸ **Time Saver** - *The* design pattern of neural search systems, from zero to a production-ready system in minutes.
ð **Universal Search** - Large-scale indexing and querying of unstructured data: video, image, long/short text, music, source code, etc.
ð§ **First-Class AI Models** - First-class support for [state-of-the-art AI models](https://docs.jina.ai/chapters/all_exec.html).
âï¸ **Cloud Ready** - Decentralized architecture with cloud-native features out-of-the-box: containerization, microservice, scaling, sharding, async IO, REST, gRPC, WebSocket.
𧩠**Plug & Play** - Easily usable and extendable with a Pythonic interface.
â¤ï¸ **Made with Love** - Lean dependencies (only 6!) & tip-top, never compromises on quality, maintained by a [passionate full-time, venture-backed team](https://jina.ai).
---
<p align="center">
<a href="http://docs.jina.ai">Docs</a> ⢠<a href="#jina-hello-world-">Hello World</a> ⢠<a href="#get-started">Quick Start</a> ⢠<a href="#learn">Learn</a> ⢠<a href="https://github.com/jina-ai/examples">Examples</a> ⢠<a href="#contributing">Contribute</a> ⢠<a href="https://jobs.jina.ai">Jobs</a> ⢠<a href="http://jina.ai">Website</a> ⢠<a href="http://slack.jina.ai">Slack</a>
</p>
## Installation
| ð¦<br><sub><sup>x86/64,arm/v6,v7,[v8 (Apple M1)](https://github.com/jina-ai/jina/issues/1781)</sup></sub> | On Linux/macOS & Python 3.7/3.8/[3.9](https://github.com/jina-ai/jina/issues/1801) | Docker Users|
| --- | --- | --- |
| Standard | `pip install -U jina` | `docker run jinaai/jina:latest` |
| <sub>Daemon</sub> | <sub>`pip install -U "jina[daemon]"`</sub> | <sub>`docker run --network=host jinaai/jina:latest-daemon`</sub> |
| <sub>With Extras</sub> | <sub>`pip install -U "jina[devel]"`</sub> | <sub>`docker run jinaai/jina:latest-devel`</sub> |
| <sub>Dev/Pre-Release</sub> | <sub>`pip install --pre jina`</sub> | <sub>`docker run jinaai/jina:master`</sub> |
Version identifiers [are explained here](https://github.com/jina-ai/jina/blob/master/RELEASE.md). To install Jina with extra dependencies [please refer to the docs](https://docs.jina.ai/chapters/install/via-pip.html). Jina can run on [Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install-win10). We welcome the community to help us with [native Windows support](https://github.com/jina-ai/jina/issues/1252).
## Jina "Hello, World!" ðð
Just starting out? Try Jina's "Hello, World" - a simple image neural search demo for [Fashion-MNIST](https://hanxiao.io/2018/09/28/Fashion-MNIST-Year-In-Review/). No extra dependencies needed, simply run:
```bash
jina hello-world
```
...or even easier for Docker users, **no install required**:
```bash
docker run -v "$(pwd)/j:/j" jinaai/jina hello-world --workdir /j && open j/hello-world.html
# replace "open" with "xdg-open" on Linux
```
<details>
<summary>Click here to see console output</summary>
<p align="center">
<img src="https://github.com/jina-ai/jina/blob/master/.github/images/hello-world-demo.png?raw=true" alt="hello world console output">
</p>
</details>
This downloads the Fashion-MNIST training and test dataset 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 after running opens a webpage and shows results:
<p align="center">
<img src="https://github.com/jina-ai/jina/blob/master/.github/images/hello-world.gif?raw=true" alt="Jina banner" width="80%">
</p>
Intrigued? Play with different options:
```bash
jina hello-world --help
```
## Get Started
| | |
| --- |---|
| ð£ | [Create](#create) ⢠[Visualize](#visualize) ⢠[Feed Data](#feed-data) ⢠[Fetch Result](#fetch-result) ⢠[Construct Document](#construct-document) ⢠[Add Logic](#add-logic) ⢠[Inter & Intra Parallelism](#inter--intra-parallelism) ⢠[Decentralize](#decentralized-flow) ⢠[Asynchronous](#asynchronous-flow) |
| ð | [Customize Encoder](#customize-encoder) ⢠[Test Encoder](#test-encoder-in-flow) ⢠[Parallelism & Batching](#parallelism--batching) ⢠[Add Data Indexer](#add-data-indexer) ⢠[Compose Flow from YAML](#compose-flow-from-yaml) ⢠[Search](#search) ⢠[Evaluation](#evaluation) ⢠[REST Interface](#rest-interface) |
#### Create
<a href="https://mybinder.org/v2/gh/jina-ai/jupyter-notebooks/main?filepath=basic-create-flow.ipynb"><img align="right" src="https://github.com/jina-ai/jina/blob/master/.github/badges/run-badge.svg?raw=true"/></a>
Jina provides a high-level [Flow API](https://101.jina.ai) to simplify building search/index workflows. To create a new Flow:
```python
from jina import Flow
f = Flow().add()
```
This creates a simple Flow with one [Pod](https://101.jina.ai). You can chain multiple `.add()`s in a single Flow.
#### Visualize
<a href="https://mybinder.org/v2/gh/jina-ai/jupyter-notebooks/main?filepath=basic-visualize-a-flow.ipynb"><img align="right" src="https://github.com/jina-ai/jina/blob/master/.github/badges/run-badge.svg?raw=true"/></a>
To visualize the Flow, simply chain it with `.plot('my-flow.svg')`. If you are using a Jupyter notebook, the Flow object will be automatically displayed inline *without* `plot`:
<img src="https://github.com/jina-ai/jina/blob/master/.github/simple-flow0.svg?raw=true"/>
`Gateway` is the entrypoint of the Flow.
#### Feed Data
<a href="https://mybinder.org/v2/gh/jina-ai/jupyter-notebooks/main?filepath=basic-feed-data.ipynb"><img align="right" src="https://github.com/jina-ai/jina/blob/master/.github/badges/run-badge.svg?raw=true"/></a>
To use a Flow, open it via `with` context manager, like you would open a file in Python. Now let's create some empty document and index it:
```python
from jina import Document
with Flow().add() as f:
f.index((Document() for _ in range(10)))
```
Flow supports CRUD operations: `index`, `search`, `update`, `delete`. Besides, it also provides sugary syntax on common data type such as files, text, and `ndarray`.
```python
with f:
f.index_ndarray(numpy.random.random([4,2]), on_done=print) # index ndarray data, document sliced on first dimension
f.index_lines(['hello world!', 'goodbye world!']) # index textual data, each element is a document
f.index_files(['/tmp
挣扎的蓝藻
- 粉丝: 14w+
- 资源: 15万+
最新资源
- 光伏储能+单相并网逆变运行仿真模型,matlab2021b版本及以上 包含Boost、Buck-boost双向DCDC、并网逆变器三大控制部分 输出光伏300-400V boost电路应用mppt 采
- 校园资料分享平台-JAVA-基于springBoot校园资料分享平台设计与实现(毕业论文+PPT)
- Java毕业设计-基于Springboot+Vue大学生智能消费记账系统源码+数据库
- 基于STM32录音功能设计
- 隔离型DCDC变器设计,LLC谐振变器闭环仿真,变频控制 有自己做的对应明 ,十分详细
- 旅游管理-JAVA-基于springBoot旅游管理系统的设计与实现(毕业论文)
- PEMFC弯月状凹凸结构点状流场设计和优化,软件fluent,优化点块形状和布置方式,改善水管理,提高反应物利用率,提升性能 包括模型,加密网格,速度场,压力场,湍动能场等 满足基本的学习和研究需
- jinjaccalgkegednnccohejagnlnfdag.zip
- 基于自适应多种群寄生樽海鞘群PEDSSA.差分演化的寄生SSA优化门控逻辑单元GRU参数,可用于分类、回归、时序预测任务,代码注释详细
- 课程答疑-JAVA-基于springBoot课程答疑系统设计与实现(毕业论文)
- 锂离子电池老化析锂sei膜热耦合eis电化学阻抗谱优化模型
- 实体单元椭圆主体扭转分析
- 民宿在线预定-JAVA-基于springBoot民宿在线预定平台设计与实现(毕业论文)
- 前处理hypermesh 的 dyna 的汽车碰撞CAE分析 主要内容包含: 1.hypermesh前处理软件基本操作讲解 2.整车模型搭建过程,详细过程 3.各种碰撞的前处理,计算及其结果分析 需要
- 对电机结构进行多目标优化 建相应面模型 对电机转矩性能进行优化,寻最优解
- 相亲网站-JAVA-基于springBoot相亲网站设计与实现(毕业论文+开题+PPT+任务书)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈