python - 将 CLIPS 专家系统公开为 Web 应用程序的体系结构选择

标签 python django web-applications python-multithreading clips

我是开发网络应用程序的新手。

我希望您对以下架构注意事项提出意见和改进建议。

我使用 CLIPS 开发了一个专家系统 ES。现在我计划将其作为 Web 应用程序提供给我们公司的各种用户。在开始详细介绍之前,我目前正在考虑应该涉及哪些技术。

目标是网络应用程序的用户面对一个类似聊天的动画,在他或她向 ES 提供越来越多的输入时引导他或她获得最终结果。

经过自己的一些研究,我提出了以下想法

在后端,我使用 PyCLIPS 作为 Python 和 CLIPS 之间的接口(interface)

然后我使用 DJANGO 将我的 python 代码集成到网页中,动态改变用户和 ES 之间的聊天。

有一件事至今特别困扰我:我应该如何管理很多并发用户?我应该使用一个 ES,每个用户都有一组单独的事实,还是每个用户都有他或她自己的 ES 实例?

对于此问题,您是否有任何其他高级方法可以优于此方法?

我期待着您对此事的经验和意见。

最佳

最佳答案

我建议以无状态模式运行专家系统。每次用户进行更改时,您都将网页中的所有数据提交给专家系统,然后检索结果显示在网页上。如果您有多个用户,那么这样做可以更好地扩展,并且如果用户想要更改响应,则可以更轻松地实现撤消逻辑。在 http://www.clipsrules.net/?q=Downloads/CLIPSCGI 中有一个示例显示如何使用 CGI 应用程序执行此操作.

关于python - 将 CLIPS 专家系统公开为 Web 应用程序的体系结构选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46531265/

相关文章:

django - 不小心删除了我的django南迁移目录

java - 更改nb项目的webapp目录

django - angular.js 的一个很好的服务器端解决方案

python - 变量初始化时收到 "UnboundLocalError: local variable ' e'赋值前引用"

python - 更新与终端尺寸相关的窗口

django - 使用 Form 标签获取 Django 模板中模型的名称

python - 错误 : 'login' not found. 'login' 不是有效的 View 函数或模式名称

web-applications - 如何将 Electron 应用程序移植到 Surface Hub 的 UWP

python - 如何设置pip的安装目录?

python - 对模型进行过滤和排序的 GtkTreeView 的拖放支持