Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
f7060ef
feat: migrate multi-vector query and reranker logic to C++
chinaux May 8, 2026
2b15287
style: format Python files with ruff
chinaux May 8, 2026
2822e05
fix: adapt to main branch API changes (VectorQuery->Query rename, val…
chinaux May 13, 2026
fb5fc1b
fix: multi_vector tests now use multiple same-type vector fields (den…
chinaux May 14, 2026
e5fe8e0
fix: suppress RET501 for intentional default return None in RerankFun…
chinaux May 14, 2026
7507f71
style: ruff format test_collection.py
chinaux May 14, 2026
ed69888
refact multi vector query
chinaux May 18, 2026
3025df4
format code
chinaux May 18, 2026
905ede2
fix(multi-vector): expose SubVectorQuery in Python binding, fix tests
chinaux May 18, 2026
5b341f6
style: ruff format query_executor.py
chinaux May 18, 2026
eaf11f8
fix: define _USE_MATH_DEFINES for M_PI on Windows (MSVC)
chinaux May 18, 2026
e05e13e
refactor: include reranker.h directly in query.h instead of forward d…
chinaux May 19, 2026
84d832f
refactor(reranker): move topn from member variable to rerank() parameter
chinaux May 25, 2026
abcefef
refact code
chinaux May 27, 2026
567ada3
style(python): fix ruff UP035/UP037 in multi_vector_reranker
chinaux May 27, 2026
b4c0cb3
chore: trigger PR sync
chinaux May 27, 2026
b187572
refact code
chinaux May 28, 2026
8c943e8
fix(examples): restore CMakeLists.txt formatting broken by clang-format
chinaux May 28, 2026
26dc158
refactor(reranker): remove redundant metrics_ map by querying schema …
chinaux May 28, 2026
2acda85
refactor(reranker): defer schema binding to query time and remove C A…
chinaux May 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion examples/c/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -123,4 +123,4 @@ if(CMAKE_BUILD_TYPE STREQUAL "Release" AND ANDROID)
set_property(TARGET c_api_basic_example c_api_collection_schema_example c_api_doc_example
c_api_index_example c_api_field_schema_example c_api_optimized_example
PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
endif()
endif()
9 changes: 4 additions & 5 deletions python/tests/detail/test_collection_dql.py
Original file line number Diff line number Diff line change
Expand Up @@ -843,7 +843,7 @@ def test_query_multivector_rrf(self, full_collection: Collection, doc_num):
)
expected_score = expected_rrf_scores[doc_id]
actual_score = doc.score
assert abs(actual_score - expected_score) < 1e-10, (
assert abs(actual_score - expected_score) < 1e-6, (
f"RRF score mismatch for document {doc_id}: expected {expected_score}, got {actual_score}"
)
assert doc.score <= prev_score, (
Expand Down Expand Up @@ -876,9 +876,8 @@ def test_query_multivector_weighted(
batchdoc_and_check(full_collection, multiple_docs, doc_num, operator="insert")
doc_fields, doc_vectors = generate_vectordict_random(full_collection.schema)

weighted_reranker = WeightedReRanker(
topn=3, weights=weights, metric=MetricType.IP
)
metrics = {field: MetricType.IP for field in weights}
weighted_reranker = WeightedReRanker(topn=3, weights=weights, metrics=metrics)

single_query_results = {}
for k, v in DEFAULT_VECTOR_FIELD_NAME.items():
Expand Down Expand Up @@ -911,7 +910,7 @@ def test_query_multivector_weighted(
)
expected_score = expected_weighted_scores[doc_id]
actual_score = doc.score
assert abs(actual_score - expected_score) < 1e-10, (
assert abs(actual_score - expected_score) < 1e-6, (
f"score mismatch for document {doc_id}: expected {expected_score}, got {actual_score}"
)
assert doc.score <= prev_score, (
Expand Down
Loading
Loading