def on_message(self, body): message = json.loads(body) print message if 'text' not in message: return if message['text'].startswith('('): return vec = unpack64(message['coordinates']) self.handle_vector(vec[1:], message['text']) for concept, value in message['concepts'].items(): vec = unpack64(value) self.handle_vector(vec[1:], concept)
def test_round_trip(): for i in range(1000): vec = random_vector() out = unpack64(pack64(vec)) err = (vec-out) assert (np.linalg.norm(err) < 1e-9 or np.linalg.norm(err)/np.linalg.norm(vec) < 1e-4)