Spaces:
Running
Running
// _ _ | |
// __ _____ __ ___ ___ __ _| |_ ___ | |
// \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ | |
// \ V V / __/ (_| |\ V /| | (_| | || __/ | |
// \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| | |
// | |
// Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. | |
// | |
// CONTACT: [email protected] | |
// | |
package nearImage | |
import ( | |
"fmt" | |
"github.com/tailor-inc/graphql" | |
"github.com/weaviate/weaviate/adapters/handlers/graphql/descriptions" | |
) | |
func getNearImageArgumentFn(classname string) *graphql.ArgumentConfig { | |
return nearImageArgument("GetObjects", classname) | |
} | |
func exploreNearImageArgumentFn() *graphql.ArgumentConfig { | |
return nearImageArgument("Explore", "") | |
} | |
func aggregateNearImageArgumentFn(classname string) *graphql.ArgumentConfig { | |
return nearImageArgument("Aggregate", classname) | |
} | |
func nearImageArgument(prefix, className string) *graphql.ArgumentConfig { | |
prefixName := fmt.Sprintf("Img2VecImage%s%s", prefix, className) | |
return &graphql.ArgumentConfig{ | |
Type: graphql.NewInputObject( | |
graphql.InputObjectConfig{ | |
Name: fmt.Sprintf("%sNearImageInpObj", prefixName), | |
Fields: nearImageFields(prefixName), | |
Description: descriptions.GetWhereInpObj, | |
}, | |
), | |
} | |
} | |
func nearImageFields(prefix string) graphql.InputObjectConfigFieldMap { | |
return graphql.InputObjectConfigFieldMap{ | |
"image": &graphql.InputObjectFieldConfig{ | |
Description: "Base64 encoded image", | |
Type: graphql.NewNonNull(graphql.String), | |
}, | |
"certainty": &graphql.InputObjectFieldConfig{ | |
Description: descriptions.Certainty, | |
Type: graphql.Float, | |
}, | |
"distance": &graphql.InputObjectFieldConfig{ | |
Description: descriptions.Distance, | |
Type: graphql.Float, | |
}, | |
} | |
} | |