第一版只考虑实现功能,不考虑是否实现优雅

# chat_app 模块接入
主页chat应用很简单,就是一个聊天窗口模版+socket-io,后台也使用socket-io插件实现这个事件驱动回复。
鉴于要接入一个比较大的模块设计,又暂时不写成插件形式,所以会以类实例的形式侵入flask_app之中。

侵入的位置是 @socketio.on()监听的数个事件中,
暂定每个业务实例对接一个用户,用户基于sid来区分(在一个用户交互过程中不变)
每connect生成一个全新实例,根据sid放入全局实例容器map,每收到信息,从map中获取实例,由实例处理后续的完整的回复生成流程。

# 模块设计
Controller是实际业务控制实例
Controller注册各个层次,串联层次调用
所谓层次即是设计的BusinessLogic层次,三层:理解,业务,生成(可继续泛化成接口类,支持层指定化

三层实现不相同
但会基于一些常用库调用,比如config,dialog_cot

业务层稍微复杂,对接模型和数据存储
具体到本系统的实现,需要定制化某种检索召回重排逻辑
TODO

#database,modelbase
在目录下设置config,在__init__内调用Config类读取配置,模块全局变量设置。