MCPcopy Create free account
hub / github.com/alibaba/zvec / convert_to_cpp_doc

Function convert_to_cpp_doc

python/zvec/model/convert.py:20–46  ·  view source on GitHub ↗
(doc: Doc, collection_schema: CollectionSchema)

Source from the content-addressed store, hash-verified

18
19
20def convert_to_cpp_doc(doc: Doc, collection_schema: CollectionSchema) -> _Doc:
21 if not doc or not collection_schema:
22 return None
23
24 _doc = _Doc()
25
26 # set pk
27 _doc.set_pk(doc.id)
28
29 # set scalar fields
30 for k, v in doc.fields.items():
31 field_schema = collection_schema.field(k)
32 if not field_schema:
33 raise ValueError(
34 f"schema validate failed: {k} not found in collection schema"
35 )
36 _doc.set_any(k, field_schema._get_object(), v)
37
38 # set vector fields
39 for k, v in doc.vectors.items():
40 vector_schema = collection_schema.vector(k)
41 if not vector_schema:
42 raise ValueError(
43 f"schema validate failed: {k} not found in collection schema"
44 )
45 _doc.set_any(k, vector_schema._get_object(), v)
46 return _doc
47
48
49def convert_to_py_doc(doc: _Doc, collection_schema: CollectionSchema) -> Doc:

Calls 4

set_pkMethod · 0.80
fieldMethod · 0.45
_get_objectMethod · 0.45
vectorMethod · 0.45