Commit Graph

90 Commits

Author SHA1 Message Date
dependabot[bot] f5a094d232
ci(deps): bump actions/setup-java from 4 to 5 (#202)
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4 to 5.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-09 17:54:08 +08:00
feihongxu0824 b10c3fc316
chore: default not use oss and use beijing-oss (#207) 2026-03-09 17:10:57 +08:00
ZeFeng Yin cfbd3ca008
fix: Replace std::vector with std::array for distance impl (#201) 2026-03-07 17:49:19 +08:00
liututu12 3bd1999604
tests: add tests for recall (#196)
* add recall cases

* add test_collection_crash_recovery_insertdoc.py

* add test_collection_crash_recovery_updatedoc.py

* add test_collection_crash_recovery_upsertdoc.py

* add test_collection_crash_recovery_deletedoc.py

* add test_collection_crash_recovery_createindex.py

* add test_collection_crash_recovery_deleteindex.py

* test_collection_crash_recovery_addcolumn.py

* test_collection_crash_recovery_addcolumn.py

* add dropcolumn updatecolumn cases

* update test_collection_crash_recovery_altercolumn.py

* update test_collection_recall

* update test_collection_crash_recovery_createindex.py

* test_collection_recall.py

* test_collection_recall.py

* feat: add recall test cases and optimize DML/DQL test cases

* upd test case

* fix doc_num

---------

Co-authored-by: iaojnh <yinzefeng.yzf@alibaba-inc.com>
2026-03-05 20:13:45 +08:00
feihongxu0824 fb0b900a80
fix(build): replace CMAKE_SOURCE_DIR with PROJECT_ROOT_DIR for subproject builds (#195) 2026-03-04 20:01:52 +08:00
Qinren Zhou dbcabd8f44
minor: add function overload in python api (#197) 2026-03-04 19:16:18 +08:00
feihongxu0824 43e3eeac40
feat: support android platform cross build (#90) 2026-03-04 16:42:23 +08:00
feihongxu0824 83c03ed0e4
chore(build): accelerate third-party downloads using OSS mirror URLs (#194) 2026-03-04 11:19:10 +08:00
Maxime Grenu e3e8b76ddb
feat(examples): add custom HTTP embedding example for LM Studio / Ollama (#149)
* feat(examples): add custom HTTP embedding example for LM Studio / Ollama

* feat(extension): promote HTTPDenseEmbedding to first-class extension

Move the HTTP embedding implementation from the example script into
python/zvec/extension/ as HTTPDenseEmbedding, inheriting from
DenseEmbeddingFunction. The example now imports from zvec.extension
instead of defining the class inline.

Signed-off-by: Maxime <maxime@cluster2600.com>
Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>

* fix(examples): resolve ruff lint errors in HTTP embedding example

Move zvec imports to top-level, add noqa for print statements,
replace os.path.exists with pathlib, fix import sorting.

Signed-off-by: Maxime <maxime@cluster2600.com>
Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>

* style: apply ruff formatter

Signed-off-by: Maxime <maxime@cluster2600.com>
Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>

* ci: retrigger CI (flaky macOS C++ test)

The vector_column_indexer_test failure is a known flaky assertion in
hnsw_streamer_entity.h, unrelated to Python-only changes in this PR.

Signed-off-by: Maxime <maxime@cluster2600.com>
Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>

* chore: remove custom HTTP embedding example

Per maintainer feedback, examples requiring an external LLM server
belong in the zvec-web project rather than in this repository.

Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>

---------

Signed-off-by: Maxime <maxime@cluster2600.com>
Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>
2026-03-03 21:13:54 +08:00
feihongxu0824 24d877da5e
fix: Replace VLAs with std::vector for MSVC compatibility and stack safety (#190) 2026-03-03 10:07:21 +08:00
Cuiys 9eb68ee061
fix: fix main ci only trigger linux64 platform (#187)
* fix: fix main ci only trigger linux64 platform

* Fix YAML syntax for build-and-test job name
2026-02-28 16:46:07 +08:00
ZeFeng Yin 596d5795e9
test: fix ut random float (#182) 2026-02-28 16:11:13 +08:00
Cuiys 120d9e3e68
Update Python version in workflow to 3.10 (#186) 2026-02-28 14:39:16 +08:00
Maxime Grenu 3c38a8b94c
feat: add Python 3.13 and 3.14 support (#164)
* feat: add Python 3.13 and 3.14 support

- Add Python 3.13 and 3.14 classifiers to pyproject.toml
- Add cp313 and cp314 cibuildwheel build targets
- Add Python 3.13 and 3.14 to CI test matrix
- Enable allow-prereleases for setup-python (required for 3.14 alpha)

Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>

* ci: retrigger (flaky Int4SquaredEuclideanMetric tolerance on linux-x64)

Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>

* fix: widen Int4 distance matrix test tolerance from 1e-4 to 5e-4

Int4 quantization uses only 16 levels per dimension (vs 256 for Int8),
resulting in larger rounding errors in distance computations. The
previous 1e-4 absolute tolerance was too tight and caused flaky
failures (observed diff: 1.22e-4 on values ~523.77). The Int8 test
already has this EXPECT_NEAR commented out, relying solely on the
relative IsAlmostEqual check.

Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>

* fix: remove allow-prereleases flag for Python 3.14

Python 3.14 is now a stable release (v3.14.3, released Oct 2025),
so allow-prereleases: true is no longer needed in setup-python.

Signed-off-by: Maxime Kawawa-Beaudan <maxkb@meta.com>
Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>

---------

Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>
Signed-off-by: Maxime Kawawa-Beaudan <maxkb@meta.com>
2026-02-28 14:37:43 +08:00
longway 4e420311df
chore(flat): replace std::map with std::unordered_map for key_id_mapping_ (#153)
Reduces key lookup in get_id() from O(log N) to O(1) average, and index
load time from O(N log N) to O(N). Also lowers per-entry memory usage by
eliminating the three tree-node pointers (parent/left/right).

Co-authored-by: ZeFeng Yin <yinzefeng.yzf@alibaba-inc.com>
2026-02-28 13:10:38 +08:00
feihongxu0824 753e3a3fbd
fix[build]: default build from source with -march=native (#184) 2026-02-28 12:21:37 +08:00
egolearner 5e637bcfdf
build: disable rocksdb -arch=native (#183) 2026-02-28 11:19:44 +08:00
ZeFeng Yin ba6acbf48f
fix: ivf optimize (#169) 2026-02-27 17:35:52 +08:00
Aashish Thapa 0d84e30dd3
fix: update antlr4 CMAKE_POLICY from OLD to NEW for CMake 3.31+ compatibility (#145)
CMake 3.31+ has removed support for the OLD behavior of policies
CMP0042, CMP0045, CMP0054, and CMP0059. This causes a hard
configuration error when building from source with newer CMake versions.

Changing these to NEW resolves the build failure. The NEW behavior has
been the default since CMake 3.0/3.3 and does not affect functionality.

Fixes #144
2026-02-27 14:35:55 +08:00
Cuiys 04860d7d9d
ci: add dependabot (#181) 2026-02-27 11:45:24 +08:00
Han Xiao 232803611e
feat: add jina embeddings v5 support (#156)
* add Jina Embeddings v5 support

* fix ruff format for jina_embedding_function.py
2026-02-26 14:40:15 +08:00
Cuiys 88439c69e1
feat(ci): ci workflow with github-hosted runner (#171)
* feat: linux ci with github runner

* fix: add CFLAGS with -march=native

* fix: fix linux x86 ci

* fix: with zen3 in x86 ci

* feat: nightly report with github-runner

* feat: refactor ci workflow

* feat: rename workflow

* feat: rename job

* feat: update ci badge

* feat: remove python coverage
2026-02-26 10:47:55 +08:00
Salman Chishti 17d931fabf
Upgrade GitHub Actions to latest versions (#130)
Signed-off-by: Salman Muin Kayser Chishti <13schishti@gmail.com>
2026-02-25 19:01:39 +08:00
Salman Chishti d1be135a00
Upgrade GitHub Actions for Node 24 compatibility (#129)
Signed-off-by: Salman Muin Kayser Chishti <13schishti@gmail.com>
2026-02-25 18:09:55 +08:00
Jason Yao 2b97fee2f6
chore: enable the conventional-pre-commit run sucess and update to latest version (#111) 2026-02-25 18:03:20 +08:00
Cuiys 56c5eb533e
docs: adjust join us in the readme. (#168)
* docs: remove x.com in join us

* docs: join discord with widget
2026-02-25 13:54:21 +08:00
Jalin Wang 32a5662460
ci: continuous benching (#110) 2026-02-25 11:22:18 +08:00
Maxime Grenu 4fb6c6ff0a
fix(docs): fix typo in README align attr and Python version in CONTRIBUTING (#150)
- README.md: remove spurious space in align=" center" → align="center"
  (logo was not centered on GitHub due to invalid HTML attribute value)
- CONTRIBUTING.md: correct Python prerequisite from '>= 3.9' to '3.10 - 3.12'
  to match pyproject.toml classifiers and CI matrix (cp310, cp312)
2026-02-20 10:06:48 +08:00
ALEXANDRE JUNIO CANUTO LOPES 0c5d95ca74
docs: fix repository URL in CONTRIBUTING.md (#139)
Changed 'your-org' placeholder to 'alibaba' in the git clone command to reflect the correct repository URL.
2026-02-17 09:42:16 +08:00
feihongxu0824 33917f7a0c
chore: add trend badge (#132) 2026-02-15 22:46:27 +08:00
Qinren Zhou 66673b559e
minor: add links to package repository 2026-02-13 14:54:21 +08:00
Cuiys e60ae09e5a
feat(ci): macos ci with github-runner (#94) 2026-02-13 14:41:57 +08:00
Qinren Zhou 729d8d5904
minor: add installation instruction for node.js package (#103) 2026-02-13 14:04:58 +08:00
Cuiys 1d5aeeed1d
fix(py): py with build-in package typing not typing_extensions (#99) 2026-02-12 23:38:18 +08:00
Cuiys 1fa15ce96b
feat: support ai extension (#88) 2026-02-12 18:33:41 +08:00
lichen2015 e7ad7cc31e
fix: combined indexer should use key instead of index (#87)
Co-authored-by: yinzefeng.yzf <yinzefeng.yzf@alibaba-inc.com>
2026-02-12 10:38:05 +08:00
Cuiys dc088a4446
feat: support linux arm64 ci and release (#71) 2026-02-10 14:17:49 +08:00
ZeFeng Yin 44fd16511f
test: rm useless expect (#82)
* rm useless expect

* Delete tests/core/algorithm/hnsw/hnsw_streamer_buffer_test.cc
2026-02-10 10:38:53 +08:00
feihongxu0824 efc6f3f7ce
fix: add c++ example to macos/linux ci (#86) 2026-02-09 23:31:56 +08:00
Jalin Wang 2bfeac5034
chore: switch core tools to LOG_ERROR instead of cerr for better traceability when errors occur (#80) 2026-02-09 19:36:14 +08:00
feihongxu0824 1e09d0d34c
chore: rm useless ailego module (#85) 2026-02-09 18:56:46 +08:00
lichen2015 fe90f70a3b
fix: delete_by_filter should use g_doc_id (#84) 2026-02-09 17:40:51 +08:00
Qinren Zhou 0b9bd34354
minor: subsequent initialization should fail silently (#79) 2026-02-06 21:16:08 +08:00
richyreachy ec26525b38
feat(docs): update bench tool readme.md (#77) 2026-02-06 17:31:46 +08:00
Jalin Wang 78f08bd0cc
feat: auto scalable segment meta section of mmap files (#67)
The underly core module only support a fixed-size segment due to the index file format where the section of segments meta limit the max num of data segments. This commit makes the meta section dynamically allocated and organized in a link-table manner to support much more segments.


* revert local_builder's meta cap setting

* feat: auto scalable segment meta section of mmap files

* Revert "feat: auto scalable segment meta section of mmap files"

This reverts commit 82c11e451544b912b901be33fae79e964a487b1f.

* v2: don't change to absolute offset
2026-02-06 14:58:56 +08:00
lichen2015 f1349cc91a
fix: remove unnecessary column_name param from the AddColumn API (#59) 2026-02-04 14:44:13 +08:00
姚军 7c577e5f53
doc: update the CMake minimum version requirement (#57) 2026-02-03 17:17:43 +08:00
richyreachy a20d484e9e
refactor(core): unify search invoke (#15)
Co-authored-by: feihongxu0824 <xufeihong.xfh@alibaba-inc.com>
2026-02-03 12:40:23 +08:00
egolearner 6df6ba8fce
chore: rm IndexMeta::MetricType def (#53) 2026-02-03 11:17:02 +08:00
姚军 ea9d957893
fix: some typos in hnsw index (#50) 2026-02-03 10:41:21 +08:00