Jina v0.6.0
We are excited to release Jina 0.6.0. Jina is the easier way to do neural search on the cloud. Highlights of this release include:
- Improve the memory footprint for the
Indexer
. - Add an example for building a cross-modal search system with Jina.
- Add support for indexing
.pdf
files.
Release 0.6.0
⬆️ Major Features and Improvements
Scalability
- Improve the memory footprint for the
Indexer
. Instead of using the in-memory index during the query mode, both theNumpyIndexer
and theBinaryPbIndexer
use the memory mapping to better support scaling out for large datasets. To further improve the memory footprint for the vector index,ZarrIndexer
based on Zarr has been added to Jina Hub. #950, #984.
Universal
- Add an example for building a cross-modal search system with Jina. #978
- Add support for indexing
.pdf
files.PdfExtractor
has been added to Jina Hub. #981
⚠️ Breaking Changes
For details of all breaking changes, please refer to #885
- Improve the way of traversing recursive document structure. #944, #933, #923, #893, #889,
- Rename
--yaml-path
to--uses
in Flow CLI #925, #922 - Rename
--uses-reducing
to--uses-after
and add--uses-before
. This change enables us to customize the executors' behaviors before sending them to and after receiving from all parallels/shards. #925
🐞 Bug Fixes and Other Changes
Flow
- Improve context management of Flow and Pod with ExitStack. #901,
- Improve shut-down logic for log server #935, #958
- Fix shut-down logic for Peas and Pods #907, #956
- Refactor de-/serialization logic #988, #991
Executors
- Add a meta variable
force_register
for executors in order to force Jina to use local version of executor. #883 - Fix a bug in reducing functions for encoders. #900
- Fix default behavior of
CompoundIndexer
#939 - Fix bug in overwriting metas using Python client. #980
Drivers
- Add
CollectMatches2DocRankDriver
for calculatingmatches
withgranularity=k-1
fromMatches
atgranularity=k
. #851 - Add
Matches2DocRankDriver
for calculating new scores ofmatches
from original scores #919 - Add
VectorFillDriver
for filling embeddings of Document 2 #909, #913 - Add support for using
tags
withQueryLangDrivers
#938 - Add support for traversing recursive Documents via explicit tree path definition. #983, #979, #994, #993
- Enable
BaseSegmenter
to changemime_type
. #981 - Add
NdArray2PngURI
andBlob2PngURI
for convert numpy arrays into data URI. #982
CLI
- Add
--test-uses
option forjina hub build
CLI for skipping failed-start peas when building Docker file. #902, #965 - Add
is_build_success
field for checking results ofjina hub build
. #903 - Add
--type app
option forjina hub new
CLI for creating a new Jina app. #917 - Add
--push
option forjina hub build
CLI for building and pushing local executors to Jina Hub. #937 - Improve
jina hub list
CLI. #985 - Improve speed of CLI autocompletion. #992
Tests
- Add more unit tests for reducing functions 1 #898
- Move dependencies for unit tests into
extra-requirements.txt
#906 - Add unit tests for sleeping executors #918
- Add more unit tests for checking Peas #921
- Add more unit tests for decorators of executors. #930
- Add more unit tests for overriding Flow arguments. #926, #927
- Fix name conflicts in test when running unit tests on Github. #961
- Add more unit tests for support of Documents with chunks of different
mime_type
, #968
Documentation
- Improve documentation for drivers #886, #888, #990
- Improve README #894
- Fix typos in documentation. #904, #912, #940, #978
Others
- Improve helper functions. #948, #972, #974
- Improve type of annotation. #962, #966, #967
- Improve module importing logic for classes from
jina-hub
. #967 - Improve authentification for
jina hub
#977 - Jina ❤️ Hacktoberfest. #986
🙏 Thanks to our Contributors
This release contains contributions from Alasdair Tran, Alex C-G, David Sanwald, Deepankar Mahapatro, Han Xiao, JamesTang-jinaai, Joan Fontanals Martinez, Maximilian Werk, Nan Wang, Rutuja Surve, Sreerag-ibtl, Susana Guzman, Yue Liu, pswu11, rameshwara
🙏 Thanks to our Community
And thanks to all of you out there as well! Without you, Jina couldn't do what we do. Your support means a lot to us.
🤝 Work with Jina
Want to work with Jina full-time? Check out our openings on our website.