first commit
This commit is contained in:
46
framework/vectorstore/test_utils.go
Normal file
46
framework/vectorstore/test_utils.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package vectorstore
|
||||
|
||||
import (
|
||||
"math/rand"
|
||||
"os"
|
||||
"strconv"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
// Helper functions
|
||||
func getEnvWithDefault(key, defaultValue string) string {
|
||||
if value := os.Getenv(key); value != "" {
|
||||
return value
|
||||
}
|
||||
return defaultValue
|
||||
}
|
||||
|
||||
func getEnvWithDefaultInt(key string, defaultValue int) (int, error) {
|
||||
if value := os.Getenv(key); value != "" {
|
||||
return strconv.Atoi(value)
|
||||
}
|
||||
return defaultValue, nil
|
||||
}
|
||||
|
||||
func generateUUID() string {
|
||||
return uuid.New().String()
|
||||
}
|
||||
|
||||
func generateTestEmbedding(dim int) []float32 {
|
||||
embedding := make([]float32, dim)
|
||||
for i := range embedding {
|
||||
embedding[i] = rand.Float32()*2 - 1 // Random values between -1 and 1
|
||||
}
|
||||
return embedding
|
||||
}
|
||||
|
||||
func generateSimilarEmbedding(original []float32, similarity float32) []float32 {
|
||||
similar := make([]float32, len(original))
|
||||
for i := range similar {
|
||||
// Add small random noise to create similar but not identical embedding
|
||||
noise := (rand.Float32()*2 - 1) * (1 - similarity) * 0.1
|
||||
similar[i] = original[i] + noise
|
||||
}
|
||||
return similar
|
||||
}
|
||||
Reference in New Issue
Block a user