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]
```
This commit is contained in:
Aaron Yi 2024-03-07 05:51:41 +08:00 committed by GitHub
parent 4c25b49229
commit c092db862e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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