yapapaway / framework /vectorstore /test_utils.go
shinmentakezo07
Add source files required for Space build
8baf122
Raw
History Blame Contribute Delete
1.04 kB
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
}