mirror of https://github.com/milvus-io/milvus.git
Add SDK support for IVFSQ8NR (#2821)
* add c++ sdk Signed-off-by: sahuang <xiaohai.xu@zilliz.com> * fix clang Signed-off-by: sahuang <xiaohai.xu@zilliz.com>pull/2835/head^2
parent
2c3b3a5cfa
commit
141835a7c7
|
@ -53,11 +53,10 @@ enum class EngineType {
|
|||
};
|
||||
|
||||
static std::map<std::string, EngineType> s_map_engine_type = {
|
||||
{"FLAT", EngineType::FAISS_IDMAP}, {"IVFFLAT", EngineType::FAISS_IVFFLAT}, {"IVFSQ8", EngineType::FAISS_IVFSQ8},
|
||||
{"RNSG", EngineType::NSG_MIX}, {"IVFSQ8H", EngineType::FAISS_IVFSQ8H}, {"IVFPQ", EngineType::FAISS_PQ},
|
||||
{"SPTAGKDT", EngineType::SPTAG_KDT}, {"SPTAGBKT", EngineType::SPTAG_BKT}, {"HNSW", EngineType::HNSW},
|
||||
{"ANNOY", EngineType::ANNOY},
|
||||
};
|
||||
{"FLAT", EngineType::FAISS_IDMAP}, {"IVFFLAT", EngineType::FAISS_IVFFLAT}, {"IVFSQ8", EngineType::FAISS_IVFSQ8},
|
||||
{"RNSG", EngineType::NSG_MIX}, {"IVFSQ8H", EngineType::FAISS_IVFSQ8H}, {"IVFPQ", EngineType::FAISS_PQ},
|
||||
{"SPTAGKDT", EngineType::SPTAG_KDT}, {"SPTAGBKT", EngineType::SPTAG_BKT}, {"HNSW", EngineType::HNSW},
|
||||
{"ANNOY", EngineType::ANNOY}, {"IVFSQ8NR", EngineType::FAISS_IVFSQ8NR}};
|
||||
|
||||
enum class MetricType {
|
||||
L2 = 1, // Euclidean Distance
|
||||
|
|
|
@ -209,6 +209,10 @@ ExecutionEngineImpl::CreatetVecIndex(EngineType type) {
|
|||
index = vec_index_factory.CreateVecIndex(knowhere::IndexEnum::INDEX_FAISS_IVFSQ8, mode);
|
||||
break;
|
||||
}
|
||||
case EngineType::FAISS_IVFSQ8NR: {
|
||||
index = vec_index_factory.CreateVecIndex(knowhere::IndexEnum::INDEX_FAISS_IVFSQ8NR, mode);
|
||||
break;
|
||||
}
|
||||
#ifdef MILVUS_GPU_VERSION
|
||||
case EngineType::FAISS_IVFSQ8H: {
|
||||
index = vec_index_factory.CreateVecIndex(knowhere::IndexEnum::INDEX_FAISS_IVFSQ8H, mode);
|
||||
|
|
|
@ -182,6 +182,7 @@ ValidateIndexParams(const milvus::json& index_params, const engine::meta::Collec
|
|||
}
|
||||
case (int32_t)engine::EngineType::FAISS_IVFFLAT:
|
||||
case (int32_t)engine::EngineType::FAISS_IVFSQ8:
|
||||
case (int32_t)engine::EngineType::FAISS_IVFSQ8NR:
|
||||
case (int32_t)engine::EngineType::FAISS_IVFSQ8H:
|
||||
case (int32_t)engine::EngineType::FAISS_BIN_IVFFLAT: {
|
||||
auto status = CheckParameterRange(index_params, knowhere::IndexParams::nlist, 1, 999999);
|
||||
|
@ -279,6 +280,7 @@ ValidateSearchParams(const milvus::json& search_params, const engine::meta::Coll
|
|||
}
|
||||
case (int32_t)engine::EngineType::FAISS_IVFFLAT:
|
||||
case (int32_t)engine::EngineType::FAISS_IVFSQ8:
|
||||
case (int32_t)engine::EngineType::FAISS_IVFSQ8NR:
|
||||
case (int32_t)engine::EngineType::FAISS_IVFSQ8H:
|
||||
case (int32_t)engine::EngineType::FAISS_BIN_IVFFLAT:
|
||||
case (int32_t)engine::EngineType::FAISS_PQ: {
|
||||
|
|
|
@ -23,6 +23,7 @@ namespace web {
|
|||
extern const char* NAME_ENGINE_TYPE_FLAT;
|
||||
extern const char* NAME_ENGINE_TYPE_IVFFLAT;
|
||||
extern const char* NAME_ENGINE_TYPE_IVFSQ8;
|
||||
extern const char* NAME_ENGINE_TYPE_IVFSQ8NR;
|
||||
extern const char* NAME_ENGINE_TYPE_IVFSQ8H;
|
||||
extern const char* NAME_ENGINE_TYPE_RNSG;
|
||||
extern const char* NAME_ENGINE_TYPE_IVFPQ;
|
||||
|
|
|
@ -115,6 +115,8 @@ Utils::IndexTypeName(const milvus::IndexType& index_type) {
|
|||
return "HNSW";
|
||||
case milvus::IndexType::ANNOY:
|
||||
return "ANNOY";
|
||||
case milvus::IndexType::IVFSQ8NR:
|
||||
return "IVFSQ8NR";
|
||||
default:
|
||||
return "Unknown index type";
|
||||
}
|
||||
|
|
|
@ -39,6 +39,7 @@ enum class IndexType {
|
|||
SPTAGBKT = 8,
|
||||
HNSW = 11,
|
||||
ANNOY = 12,
|
||||
IVFSQ8NR = 13,
|
||||
};
|
||||
|
||||
enum class MetricType {
|
||||
|
|
Loading…
Reference in New Issue