使用JSON / DF的Model Plumber API卷曲检查

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用JSON / DF的Model Plumber API卷曲检查相关的知识,希望对你有一定的参考价值。

我使用以下代码创建了一个虚拟模型:

#get the data
data(Boston, package="MASS")

# train a model for median house price as a function of the other variables
bos_rf <- lm(medv ~ crim + indus + dis , data=Boston)

# save the model
saveRDS(bos_rf, "bos_rf.rds")

现在,我想使用水管工将此模型作为API公开。为此,我的代码是

# load as bos_rf.R

bos_rf <- readRDS("bos_rf.rds")

#* @param input_json JSON file
#* @post /score
function(input_json)
{
  temp <- toJSON(input_json, auto_unbox = T)
  data <- fromJSON(temp) %>% as.data.frame
  data = data %>% mutate_all(as.numeric)
  predict(bos_rf, data)
}

我的参数上面是JSON,我很想将其保留为数据框。我正在将JSON转换为函数中的数据框

然后我使用]启动API>

# try API 1 
# 
dummy_model_api <- plumber::plumb("2_R_code_to_API.R")
dummy_model_api$run(host = '127.0.0.1', port = 8000)

当我在swagger门户中粘贴JSON时,API运行良好,但是当我使用以下命令运行curl时,API则运行正常

$ curl "http://127.0.0.1:8000/score" -d "@test.JSON"
$ curl --data @test.json http://localhost:8000/score

没有工作。我如何直接将测试JSON传递给API以获得预测。请注意,如果我用R检验函数,则会得到预测。请告知如何手动传递JSON或DF来卷曲API请求并获得响应,而不是手动复制json /或使用每个变量一个一定义API输入。对于100个变量,这种方法不可行。

此JSON的样本如何也已经在大张旗鼓的主体中反映出来了。即在上方打开招摇工具时,体内已经有一个示例JSON,其中包含一些值并可以执行。

我使用下面的代码创建了一个虚拟模型:#get the data data(Boston,package =“ MASS”)#训练房价中位数作为其他变量bos_rf的函数的模型

答案
如果管道工拒绝了以fromJSON开头的请求,它将在请求正文上执行{

以上是关于使用JSON / DF的Model Plumber API卷曲检查的主要内容,如果未能解决你的问题,请参考以下文章

根据条件突出显示 panda df 错误

如何将json转成对应的model

mac内核扩展的错误代码含义是啥?

使用poseexplode分解带有索引的嵌套JSON

将data.frame转换为列表列表列表

大熊猫 df 成嵌套的 json