weaviate
79 строк · 1.7 Кб
1// _ _
2// __ _____ __ ___ ___ __ _| |_ ___
3// \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \
4// \ V V / __/ (_| |\ V /| | (_| | || __/
5// \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___|
6//
7// Copyright © 2016 - 2024 Weaviate B.V. All rights reserved.
8//
9// CONTACT: hello@weaviate.io
10//
11
12package vectorizer
13
14import (
15"context"
16
17"github.com/weaviate/weaviate/modules/text2vec-gpt4all/ent"
18)
19
20type fakeClient struct {
21lastInput string
22}
23
24func (c *fakeClient) Vectorize(ctx context.Context,
25text string,
26) (*ent.VectorizationResult, error) {
27c.lastInput = text
28return &ent.VectorizationResult{
29Vector: []float32{0, 1, 2, 3},
30Dimensions: 4,
31Text: text,
32}, nil
33}
34
35type fakeClassConfig struct {
36classConfig map[string]interface{}
37vectorizeClassName bool
38vectorizePropertyName bool
39skippedProperty string
40excludedProperty string
41}
42
43func (f fakeClassConfig) Class() map[string]interface{} {
44classSettings := map[string]interface{}{
45"vectorizeClassName": f.vectorizeClassName,
46}
47return classSettings
48}
49
50func (f fakeClassConfig) ClassByModuleName(moduleName string) map[string]interface{} {
51return f.classConfig
52}
53
54func (f fakeClassConfig) Property(propName string) map[string]interface{} {
55if propName == f.skippedProperty {
56return map[string]interface{}{
57"skip": true,
58}
59}
60if propName == f.excludedProperty {
61return map[string]interface{}{
62"vectorizePropertyName": false,
63}
64}
65if f.vectorizePropertyName {
66return map[string]interface{}{
67"vectorizePropertyName": true,
68}
69}
70return nil
71}
72
73func (f fakeClassConfig) Tenant() string {
74return ""
75}
76
77func (f fakeClassConfig) TargetVector() string {
78return ""
79}
80