Commit Graph

105 Commits

Author SHA1 Message Date
rayx de1e7050d7
fix/fix mips euclidean (#226)
* fix: fix mips euclidean
2026-03-16 13:41:58 +08:00
Abdur-Rahmaan Janhangeer 65b45470d6
fix: minor typo (#225) 2026-03-16 11:31:44 +08:00
Qinren Zhou 9314cb14a6
fix: use per-block filter instead of per-segment filter during query (#223)
* fix: id mismatch

* fix: remove debug string

* fix: use protected

* chore(comment): add comments

* feat: more ut

* Update vector_recall_test.cc

* fix: resolve comments
2026-03-16 10:55:51 +08:00
luoxiaojian 79387c237f
feat: enable icelake and l2 batch distance for int8 quantization. (#213) 2026-03-13 17:26:22 +08:00
rayx d1e0c7b88e
fix: use static array (#222)
* fix: use static array

* fix: clang-format

* fix: clang-format

* fix: clang-format
2026-03-13 13:34:28 +08:00
Qinren Zhou 27c1248b9f
fix: compilation warning in ut (#217) 2026-03-12 17:35:26 +08:00
rayx b6a4eaddc2
fix: turn off math march if not auto detected (#220) 2026-03-12 16:12:28 +08:00
egolearner c05974cab1
fix compile (#218)
* fix compile

* fix missing include

* Revert "fix missing include"

This reverts commit 295b52b0a5057a1c979b0316faf80e864031a0cb.

---------

Co-authored-by: rayx <rui.xing@alibaba-inc.com>
2026-03-12 14:06:04 +08:00
rayx 919f15bb36
fix: fix uint8 conversion overflow (#215) 2026-03-12 12:22:37 +08:00
rayx a7bfd6060d
refactor/march based reorganization (#193)
* add for march compatible test

* fix: remove MxN

* fix: add macro scope

* fix for android ci

* refactor: call euclidean via squared euclidean

* refactor: add match utility

* refactor: comment config out

* fix: fix dimension remainder

* fix: fix condition & config flags

* fix: remove redundant macros

* fix: fix condition error

* fix: fix macros

* fix: remove unnecessary macros

* fix: fix remaining code with vector

* fix: remove unnecessary codes

---------

Co-authored-by: Zefeng Yin <yinzefeng.yzf@alibaba-inc.com>
Co-authored-by: xufeihong.xfh <xufeihong.xfh@alibaba-inc.com>
2026-03-11 22:44:48 +08:00
egolearner 6b89d97d97
build: support config clang stdlib and fix default (#210) 2026-03-11 16:22:36 +08:00
Qinren Zhou 331933c75a
fix: clean up crash residue (#208) 2026-03-11 15:55:13 +08:00
ZeFeng Yin ba86c1663d
fix: add validator for cosine metric with int8 (#209) 2026-03-10 16:09:37 +08:00
dependabot[bot] 23ca093fc7
ci(deps): bump actions/cache from 3 to 5 (#204)
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v5)

---
updated-dependencies:
- dependency-name: actions/cache
  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 18:42:01 +08:00
dependabot[bot] 95acaa38ee
ci(deps): bump actions/checkout from 4 to 6 (#203)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  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 18:41:26 +08:00
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