// _ _ // __ _____ __ ___ ___ __ _| |_ ___ // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ // \ V V / __/ (_| |\ V /| | (_| | || __/ // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| // // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. // // CONTACT: hello@weaviate.io // package vectorizer import ( "context" txt2vecmodels "github.com/weaviate/weaviate/modules/text2vec-contextionary/additional/models" ) type fakeClient struct { lastInput []string } func (c *fakeClient) VectorForCorpi(ctx context.Context, corpi []string, overrides map[string]string) ([]float32, []txt2vecmodels.InterpretationSource, error) { c.lastInput = corpi return []float32{0, 1, 2, 3}, nil, nil } func (c *fakeClient) VectorForWord(ctx context.Context, word string) ([]float32, error) { c.lastInput = []string{word} return []float32{3, 2, 1, 0}, nil } func (c *fakeClient) NearestWordsByVector(ctx context.Context, vector []float32, n int, k int, ) ([]string, []float32, error) { return []string{"word1", "word2"}, []float32{0.1, 0.2}, nil } func (c *fakeClient) IsWordPresent(ctx context.Context, word string) (bool, error) { return true, nil } type fakeClassConfig struct { classConfig map[string]interface{} vectorizePropertyName bool skippedProperty string vectorizeClassName bool excludedProperty string } func (f fakeClassConfig) Class() map[string]interface{} { classSettings := map[string]interface{}{ "vectorizeClassName": f.vectorizeClassName, } return classSettings } func (f fakeClassConfig) ClassByModuleName(moduleName string) map[string]interface{} { return f.classConfig } func (f fakeClassConfig) Property(propName string) map[string]interface{} { if propName == f.skippedProperty { return map[string]interface{}{ "skip": true, } } if propName == f.excludedProperty { return map[string]interface{}{ "vectorizePropertyName": false, } } if f.vectorizePropertyName { return map[string]interface{}{ "vectorizePropertyName": true, } } return nil } func (f fakeClassConfig) Tenant() string { return "" }