500 无证错误:在 FastAPI 中返回响应时出现内部服务器错误

2023-12-05

我正在使用 FastAPI 通过 ML 模型进行预测。当我给一个task_id and input,应用程序应将其添加到后台任务并相应地返回响应。然而,我得到Error 500当我尝试这样做时。

添加后task_id_globally,它在正常工作之前就开始抛出错误。

Error

  File ".\app\main.py", line 36, in post
    return {'result': response_name[task_id_global]}
TypeError: list indices must be integers or slices, not NoneType

Code

task_id_global = None
@app.get('/predict')
async def predict(task_id:int, background_tasks: BackgroundTasks,solute,solvent):
    task_id_global = task_id
    if task_id == 0:
        background_tasks.add_task(predictions,solute,solvent)
        return {'success'}
    elif task_id == 1:
        background_tasks.add_task(predictions_two,solute)
        return {'success'}
    else:
        return "Give proper task_id"
    
response_name = [response, attach_drug_name()]

@app.get('/predict_solubility')
async def post():
    return {'result': response_name[task_id_global]}

您已设置task_id_global to None,因此,当调用时/predict_solubility端点,它正在尝试使用从列表中检索元素response_name[None];因此,出现错误。所以你应该设置task_id_global to 0,它应该指向你的一些默认值response_name列表 - 即使/predict端点尚未被调用 - 或在第二个端点内执行检查以查看是否task_id_global is not None然后决定是否继续从列表中检索项目。接下来,里面/predict端点声明task_id_global在使用它之前作为全局(使用global关键字),因为按照当前声明的方式,它被解释为局部变量,因此全局变量永远不会受到发生的任何更改的影响task_id_global在端点内(看看here).

task_id_global = None

@app.get('/predict')
async def predict(task_id:int,solute,solvent):
    global task_id_global
    task_id_global = task_id
    ...

此外,根据您的任务(例如,如果您有多个请求同时访问该全局变量),您可能需要考虑其他选项,例如 Redis。看一下这个答案.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

500 无证错误:在 FastAPI 中返回响应时出现内部服务器错误 的相关文章

