diff --git a/vectorstores/milvus/milvus.go b/vectorstores/milvus/milvus.go index 20846dcff..fbe994548 100644 --- a/vectorstores/milvus/milvus.go +++ b/vectorstores/milvus/milvus.go @@ -195,6 +195,10 @@ func (s *Store) load(ctx context.Context) error { func (s Store) AddDocuments(ctx context.Context, docs []schema.Document, _ ...vectorstores.Option, ) ([]string, error) { + if len(docs) == 0 { + return nil, nil + } + texts := make([]string, 0, len(docs)) for _, doc := range docs { texts = append(texts, doc.PageContent) diff --git a/vectorstores/milvus/milvus_test.go b/vectorstores/milvus/milvus_test.go index 554bc86b0..86c8fac45 100644 --- a/vectorstores/milvus/milvus_test.go +++ b/vectorstores/milvus/milvus_test.go @@ -117,3 +117,14 @@ func TestMilvusConnection(t *testing.T) { require.NoError(t, err) require.Len(t, japanRes, 1) } + +func TestEmptyDocuments(t *testing.T) { + t.Parallel() + storer, err := getNewStore(t, WithDropOld(), WithCollectionName("test")) + require.NoError(t, err) + + data := []schema.Document{} + + _, err = storer.AddDocuments(context.Background(), data) + require.NoError(t, err) +}