|
2 | 2 |
|
3 | 3 | import numpy as np |
4 | 4 |
|
| 5 | +from pydantic import Field |
| 6 | + |
5 | 7 | from docarray.base_doc import BaseDoc |
6 | 8 | from docarray.typing import AnyEmbedding, ImageBytes, ImageUrl |
7 | 9 | from docarray.typing.tensor.abstract_tensor import AbstractTensor |
8 | 10 | from docarray.typing.tensor.image.image_tensor import ImageTensor |
9 | 11 | from docarray.utils._internal.misc import import_library |
10 | 12 |
|
| 13 | + |
11 | 14 | if TYPE_CHECKING: |
12 | 15 | import tensorflow as tf # type: ignore |
13 | 16 | import torch |
@@ -92,10 +95,24 @@ class MultiModalDoc(BaseDoc): |
92 | 95 | ``` |
93 | 96 | """ |
94 | 97 |
|
95 | | - url: Optional[ImageUrl] = None |
96 | | - tensor: Optional[ImageTensor] = None |
97 | | - embedding: Optional[AnyEmbedding] = None |
98 | | - bytes_: Optional[ImageBytes] = None |
| 98 | + url: Optional[ImageUrl] = Field( |
| 99 | + description='URL to a (potentially remote) image file that needs to be loaded', |
| 100 | + example='https://github.com/docarray/docarray/blob/main/tests/toydata/image-data/apple.png?raw=true', |
| 101 | + default=None, |
| 102 | + ) |
| 103 | + tensor: Optional[ImageTensor] = Field( |
| 104 | + description='Tensor object of the image which can be specifed to one of `ImageNdArray`, `ImageTorchTensor`, `ImageTensorflowTensor`.', |
| 105 | + default=None, |
| 106 | + ) |
| 107 | + embedding: Optional[AnyEmbedding] = Field( |
| 108 | + description='Store an embedding: a vector representation of the image.', |
| 109 | + example=[1, 0, 1], |
| 110 | + default=None, |
| 111 | + ) |
| 112 | + bytes_: Optional[ImageBytes] = Field( |
| 113 | + description='Bytes object of the image which is an instance of `ImageBytes`.', |
| 114 | + default=None, |
| 115 | + ) |
99 | 116 |
|
100 | 117 | @classmethod |
101 | 118 | def validate( |
|
0 commit comments