diff --git a/internal/core/conanfile.py b/internal/core/conanfile.py index d3c002ba2f..49ebee6b56 100644 --- a/internal/core/conanfile.py +++ b/internal/core/conanfile.py @@ -31,7 +31,7 @@ class MilvusConan(ConanFile): "zlib/1.2.13", "libcurl/7.86.0", "glog/0.6.0", - "fmt/8.0.1", + "fmt/9.1.0", "gflags/2.2.2", "double-conversion/3.2.1", "libevent/2.1.12", @@ -42,7 +42,7 @@ class MilvusConan(ConanFile): "xz_utils/5.4.0", "prometheus-cpp/1.1.0", "re2/20230301", - "folly/2023.02.24@milvus/dev", + "folly/2023.05.22.02@milvus/dev", "opentelemetry-cpp/1.8.1.1@milvus/dev", ) generators = ("cmake", "cmake_find_package") @@ -59,6 +59,7 @@ class MilvusConan(ConanFile): "boost:without_locale": False, "glog:with_gflags": False, "prometheus-cpp:with_pull": False, + "fmt:header_only": True } def configure(self): diff --git a/internal/core/src/common/Types.h b/internal/core/src/common/Types.h index 1cf7265b91..8a927f1f88 100644 --- a/internal/core/src/common/Types.h +++ b/internal/core/src/common/Types.h @@ -159,3 +159,56 @@ struct LargeType { }; static_assert(std::is_same_v>); } // namespace milvus + // +template <> +struct fmt::formatter : formatter { + auto + format(milvus::DataType c, format_context& ctx) const { + string_view name = "unknown"; + switch (c) { + case milvus::DataType::NONE: + name = "NONE"; + break; + case milvus::DataType::BOOL: + name = "BOOL"; + break; + case milvus::DataType::INT8: + name = "INT8"; + break; + case milvus::DataType::INT16: + name = "INT16"; + break; + case milvus::DataType::INT32: + name = "INT32"; + break; + case milvus::DataType::INT64: + name = "INT64"; + break; + case milvus::DataType::FLOAT: + name = "FLOAT"; + break; + case milvus::DataType::DOUBLE: + name = "DOUBLE"; + break; + case milvus::DataType::STRING: + name = "STRING"; + break; + case milvus::DataType::VARCHAR: + name = "VARCHAR"; + break; + case milvus::DataType::ARRAY: + name = "ARRAY"; + break; + case milvus::DataType::JSON: + name = "JSON"; + break; + case milvus::DataType::VECTOR_BINARY: + name = "VECTOR_BINARY"; + break; + case milvus::DataType::VECTOR_FLOAT: + name = "VECTOR_FLOAT"; + break; + } + return formatter::format(name, ctx); + } +}; diff --git a/internal/core/src/query/PlanProto.h b/internal/core/src/query/PlanProto.h index d82d4c2e14..2387d5d62b 100644 --- a/internal/core/src/query/PlanProto.h +++ b/internal/core/src/query/PlanProto.h @@ -74,3 +74,31 @@ class ProtoParser { }; } // namespace milvus::query + // +template <> +struct fmt::formatter + : formatter { + auto + format(milvus::proto::plan::GenericValue::ValCase c, + format_context& ctx) const { + string_view name = "unknown"; + switch (c) { + case milvus::proto::plan::GenericValue::ValCase::kBoolVal: + name = "kBoolVal"; + break; + case milvus::proto::plan::GenericValue::ValCase::kInt64Val: + name = "kInt64Val"; + break; + case milvus::proto::plan::GenericValue::ValCase::kFloatVal: + name = "kFloatVal"; + break; + case milvus::proto::plan::GenericValue::ValCase::kStringVal: + name = "kStringVal"; + break; + case milvus::proto::plan::GenericValue::ValCase::VAL_NOT_SET: + name = "VAL_NOT_SET"; + break; + } + return formatter::format(name, ctx); + } +}; diff --git a/internal/core/src/query/visitors/ExecExprVisitor.cpp b/internal/core/src/query/visitors/ExecExprVisitor.cpp index db88088df0..2b52e4ebe2 100644 --- a/internal/core/src/query/visitors/ExecExprVisitor.cpp +++ b/internal/core/src/query/visitors/ExecExprVisitor.cpp @@ -32,7 +32,7 @@ #include "query/Utils.h" #include "segcore/SegmentGrowingImpl.h" #include "simdjson/error.h" - +#include "query/PlanProto.h" namespace milvus::query { // THIS CONTAINS EXTRA BODY FOR VISITOR // WILL BE USED BY GENERATOR diff --git a/internal/core/thirdparty/knowhere/CMakeLists.txt b/internal/core/thirdparty/knowhere/CMakeLists.txt index eae91a719a..b246363127 100644 --- a/internal/core/thirdparty/knowhere/CMakeLists.txt +++ b/internal/core/thirdparty/knowhere/CMakeLists.txt @@ -23,7 +23,6 @@ else () endif () if ( MILVUS_GPU_VERSION STREQUAL "ON" ) - set(USE_CUDA ON CACHE BOOL "" FORCE ) set(WITH_RAFT ON CACHE BOOL "" FORCE ) endif () diff --git a/tests/python_client/common/common_func.py b/tests/python_client/common/common_func.py index 55cac500c5..176513a5b1 100644 --- a/tests/python_client/common/common_func.py +++ b/tests/python_client/common/common_func.py @@ -204,8 +204,10 @@ def gen_schema_multi_string_fields(string_fields): def gen_vectors(nb, dim): vectors = [[random.random() for _ in range(dim)] for _ in range(nb)] - vectors = preprocessing.normalize(vectors, axis=1, norm='l2') - return vectors.tolist() + if dim > 1: + vectors = preprocessing.normalize(vectors, axis=1, norm='l2') + vectors = vectors.tolist() + return vectors def gen_string(nb): @@ -491,7 +493,7 @@ def gen_search_param(index_type, metric_type="L2"): ivf_search_params = {"metric_type": metric_type, "params": {}} search_params.append(ivf_search_params) else: - for nprobe in [64, 128]: + for nprobe in [64,]: ivf_search_params = {"metric_type": metric_type, "params": {"nprobe": nprobe}} search_params.append(ivf_search_params) elif index_type in ["BIN_FLAT", "BIN_IVF_FLAT"]: diff --git a/tests/python_client/common/common_type.py b/tests/python_client/common/common_type.py index eff0b06a51..4768d47e99 100644 --- a/tests/python_client/common/common_type.py +++ b/tests/python_client/common/common_type.py @@ -191,7 +191,7 @@ all_index_types = ["FLAT", "IVF_FLAT", "IVF_SQ8", "IVF_PQ", "HNSW", "DISKANN", " default_index_params = [{"nlist": 128}, {"nlist": 128}, {"nlist": 128}, {"nlist": 128, "m": 16, "nbits": 8}, {"M": 48, "efConstruction": 500}, {}, {"nlist": 128}, {"nlist": 128}, - {"nlist": 128}, {"nlist": 128, "m": 16, "nbits": 8}] + {"nlist": 64}, {"nlist": 64, "m": 16, "nbits": 8}] Handler_type = ["GRPC", "HTTP"] binary_support = ["BIN_FLAT", "BIN_IVF_FLAT"]