我有一个用Haskell编写的机器学习模型,但想在前端使用Python和Flask。如何从Python Flask应用程序中将数据传递给Haskell函数?一些代码示例可能会有所帮助-到目前为止,我已经看过Servant,但不知道如何与已经安装的Flask应用程序一起使用。
如果您正在按照FifthCode的建议为机器学习模型寻找一种基于Web的界面的快速方法,则可能需要考虑Scotty。这是Haskell的Sinatra启发式Web框架。
{-# LANGUAGE OverloadedStrings #-}
import Web.Scotty
import Data.Monoid (mconcat)
main = scotty 3000 $
get "/:word" $ do
beam <- param "word"
html $ mconcat ["<h1>Scotty, ", beam, " me up!</h1>"]
值得注意的是,使用REST API这样的调用将被阻止。根据机器学习模型运行所需的时间,您可能需要使用Webhook方法,在该方法中,您使用HTTP / HTTPS提交作业,并在Flask应用程序中包含Webhook URL,Scotty应用程序将在完成后将其发布到运行模型。
当Flask应用程序在Scotty应用程序上发布到/ predict时,它将最终阻塞,直到Scotty应用程序响应为止。让Scotty应用程序生成用于ML工作的线程,此后立即以204 Accepted响应,然后ML线程在Flask应用程序上向/ prediction发送POST,并在完成时返回结果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句