当前位置:   article > 正文

在线医生——二总体框架和工具介绍_医生助手系统总体框架图

医生助手系统总体框架图

2.1 在线医生的总体架构

 

  • 架构图分析:
    • 整个项目分为: 在线部分和离线部分
    • 在线部分包括: werobot服务模块, 主要逻辑服务模块, 句子相关模型服务模块, 会话管理模块(redis), 图数据库模块以及规则对话/Unit模块.
    • 离线部分包括: 结构与非结构化数据采集模块, NER模型使用模块, 以及实体审核模型使用模块.
    • 在线部分数据流: 从用户请求开始, 通过werobot服务, 在werobot服务内部请求主服务, 在主服务中将调用会话管理数据库redis, 调用句子相关模型服务, 以及调用图数据库, 最后将查询结果输送给对话规则模版或者使用Unit对话API回复.
    • 离线部分数据流: 从数据采集开始, 将获得结构化和非结构化的数据, 对于结构化数据将直接使用实体审核模型进行审核, 然后写入图数据库; 对于非结构化数据, 将使用NER模型进行实体抽取, 然后通过实体审核后再写入图数据库.

2.2 总体架构中的工具介绍

学习目标:

  • 了解总体架构中使用了哪些工具.
    • Flask web服务框架
    • Redis数据库
    • Gunicorn服务组件
    • Supervisor服务监控器
    • Neo4j图数据库
  • 掌握总体架构中各个工具的简介, 作用, 安装和基本使用方法.

2.2.1Flask web服务框架:

 

2.2.2Redis数据库

安装:参考https://www.cnblogs.com/langtianya/p/5187681.html

            https://askubuntu.com/questions/868848/how-to-install-redis-on-ubuntu-16-04

  • curl -O http://download.redis.io/redis-stable.tar.gz
  • /home/username/redis-stable中:tar xzvf redis-stable.tar.gz
  • cd redis-stabel中
  • make
  • make test
  • sudo make install
  • 启动redis服务,使用默认配置(redis.conf);通过启动参数告诉redis使用指定配置文件使用下面命令启动。
  • cd src

  • ./redis-server

  • ./redis-server redis.conf

  • 启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了。 比如:
  • $ cd src
    $ ./redis-cli
    redis> set foo bar
    OK
    redis> get foo
    "bar"

  • 启动redis-server之后可以通过redis_demo.py文件

    1. # coding=utf-8
    2. # redis配置
    3. REDIS_CONFIG = {
    4. "host": "0.0.0.0",
    5. "port": 6379
    6. }
    7. # 导入redis驱动
    8. import redis
    9. # 创建一个redis连接池
    10. pool = redis.ConnectionPool( **REDIS_CONFIG)
    11. # 从连接池中初始化一个活跃的连接对象
    12. r = redis.StrictRedis(connection_pool=pool)
    13. # hset表示使用hash数据结构进行数据写入
    14. # uid代表某个用户的唯一标识
    15. uid = "8888"
    16. # key是需要记录的数据描述
    17. key = "该用户最后一次说的话:".encode('utf-8')
    18. # value是需要记录的数据具体内容
    19. value = "再见, 董小姐".encode('utf-8')
    20. r.hset(uid, key, value)
    21. # hget表示使用hash数据结构进行数据读取
    22. result = r.hget(uid, key)
    23. print(result.decode('utf-8'))

    输出:再见,董小姐

  • 2.2.3 Gunicorn服务组件:

简介:

Gunicorn是一个被广泛使用的高性能的Python WSGI UNIX HTTP服务组件(WSGI: Web Server Gateway Interface),移植自Ruby的独角兽(Unicorn )项目,具有使用非常简单,轻量级的资源消耗,以及高性能等特点.

作用:

  • 在项目中, Gunicorn和Flask框架一同使用, 能够开启服务, 处理请求,因其高性能的特点能够有效减少服务丢包率.

安装:

# 使用pip安装gunicorn pip install gunicorn==20.0.4

基本使用

# 使用其启动Flask服务: gunicorn -w 1 -b 0.0.0.0:5000 app:app # -w 代表开启的进程数, 我们只开启一个进程 # -b 服务的IP地址和端口 # app:app 是指执行的主要对象位置, 在app.py中的app对象 # 如果使其在后台运行可使用: # nohup gunicorn -w 1 -b 0.0.0.0:5001 app:app &

2.2.4Supervisor服务监控

简介:

  • Supervisor是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具。它可以很方便的监听、启动、停止、重启一个或多个进程, 并守护这些进程

作用:

  • 在项目中, Supervisor用于监控和守护主要逻辑服务和redis数据库服务.

2.2.5neo4j  (重要)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/580125
推荐阅读
相关标签
  

闽ICP备14008679号