|
|
@@ -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) { |
|
|
|