3
3
4
4
import pytest
5
5
6
- from jina ._docarray import docarray_v2
6
+ from jina ._docarray import docarray_v2 , is_pydantic_v2
7
7
from jina .serve .helper import get_default_grpc_options
8
8
from jina .serve .runtimes .helper import (
9
9
_get_name_from_replicas_name ,
@@ -96,10 +96,11 @@ def test_create_pydantic_model_from_schema(transformation):
96
96
from docarray .documents import TextDoc
97
97
from docarray .typing import AnyTensor , ImageUrl
98
98
99
- from jina .serve .runtimes .helper import (
100
- _create_aux_model_doc_list_to_list ,
101
- _create_pydantic_model_from_schema ,
102
- )
99
+ if not is_pydantic_v2 :
100
+ from jina .serve .runtimes .helper import _create_aux_model_doc_list_to_list as create_pure_python_type_model
101
+ from jina .serve .runtimes .helper import _create_pydantic_model_from_schema as create_base_doc_from_schema
102
+ else :
103
+ from docarray .utils .create_dynamic_doc_class import create_pure_python_type_model , create_base_doc_from_schema
103
104
104
105
class Nested2Doc (BaseDoc ):
105
106
value : str
@@ -124,8 +125,8 @@ class CustomDoc(BaseDoc):
124
125
nested : Nested1Doc
125
126
classvar : ClassVar [str ] = 'classvar'
126
127
127
- CustomDocCopy = _create_aux_model_doc_list_to_list (CustomDoc )
128
- new_custom_doc_model = _create_pydantic_model_from_schema (
128
+ CustomDocCopy = create_pure_python_type_model (CustomDoc )
129
+ new_custom_doc_model = create_base_doc_from_schema (
129
130
CustomDocCopy .schema (), 'CustomDoc' , {}
130
131
)
131
132
@@ -199,8 +200,8 @@ class CustomDoc(BaseDoc):
199
200
class TextDocWithId (BaseDoc ):
200
201
ia : str
201
202
202
- TextDocWithIdCopy = _create_aux_model_doc_list_to_list (TextDocWithId )
203
- new_textdoc_with_id_model = _create_pydantic_model_from_schema (
203
+ TextDocWithIdCopy = create_pure_python_type_model (TextDocWithId )
204
+ new_textdoc_with_id_model = create_base_doc_from_schema (
204
205
TextDocWithIdCopy .schema (), 'TextDocWithId' , {}
205
206
)
206
207
@@ -229,8 +230,8 @@ class TextDocWithId(BaseDoc):
229
230
class ResultTestDoc (BaseDoc ):
230
231
matches : DocList [TextDocWithId ]
231
232
232
- ResultTestDocCopy = _create_aux_model_doc_list_to_list (ResultTestDoc )
233
- new_result_test_doc_with_id_model = _create_pydantic_model_from_schema (
233
+ ResultTestDocCopy = create_pure_python_type_model (ResultTestDoc )
234
+ new_result_test_doc_with_id_model = create_base_doc_from_schema (
234
235
ResultTestDocCopy .schema (), 'ResultTestDoc' , {}
235
236
)
236
237
result_test_docs = DocList [ResultTestDoc ](
@@ -268,10 +269,11 @@ def test_create_empty_doc_list_from_schema(transformation):
268
269
from docarray .documents import TextDoc
269
270
from docarray .typing import AnyTensor , ImageUrl
270
271
271
- from jina .serve .runtimes .helper import (
272
- _create_aux_model_doc_list_to_list ,
273
- _create_pydantic_model_from_schema ,
274
- )
272
+ if not is_pydantic_v2 :
273
+ from jina .serve .runtimes .helper import _create_aux_model_doc_list_to_list as create_pure_python_type_model
274
+ from jina .serve .runtimes .helper import _create_pydantic_model_from_schema as create_base_doc_from_schema
275
+ else :
276
+ from docarray .utils .create_dynamic_doc_class import create_pure_python_type_model , create_base_doc_from_schema
275
277
276
278
class CustomDoc (BaseDoc ):
277
279
tensor : Optional [AnyTensor ]
@@ -288,8 +290,8 @@ class CustomDoc(BaseDoc):
288
290
tags : Optional [Dict [str , Any ]] = None
289
291
lf : List [float ] = [3.0 , 4.1 ]
290
292
291
- CustomDocCopy = _create_aux_model_doc_list_to_list (CustomDoc )
292
- new_custom_doc_model = _create_pydantic_model_from_schema (
293
+ CustomDocCopy = create_pure_python_type_model (CustomDoc )
294
+ new_custom_doc_model = create_base_doc_from_schema (
293
295
CustomDocCopy .schema (), 'CustomDoc' , {}
294
296
)
295
297
@@ -313,8 +315,8 @@ class CustomDoc(BaseDoc):
313
315
class TextDocWithId (BaseDoc ):
314
316
ia : str
315
317
316
- TextDocWithIdCopy = _create_aux_model_doc_list_to_list (TextDocWithId )
317
- new_textdoc_with_id_model = _create_pydantic_model_from_schema (
318
+ TextDocWithIdCopy = create_pure_python_type_model (TextDocWithId )
319
+ new_textdoc_with_id_model = create_base_doc_from_schema (
318
320
TextDocWithIdCopy .schema (), 'TextDocWithId' , {}
319
321
)
320
322
@@ -336,8 +338,8 @@ class TextDocWithId(BaseDoc):
336
338
class ResultTestDoc (BaseDoc ):
337
339
matches : DocList [TextDocWithId ]
338
340
339
- ResultTestDocCopy = _create_aux_model_doc_list_to_list (ResultTestDoc )
340
- new_result_test_doc_with_id_model = _create_pydantic_model_from_schema (
341
+ ResultTestDocCopy = create_pure_python_type_model (ResultTestDoc )
342
+ new_result_test_doc_with_id_model = create_base_doc_from_schema (
341
343
ResultTestDocCopy .schema (), 'ResultTestDoc' , {}
342
344
)
343
345
result_test_docs = DocList [ResultTestDoc ]()
@@ -360,8 +362,11 @@ class ResultTestDoc(BaseDoc):
360
362
@pytest .mark .skipif (not docarray_v2 , reason = 'Test only working with docarray v2' )
361
363
def test_dynamic_class_creation_multiple_doclist_nested ():
362
364
from docarray import BaseDoc , DocList
363
- from jina .serve .runtimes .helper import _create_aux_model_doc_list_to_list
364
- from jina .serve .runtimes .helper import _create_pydantic_model_from_schema
365
+ if not is_pydantic_v2 :
366
+ from jina .serve .runtimes .helper import _create_aux_model_doc_list_to_list as create_pure_python_type_model
367
+ from jina .serve .runtimes .helper import _create_pydantic_model_from_schema as create_base_doc_from_schema
368
+ else :
369
+ from docarray .utils .create_dynamic_doc_class import create_pure_python_type_model , create_base_doc_from_schema
365
370
366
371
class MyTextDoc (BaseDoc ):
367
372
text : str
@@ -374,8 +379,8 @@ class SearchResult(BaseDoc):
374
379
375
380
textlist = DocList [MyTextDoc ]([MyTextDoc (text = 'hey' )])
376
381
models_created_by_name = {}
377
- SearchResult_aux = _create_aux_model_doc_list_to_list (SearchResult )
378
- _ = _create_pydantic_model_from_schema (
382
+ SearchResult_aux = create_pure_python_type_model (SearchResult )
383
+ _ = create_base_doc_from_schema (
379
384
SearchResult_aux .schema (), 'SearchResult' , models_created_by_name
380
385
)
381
386
QuoteFile_reconstructed_in_gateway_from_Search_results = models_created_by_name [
0 commit comments