From c092db862e26ff26e934c17b6eaaab6effc58602 Mon Sep 17 00:00:00 2001 From: Aaron Yi Date: Thu, 7 Mar 2024 05:51:41 +0800 Subject: [PATCH] community[patch]: make metadata and text optional as expected in DocArray (#18678) ValidationError: 2 validation errors for DocArrayDoc text Field required [type=missing, input_value={'embedding': [-0.0191128...9, 0.01005221541175212]}, input_type=dict] For further information visit https://errors.pydantic.dev/2.5/v/missing metadata Field required [type=missing, input_value={'embedding': [-0.0191128...9, 0.01005221541175212]}, input_type=dict] For further information visit https://errors.pydantic.dev/2.5/v/missing ``` In the `_get_doc_cls` method, the `DocArrayDoc` class is defined as follows: ```python class DocArrayDoc(BaseDoc): text: Optional[str] embedding: Optional[NdArray] = Field(**embeddings_params) metadata: Optional[dict] ``` --- .../langchain_community/vectorstores/docarray/base.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/community/langchain_community/vectorstores/docarray/base.py b/libs/community/langchain_community/vectorstores/docarray/base.py index bfb00b7af0f..4075cde9ea8 100644 --- a/libs/community/langchain_community/vectorstores/docarray/base.py +++ b/libs/community/langchain_community/vectorstores/docarray/base.py @@ -51,9 +51,9 @@ class DocArrayIndex(VectorStore, ABC): from docarray.typing import NdArray class DocArrayDoc(BaseDoc): - text: Optional[str] + text: Optional[str] = Field(default=None, required=False) embedding: Optional[NdArray] = Field(**embeddings_params) - metadata: Optional[dict] + metadata: Optional[dict] = Field(default=None, required=False) return DocArrayDoc