KevinStephenson
Adding in weaviate code
b110593
raw
history blame
2.6 kB
// _ _
// __ _____ __ ___ ___ __ _| |_ ___
// \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \
// \ V V / __/ (_| |\ V /| | (_| | || __/
// \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___|
//
// Copyright © 2016 - 2024 Weaviate B.V. All rights reserved.
//
// CONTACT: [email protected]
//
package vectorizer
import (
"context"
"github.com/weaviate/weaviate/modules/text2vec-aws/ent"
)
type fakeClient struct {
lastInput []string
lastConfig ent.VectorizationConfig
}
func (c *fakeClient) Vectorize(ctx context.Context,
text []string, cfg ent.VectorizationConfig,
) (*ent.VectorizationResult, error) {
c.lastInput = text
c.lastConfig = cfg
return &ent.VectorizationResult{
Vector: []float32{0, 1, 2, 3},
Dimensions: 4,
Text: text[0],
}, nil
}
func (c *fakeClient) VectorizeQuery(ctx context.Context,
text []string, cfg ent.VectorizationConfig,
) (*ent.VectorizationResult, error) {
c.lastInput = text
c.lastConfig = cfg
return &ent.VectorizationResult{
Vector: []float32{0.1, 1.1, 2.1, 3.1},
Dimensions: 4,
Text: text[0],
}, nil
}
type fakeClassConfig struct {
classConfig map[string]interface{}
vectorizeClassName bool
vectorizePropertyName bool
skippedProperty string
excludedProperty string
// module specific settings
service string
region string
model string
endpoint string
targetModel string
targetVariant string
}
func (f fakeClassConfig) Class() map[string]interface{} {
if len(f.classConfig) > 0 {
return f.classConfig
}
classSettings := map[string]interface{}{
"vectorizeClassName": f.vectorizeClassName,
"service": f.service,
"region": f.region,
"model": f.model,
"endpoint": f.endpoint,
"targetModel": f.targetModel,
"targetVariant": f.targetVariant,
}
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 ""
}