随机推荐

  • 表数据网关和模型

    我听说过 胖模型 瘦控制器 这句话 并且相信我理解它的含义 在工作过程中Zend 快速入门指南我遇到过表数据网关模式 在我看来 这种设计模式正在倡导 MVC 堆栈的第四个组件 它正在从 胖模型 转向 瘦模型 瘦控制器和胖 TableData
  • 如何使用自己类型的成员扩展类?

    假设我们需要使用一个名为 BaseNode 的类来实现不同类型的树 从该类派生出其他类型的节点 并且它假设有一个名为 BaseNode 的实例变量parent它自己的类型 通常看起来像 class BaseNode some fields
  • 在设备上调试 Android 应用程序

    我知道对此有很多问题 但没有一个对我的情况有帮助 我正在运行 Ubuntu 11 10 我正在尝试在我的 LG 手机上调试应用程序 我遵循了这个指南 http developer android com guide developing d
  • 达夫的设备如何工作?

    我读过维基百科上关于 Duff 设备的文章 我不明白 我真的很感兴趣 但我已经读了几次那里的解释 但我仍然不明白达夫的设备是如何工作的 更详细的解释是什么 其他地方有一些很好的解释 但让我尝试一下 这在白板上要容易得多 这是带有一些符号的维
  • UIPickerView EXC 访问错误?

    我不断收到错误访问错误 我认为这与我的 UIPickerView 有关 因为这是应用程序崩溃的时候 一切正常 直到我从 UIPickerView 中做出第九个选择 每次应用程序在第 9 个选择时崩溃 有任何想法吗 void viewDidL
  • 致命错误:CI_Session_files_driver 类包含 1 个抽象方法

    致命错误 CI Session files driver 类包含 1 个抽象方法 因此必须声明为抽象或实现其余的 方法 SessionHandlerInterface open 中 C xampp htdocs cmms2 system l
  • IBM Worklight 6.1 - “Ecma 错误:TypeError:无法调用对象中的属性

    我正在尝试在 Worklight 适配器示例中运行 Javaworklightadapterproject示例项目 但我在尝试调用过程时遇到错误 errors Ecma Error TypeError Cannot call propert
  • 自 2013 年 2 月 6 日起,通过“feed”连接使用 Graph API 向朋友墙发帖失败

    我的应用程序开始无法在朋友的提要上发布项目 我收到此错误 Facebook request error The operation couldn t be completed facebookErrDomain error 10000 de
  • VBA 的日期无法在 Excel 2011 中运行?

    这是我的代码 我正在尝试 它可以在 PC 上运行 但不能在 Mac 上运行 运行此代码并创建一个 Excel 工作表 命名 添加一个选项卡 更改所述选项卡的颜色 更改所述选项卡 然后转置数据 同时保持单元格的格式以及单元格的宽度和高度到新工
  • “忘记密码”实施的最佳方法? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在寻找实现 忘记密码
  • 损坏的 GLSL 自旋锁/GLSL 锁概要

    我有一个设置 需要锁定 读取一些数据 处理 写入一些数据 然后解锁 为此 我制作了一个锁定纹理作为layout r32ui coherent uniform uimage2D 临界区的数据的声明方式类似 不幸的是 我对自旋锁的所有尝试都无法
  • 是否可以从设备 GPS 检索 GPRMC?

    我正在寻找一种从设备 GPS 获取 GPRMC 信息的方法 有可能以任何方式吗 没有公共 API 可从设备的 GPS 芯片检索 GPRMC 最接近的方法是根据 Location API 为您提供的内容构建 GPRMC 句子 以下代码在 Sw
  • Pipeline 上的 Sklearn GridSearchCV 用于测试多个变换和估计器

    我正在尝试使用 Pipeline 构建 GridSearchCV 并且我想测试变压器和估计器 有更简洁的方法吗 pipeline Pipeline imputer SimpleImputer scaler StandardScaler pc
  • 如何在 Kotlin 中获取随机数?

    一种通用方法 可以像 ruby 一样返回两个参数之间的随机整数rand 0 n 有什么建议吗 我的建议是扩大功能于IntRange创建这样的随机数 0 10 random TL DR Kotlin gt 1 3 一个适用于所有平台的随机数
  • 定义函数并从函数返回函数?

    如何在函数内定义并返回函数 例如 我们有一个类似的函数 float foo float val return val val 现在 需要的是像 bar 这样的函数 typedef float func t float Rubish pseu
  • 在 Prolog 中生成整数的最佳方法

    我想生成整数 并且正在寻找实现此目的的最佳方法 例子 number2 N N 0 N 1 N 2 and so on 现在我只是使用length 2 number2 N length N 但我认为应该有一些更好的方法 无需创建临时列表 我可
  • 根据前一行数据自动计算sql表中的列

    我使用 sql server 作为后端在 asp net c 中开发我的应用程序 现在我需要创建一个带有自动计算列 期末余额 的表 如下所示 Date in stock out stock closing balance 2 3 2013
  • Python 编码风格中的空格

    Python 教程说 在运算符周围和逗号之后使用空格 但不要直接在括号结构内使用空格 a f 1 2 g 3 4 不直接在括号结构内 到底是什么意思 这大概来自于PEP 8 Python 代码风格指南 具体请参阅 表达式和语句中的空格 部分
  • 如何找到元组列表中每个相似条目的平均值?

    我有这个元组列表 Jem 10 Sam 10 Sam 2 Jem 9 Jem 10 如何求每个名字加上的数字的平均值 即用 Jem 存储在一个元组中的所有数字的平均值 然后输出它们 在此示例中 输出将是 Jem 9 66666666667
  • 500 无证错误:在 FastAPI 中返回响应时出现内部服务器错误

    我正在使用 FastAPI 通过 ML 模型进行预测 当我给一个task id and input 应用程序应将其添加到后台任务并相应地返回响应 然而 我得到Error 500当我尝试这样做时 添加后task id globally 它在正