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 }