fix: sparse vector field init error when using viking embedding (#621)
This commit is contained in:
parent
8cc2a7768c
commit
b25bf6728a
|
|
@ -256,9 +256,9 @@ func (m *manager) mapFields(srcFields []*searchstore.Field) ([]vikingdb.Field, [
|
||||||
return nil, nil, fmt.Errorf("[mapFields] currently only support text field indexing, field=%s", srcField.Name)
|
return nil, nil, fmt.Errorf("[mapFields] currently only support text field indexing, field=%s", srcField.Name)
|
||||||
}
|
}
|
||||||
if embConfig.UseVikingEmbedding {
|
if embConfig.UseVikingEmbedding {
|
||||||
vt := vikingdb.NewVectorizeTuple().SetDense(m.newVectorizeModelConf(srcField.Name))
|
vt := vikingdb.NewVectorizeTuple().SetDense(m.newVectorizeModelConf(srcField.Name, false))
|
||||||
if embConfig.EnableHybrid {
|
if embConfig.EnableHybrid {
|
||||||
vt = vt.SetSparse(m.newVectorizeModelConf(srcField.Name))
|
vt = vt.SetSparse(m.newVectorizeModelConf(srcField.Name, true))
|
||||||
}
|
}
|
||||||
vectorizeOpts = append(vectorizeOpts, vt)
|
vectorizeOpts = append(vectorizeOpts, vt)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -310,12 +310,14 @@ func (m *manager) mapFields(srcFields []*searchstore.Field) ([]vikingdb.Field, [
|
||||||
return dstFields, vectorizeOpts, nil
|
return dstFields, vectorizeOpts, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *manager) newVectorizeModelConf(fieldName string) *vikingdb.VectorizeModelConf {
|
func (m *manager) newVectorizeModelConf(fieldName string, isSparse bool) *vikingdb.VectorizeModelConf {
|
||||||
embConfig := m.config.EmbeddingConfig
|
embConfig := m.config.EmbeddingConfig
|
||||||
vmc := vikingdb.NewVectorizeModelConf().
|
vmc := vikingdb.NewVectorizeModelConf().
|
||||||
SetTextField(fieldName).
|
SetTextField(fieldName).
|
||||||
SetModelName(string(embConfig.ModelName)).
|
SetModelName(string(embConfig.ModelName))
|
||||||
SetDim(m.getDims())
|
if !isSparse {
|
||||||
|
vmc = vmc.SetDim(m.getDims())
|
||||||
|
}
|
||||||
if embConfig.ModelVersion != nil {
|
if embConfig.ModelVersion != nil {
|
||||||
vmc = vmc.SetModelVersion(ptr.From(embConfig.ModelVersion))
|
vmc = vmc.SetModelVersion(ptr.From(embConfig.ModelVersion))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue