У меня есть функция, которая возвращает мне вектор.
def class_vector(*categories):
all_categories = categories
model = Word2Vec.load(r"C:\Users\vector.model")
my_dict = dict({})
for idx, key in enumerate(model.wv.vocab):
my_dict[key] = model.wv[key]
categories_vectors = dict({})
for i in all_categories:
if i.lower() in my_dict.keys():
categories_vectors[i] = my_dict[i]
average_vector = np.mean(list(categories_vectors.values()), axis =0)
average_vector = average_vector.reshape(1, -1)
return average_vector
Теперь я вызываю эту функцию:
vector_generator_object = class_vector("apple", "banana")
Она отлично работает и возвращает мне вектор для фруктов. Вышеупомянутая функция находится в файле .py с именем vectors_list.py
Теперь я хочу создать api, который принимает имена фруктов в качестве входных данных от пользователя и использует функцию class_vector
для возврата вычисленных векторов.
Код API:
from flask import Flask, request
from vector_list import class_vector
app = Flask(__name__)
@app.route('/')
def status():
fruits = request.args.getlist("param")
str_fruits = ",".join(fruits)
returned_vec = class_vector(*str_fruits )
return returned_vec
Теперь я делаю flask run
из cmd & curl "http://localhost:5000?param=apple¶m=banana"
. Это возвращает мне 500 Internal Server Error
. Есть идеи, как исправить это