diff --git a/vectorstores/pinecone/pinecone.go b/vectorstores/pinecone/pinecone.go index 1b22f553a..8bc47b6af 100644 --- a/vectorstores/pinecone/pinecone.go +++ b/vectorstores/pinecone/pinecone.go @@ -22,6 +22,7 @@ var ( ErrEmbedderWrongNumberVectors = errors.New( "number of vectors from embedder does not match number of documents", ) + // Deprecated: ErrEmptyResponse is not used anymore and will be removed in the future. // ErrEmptyResponse is returned if the API gives an empty response. ErrEmptyResponse = errors.New("empty response") ErrInvalidScoreThreshold = errors.New( @@ -170,7 +171,7 @@ func (s Store) SimilaritySearch(ctx context.Context, query string, numDocuments } if len(queryResult.Matches) == 0 { - return nil, ErrEmptyResponse + return []schema.Document{}, nil } return s.getDocumentsFromMatches(queryResult, scoreThreshold) diff --git a/vectorstores/weaviate/weaviate.go b/vectorstores/weaviate/weaviate.go index 55790deca..1160ff316 100644 --- a/vectorstores/weaviate/weaviate.go +++ b/vectorstores/weaviate/weaviate.go @@ -232,10 +232,11 @@ func (s Store) parseDocumentsByGraphQLResponse(res *models.GraphQLResponse) ([]s return nil, ErrEmptyResponse } items, ok := data.([]any) + + docs := make([]schema.Document, 0, len(items)) if !ok || len(items) == 0 { - return nil, ErrEmptyResponse + return docs, nil } - docs := make([]schema.Document, 0, len(items)) for _, item := range items { itemMap, ok := item.(map[string]any) if !ok {