[docs]classDocumentArray(AllMixins,BaseDocumentArray):@overloaddef__new__(cls,_docs:Optional['DocumentArraySourceType']=None,copy:bool=False)->'DocumentArrayInMemory':"""Create an in-memory DocumentArray object."""...@overloaddef__new__(cls,_docs:Optional['DocumentArraySourceType']=None,storage:str='sqlite',config:Optional[Union['SqliteConfig',Dict]]=None,)->'DocumentArraySqlite':"""Create a SQLite-powered DocumentArray object."""...@overloaddef__new__(cls,_docs:Optional['DocumentArraySourceType']=None,storage:str='weaviate',config:Optional[Union['WeaviateConfig',Dict]]=None,)->'DocumentArrayWeaviate':"""Create a Weaviate-powered DocumentArray object."""...@overloaddef__new__(cls,_docs:Optional['DocumentArraySourceType']=None,storage:str='annlite',config:Optional[Union['AnnliteConfig',Dict]]=None,)->'DocumentArrayAnnlite':"""Create a AnnLite-powered DocumentArray object."""...def__new__(cls,*args,storage:str='memory',**kwargs):ifclsisDocumentArray:ifstorage=='memory':from.memoryimportDocumentArrayInMemoryinstance=super().__new__(DocumentArrayInMemory)elifstorage=='sqlite':from.sqliteimportDocumentArraySqliteinstance=super().__new__(DocumentArraySqlite)elifstorage=='annlite':from.annliteimportDocumentArrayAnnliteinstance=super().__new__(DocumentArrayAnnlite)elifstorage=='weaviate':from.weaviateimportDocumentArrayWeaviateinstance=super().__new__(DocumentArrayWeaviate)elifstorage=='qdrant':from.qdrantimportDocumentArrayQdrantinstance=super().__new__(DocumentArrayQdrant)else:raiseValueError(f'storage=`{storage}` is not supported.')else:instance=super().__new__(cls)returninstance