Browse Source

Improve addVectorsForStore()

HEAD
Yang Luo 2 years ago
parent
commit
f0fa71f141
1 changed files with 11 additions and 22 deletions
  1. +11
    -22
      object/vector_embedding.go

+ 11
- 22
object/vector_embedding.go View File

@@ -95,25 +95,26 @@ func addEmbeddedVector(authToken string, text string, storeName string, fileName
}

func addVectorsForStore(authToken string, provider string, key string, storeName string) (bool, error) {
timeLimiter := rate.NewLimiter(rate.Every(time.Minute), 3)
var affected bool
var err error

objs, err := getFilteredFileObjects(provider, key)
if err != nil {
return false, err
}
if len(objs) == 0 {
return false, nil
}

timeLimiter := rate.NewLimiter(rate.Every(time.Minute), 3)
for _, obj := range objs {
f, err := getObjectFile(obj)
var f io.ReadCloser
f, err = getObjectFile(obj)
if err != nil {
return false, err
}
defer f.Close()

filename := obj.Key
text, err := ai.ReadFileToString(f, filename)
var text string
text, err = ai.ReadFileToString(f, filename)
if err != nil {
return false, err
}
@@ -121,31 +122,19 @@ func addVectorsForStore(authToken string, provider string, key string, storeName
textSections := ai.SplitText(text)
for _, textSection := range textSections {
if timeLimiter.Allow() {
ok, err := addEmbeddedVector(authToken, textSection, storeName, obj.Key)
if err != nil {
return false, err
}
if !ok {
return false, nil
}
affected, err = addEmbeddedVector(authToken, textSection, storeName, obj.Key)
} else {
err := timeLimiter.Wait(context.Background())
err = timeLimiter.Wait(context.Background())
if err != nil {
return false, err
}

ok, err := addEmbeddedVector(authToken, textSection, storeName, obj.Key)
if err != nil {
return false, err
}
if !ok {
return false, nil
}
affected, err = addEmbeddedVector(authToken, textSection, storeName, obj.Key)
}
}
}

return true, nil
return affected, err
}

func getRelatedVectors(owner string) ([]*Vector, error) {


Loading…
Cancel
Save