github.com/weaviate/weaviate@v1.24.6/test/modules/reranker-transformers/reranker_transformers_test.go (about) 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 12 package test 13 14 import ( 15 "os" 16 "testing" 17 18 "github.com/stretchr/testify/assert" 19 "github.com/stretchr/testify/require" 20 "github.com/weaviate/weaviate/test/helper" 21 graphqlhelper "github.com/weaviate/weaviate/test/helper/graphql" 22 "github.com/weaviate/weaviate/test/helper/sample-schema/books" 23 ) 24 25 func TestRerankerTransformers(t *testing.T) { 26 helper.SetupClient(os.Getenv(weaviateEndpoint)) 27 booksClass := books.ClassContextionaryVectorizer() 28 helper.CreateClass(t, booksClass) 29 defer helper.DeleteClass(t, booksClass.Class) 30 31 t.Run("import data", func(t *testing.T) { 32 for _, book := range books.Objects() { 33 helper.CreateObject(t, book) 34 helper.AssertGetObjectEventually(t, book.Class, book.ID) 35 } 36 }) 37 38 t.Run("rerank", func(t *testing.T) { 39 query := ` 40 { 41 Get { 42 Books{ 43 title 44 _additional{ 45 id 46 rerank(property:"description", query: "Who is the author of Dune?") { 47 score 48 } 49 } 50 } 51 } 52 }` 53 result := graphqlhelper.AssertGraphQL(t, helper.RootAuth, query) 54 booksResponse := result.Get("Get", "Books").AsSlice() 55 require.True(t, len(booksResponse) > 0) 56 results, ok := booksResponse[0].(map[string]interface{}) 57 require.True(t, ok) 58 assert.True(t, results["title"] != nil) 59 assert.NotNil(t, results["_additional"]) 60 additional, ok := results["_additional"].(map[string]interface{}) 61 require.True(t, ok) 62 assert.Equal(t, books.Dune.String(), additional["id"]) 63 assert.NotNil(t, additional["rerank"]) 64 rerank, ok := additional["rerank"].([]interface{}) 65 require.True(t, ok) 66 score, ok := rerank[0].(map[string]interface{}) 67 require.True(t, ok) 68 require.NotNil(t, score) 69 assert.NotNil(t, score["score"]) 70 }) 71 }