Exemple #1
0
    def testNoExist(self):
        """
        Test loading model that doesn't exist
        """

        # Test non-existent path raises an exception
        with self.assertRaises(IOError):
            VectorsFactory.create({"path": os.path.join(tempfile.gettempdir(), "noexist")}, None)
Exemple #2
0
    def testBlocking(self):
        """
        Test blocking load of vector model
        """

        config = {"path": self.path}
        model = VectorsFactory.create(config, None)

        self.assertFalse(model.initialized)

        config["ids"] = ["0", "1"]
        config["dimensions"] = 10
        model = VectorsFactory.create(config, None)

        self.assertTrue(model.initialized)
Exemple #3
0
    def testTransform(self):
        """
        Test word vector transform
        """

        model = VectorsFactory.create({"path": self.path}, None)
        self.assertEqual(len(model.transform((None, ["txtai"], None))), 10)
Exemple #4
0
    def testLookup(self):
        """
        Test word vector lookup
        """

        model = VectorsFactory.create({"path": self.path}, None)
        self.assertEqual(model.lookup(["txtai", "embeddings", "sentence"]).shape, (3, 10))
Exemple #5
0
    def setUpClass(cls):
        """
        Create single TransformersVectors instance.
        """

        cls.model = VectorsFactory.create(
            {"method": "transformers", "path": "sentence-transformers/bert-base-nli-mean-tokens", "maxlength": 512}, None
        )
Exemple #6
0
    def testIndexSerial(self):
        """
        Test word vector indexing in single process mode
        """

        # Generate data
        documents = [(x, "This is a test", None) for x in range(1000)]

        model = VectorsFactory.create({"path": self.path, "parallel": False}, None)

        ids, dimension, stream = model.index(documents)

        self.assertEqual(len(ids), 1000)
        self.assertEqual(dimension, 10)
        self.assertIsNotNone(os.path.exists(stream))