fix: update aisaq param (#44861)

issue: #44365

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
This commit is contained in:
foxspy 2025-10-15 19:18:00 +08:00 committed by GitHub
parent 26d06c6340
commit b91878857e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 18 additions and 6 deletions

View File

@ -1379,6 +1379,13 @@ streaming:
# Any configuration related to the knowhere vector search engine # Any configuration related to the knowhere vector search engine
knowhere: knowhere:
enable: true # When enable this configuration, the index parameters defined following will be automatically populated as index parameters, without requiring user input. enable: true # When enable this configuration, the index parameters defined following will be automatically populated as index parameters, without requiring user input.
AISAQ:
build:
max_degree: 56 # Maximum degree of the Vamana graph
pq_code_budget_gb_ratio: 0.125 # Size limit on the PQ code (compared with raw data)
search_list_size: 100 # Size of the candidate list during building graph
search:
beam_width_ratio: 4 # Ratio between the maximum number of IO requests per search iteration and CPU number
DISKANN: DISKANN:
build: build:
max_degree: 56 # Maximum degree of the Vamana graph max_degree: 56 # Maximum degree of the Vamana graph

View File

@ -228,13 +228,10 @@ func (it *indexBuildTask) Execute(ctx context.Context) error {
indexType := it.newIndexParams[common.IndexTypeKey] indexType := it.newIndexParams[common.IndexTypeKey]
var fieldDataSize uint64 var fieldDataSize uint64
var err error var err error
if vecindexmgr.GetVecIndexMgrInstance().IsDiskANN(indexType) {
fieldDataSize, err = estimateFieldDataSize(it.req.GetDim(), it.req.GetNumRows(), it.req.GetField().GetDataType())
if err != nil {
log.Warn("get local used size failed")
return err
}
// Ignore the error here, this param will only be used for diskann and aisaq
fieldDataSize, _ = estimateFieldDataSize(it.req.GetDim(), it.req.GetNumRows(), it.req.GetField().GetDataType())
if vecindexmgr.GetVecIndexMgrInstance().IsDiskANN(indexType) {
err = indexparams.SetDiskIndexBuildParams(it.newIndexParams, int64(fieldDataSize)) err = indexparams.SetDiskIndexBuildParams(it.newIndexParams, int64(fieldDataSize))
if err != nil { if err != nil {
log.Warn("failed to fill disk index params", zap.Error(err)) log.Warn("failed to fill disk index params", zap.Error(err))

View File

@ -44,6 +44,14 @@ func (p *knowhereConfig) init(base *BaseTable) {
return "Size of the candidate list during building graph" return "Size of the candidate list during building graph"
case "DISKANN.search.beam_width_ratio": case "DISKANN.search.beam_width_ratio":
return "Ratio between the maximum number of IO requests per search iteration and CPU number" return "Ratio between the maximum number of IO requests per search iteration and CPU number"
case "AISAQ.build.max_degree":
return "Maximum degree of the Vamana graph"
case "AISAQ.build.pq_code_budget_gb_ratio":
return "Size limit on the PQ code (compared with raw data)"
case "AISAQ.build.search_list_size":
return "Size of the candidate list during building graph"
case "AISAQ.search.beam_width_ratio":
return "Ratio between the maximum number of IO requests per search iteration and CPU number"
default: default:
return "" return ""
} }