python - 在 Flask 中尝试使用将 *args 作为参数的函数构建 api 时出现内部服务器错误
问题描述
我有一个返回向量的函数。
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")
这非常有效,并为我返回了一个水果向量。上述函数位于名为vectors_list.py 的.py 文件中
现在我想构建一个将水果名称作为用户输入并使用该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
。知道如何解决这个问题
解决方案
你的烧瓶代码看起来不错。我认为问题出在您的class_vector
. 如果您可以添加相同的内容,这将很有帮助traceback
。
推荐阅读
- javascript - 摩纳哥编辑器中“this”的自定义javascript代码完成
- reactjs - 将项目作为 Props 传递以在 React Native Drop Menu 中使用
- r - 基于现有的索引到 R 中的日期创建新的增长数据表
- java - 使用 Selenium IDE 或 Java 在数据层中提取页面类型值
- azure-cosmosdb - 从 Cosmos DB 归档数据 - Mongo DB
- docker - 我不断在 docker 容器中为我的 Golang 应用程序获取截断的核心文件
- c# - System.Text.Json.JsonConverter:如何确定我们是否正在序列化更深层次的对象或数组(在第一次 Write() 调用之后)?
- flutter - AnimatedSize(或其他需要 vsync 的内置动画)与 GetX
- python - 仅当行值是某个字符串时才删除具有重复列名的列
- jenkins - Jenkins 声明式管道:触发管道中的特定阶段