Как сохранить json файл в памяти для вызовов API? - PullRequest
0 голосов
/ 10 июля 2020

У меня есть относительно большой json файл (4 МБ), который содержит некоторые вложения предложений в 512-мерных векторах. Кроме того, у меня есть поисковая система, в которой я могу ввести предложение запроса, чтобы получить наиболее похожее предложение из файла json. Для этого я должен вычислить косинусное сходство между внедрением предложения запроса и всеми встраиваемыми предложениями в файле json. Пока для каждого вызова API я делаю следующее:

# define USE Model
USE = tf.saved_model.load('/Users/models/5')
embedder = USE

# upload data from json
with open('embeddings.json', 'r') as f:
    obj = f.read()

# parse file
data = json.loads(obj)

# get most similar sentence
most_similar = get_similar(query, data)

query - это переменная, содержащая предложение запроса, а get_similar - это функция, которая вычисляет косинусное сходство и выполняет некоторые дальнейшие корректировки. Проблема в том, что этот процесс очень медленный. Я думаю, причина в том, что для каждого вызова API файл json считывается и анализируется в переменную. Вероятно, то же самое происходит при инициализации устройства для внедрения ... Например, когда я пишу тот же код в блокноте jupyter и выполняю только функцию get_similar, я получаю ответ в течение миллисекунд. Есть ли способ сохранить эмбеддер и файл json в памяти или что-то в этом роде?

Спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...