想实现sse事件流,但是最终还是一次性返回的响应数据 
                            
                                                    
                        
                    
                    
  
                    
                    想用python请求openai接口,然后使用事件流返回响应数据,但是实际应用却是一起返回的。猜测可能是最后的 return response 语句的问题。这个代码应该如何修改达到想要的效果呢?(ps:刚学python,有很多东西不了解,还望指点!!!)(也尝试了flask-sse,失败了。。。没搞出来)
@app.route('/api/stream', methods=["POST"])
def stream():
    message = request.form.get('message')
    user_id = request.form.get('user_id')
    _message = json.loads(message)
    openai.api_key = mod2.getKey()
    response = openai.ChatCompletion.create(model='gpt-3.5-turbo', messages=_message,stream=True)
    # 以上代码获取chatgpt响应,
    def eventStream():
        for item in response:
            json_data = item['choices'][0]['delta']
            res_data = json.dumps(item['choices'][0]['delta'], ensure_ascii=False)
            if json_data.__contains__('content'):
                yield 'data: {}\n\n'.format( res_data)
    return Response(eventStream(), mimetype="text/event-stream")
if __name__ == '__main__':
    app.run(host="0.0.0.0", debug=True, port=8000) 
           
         
           
           关于 LearnKu
                关于 LearnKu
               
                     
                     
                     粤公网安备 44030502004330号
 粤公网安备 44030502004330号 
 
推荐文章: