0

我需要将LLM的聊天历史保存在会话变量中,以避免必须在每个用户的数据表中进行。会话变量在这里会非常有效。然而,我有一个生成器函数,它将Chatbot LLM流返回到用户视图中的JavaScript阅读器,似乎在生成器函数中保存会话变量并不容易。

我读了很多书,想出了下面这些本应该解决这个问题的东西,但仍然没有运气。现在我可以访问嵌套函数中的会话变量(流_with_context但我无法保存它。

从烧瓶导入烧瓶,会话,render_template,请求,重定向,stream_with_context,响应从烧瓶_会话导入会话app=烧瓶(名称)wsgi_app=应用程序app.config['SECRET_KEY']=“madeupkeyforstackoverflow”app.config.update(SESSION_COOKIE_NAME=“madeupcookieforstackoverflow”)app.config['SESSION_TYPE']='文件系统'会话(应用程序)@请求前申请定义make_session_permanent():session.permanent=真app.permanent_session_lifetime=日期时间.timedelta(分钟=10)@app.route('/login',methods=['GET','POST'])定义登录():session['chat_history']=“数组中的一些聊天数据”#登录用户并将其发送到默认视图的其余代码@app.route(“/chat”,methods=['POST'])@登录_必需定义聊天():#删除了仅从用户视图收集变量并设置与各种LLM的连接的代码定义ask_function():#下面的命令成功打印了上面LOGIN()中定义的数据打印(会话['chat_history'])#以下内容成功地将新数据添加到会话变量中。在此功能中,数据在本课时变量中可用。但是,一旦完成此功能并再次运行,下面附加的数据就不存在了,而只是上面登录时最初设置的数据。解决我的问题。session['chat_history'].append({“角色”:“用户”,“部分”:“问题”})产生“一些随机响应”return响应(stream_with_context(ask_function()),mimetype='text/event-stream')

我试过了session.modified=真并使用单独的函数保存会话变量。但无济于事。如何在Flask中保存会话变量?

1
  • 请在使用标签之前阅读标签说明。发件人蟒蛇3.x:“除非您的问题仅针对PYTHON 3,否则请勿使用。请始终与标准[PYTHON]标记一起使用。”
    – 亚拉恩
    评论 6月17日10:10

0

重置为默认值

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.