当前
:我有一个基本的AIML模型,在Flask中创建为API,并使用Gunicorn和Nginx托管在AWS EC2中。 AIML模型的工作方式类似于通用ML模型。
我有一个受过训练的内核(k),然后与用户进行对话。该内核存储有关用户等的信息,并根据用户先前所说的进行对话。
我正在使用Gunicorn和Nginx来运行服务器。 API是在托管于AWS EC2的Flask中创建的。
一些重要的代码。
app = Flask(__name__)
k = aiml.Kernel()
def setup_app(app):
k.bootstrap(learnFiles="std-startup.aiml",commands="load aiml b")
setup_app(app)
问题:
当有2个或更多用户调用正在运行的服务器API时,我得到了相同的Kernel(k)图像,因此聊天混杂在一起,就像只有一个用户在访问一样。
但是我需要的是,在不同系统上发出的所有请求都应获得新的内核映像,而对于同一系统,对话流程应与在第一个API请求上创建的内核映像一起进行。
工作
我经历了this和this。但是没有一个解决我的问题。通常给出用于处理相同请求的解决方案。
我尝试查看run()
方法,它具有某些参数,例如线程等,但是在这里,我的问题是为每个新请求分配一个新的内核映像并对其进行维护。
我知道这个问题非常简单,很多人都在使用。但是无法找到需要做什么。在AWS方面拥有多个图像还是在python方面维护并发?