def test_texts_getter_dam(tmpdir): dam = DocumentArrayMemmap(tmpdir) dam.extend([Document(text='hello') for _ in range(100)]) assert len(dam.texts) == 100 t1 = dam.texts t2 = dam.get_attributes('text') assert t1 == t2
def test_extend_and_get_attribute(tmpdir, embed_dim): dam = DocumentArrayMemmap(tmpdir) dam.clear() docs = list(random_docs(100, start_id=0, embed_dim=embed_dim)) dam.extend(docs) dam2 = DocumentArrayMemmap(tmpdir) x = dam2.get_attributes('embedding') assert len(dam2) == 100 docs = list(random_docs(100, start_id=100, embed_dim=embed_dim)) dam2.extend(docs) x = dam2.get_attributes('embedding') assert len(x) == 200 assert x[0].shape == (embed_dim, ) assert len(dam2) == 200
def test_blobs_getter_dam(tmpdir): blobs = np.random.random((100, 10, 10)) dam = DocumentArrayMemmap(tmpdir) dam.extend([Document(blob=blob) for blob in blobs]) assert len(dam) == 100 np.testing.assert_almost_equal(dam.get_attributes('blob'), dam.blobs)
def test_dam_embeddings(tmpdir): dam = DocumentArrayMemmap(tmpdir) dam.extend(Document(embedding=np.array([1, 2, 3, 4])) for _ in range(100)) np.testing.assert_almost_equal(dam.get_attributes('embedding'), dam.embeddings)
def test_dam_get_embeddings_slice(tmpdir): da = DocumentArrayMemmap(tmpdir) da.extend(Document(embedding=np.array([1, 2, 3, 4])) for _ in range(100)) np.testing.assert_almost_equal( da.get_attributes('embedding')[10:20], da._get_embeddings(slice(10, 20)))
def test_tags_getter_dam(tmpdir): dam = DocumentArrayMemmap(tmpdir) dam.extend([Document(tags={'a': 2, 'c': 'd'}) for _ in range(100)]) assert len(dam.tags) == 100 assert dam.tags == dam.get_attributes('tags')