From 0eb42a78701da6082a96bc509d6ecb8048325e32 Mon Sep 17 00:00:00 2001 From: foxspy Date: Sat, 11 Oct 2025 18:30:08 +0800 Subject: [PATCH] enhance: support load params for vector index (#44747) issue: #44746 Support modifying vector index behavior during loading by change/add aram knowhere.xxx.load.xxx. Signed-off-by: xianliang.li --- pkg/util/indexparams/index_params.go | 3 +++ pkg/util/indexparams/index_params_test.go | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/pkg/util/indexparams/index_params.go b/pkg/util/indexparams/index_params.go index d4fa596cdb..105a30f0d4 100644 --- a/pkg/util/indexparams/index_params.go +++ b/pkg/util/indexparams/index_params.go @@ -378,5 +378,8 @@ func AppendPrepareLoadParams(params *paramtable.ComponentParam, indexParams map[ indexParams[k] = v } } + + params.KnowhereConfig.MergeIndexParams(indexParams[common.IndexTypeKey], paramtable.LoadStage, indexParams) + return nil } diff --git a/pkg/util/indexparams/index_params_test.go b/pkg/util/indexparams/index_params_test.go index f71c5d0bd7..4d674a84df 100644 --- a/pkg/util/indexparams/index_params_test.go +++ b/pkg/util/indexparams/index_params_test.go @@ -604,5 +604,19 @@ func TestAppendPrepareInfo_parse(t *testing.T) { assert.NoError(t, err) assert.Equal(t, resultMapString["key1"], "value1") assert.Equal(t, resultMapString["key2"], "value2") + + params.Save(params.KnowhereConfig.Enable.Key, "true") + params.Save(params.KnowhereConfig.IndexParam.KeyPrefix+"GPU_CAGRA.load.adapt_for_cpu", "true") + indexParams := map[string]string{ + "index_type": "GPU_CAGRA", + "nn_descent_niter": "20", + "build_algo": "NN_DESCENT", + } + + err = AppendPrepareLoadParams(¶ms, indexParams) + assert.NoError(t, err) + assert.Equal(t, indexParams["nn_descent_niter"], "20") + assert.Equal(t, indexParams["build_algo"], "NN_DESCENT") + assert.Equal(t, indexParams["adapt_for_cpu"], "true") }) }