项目应用工具介绍¶
学习目标¶
- 了解整体项目中使用了哪些工具
- 掌握各个工具的概念、作用、安装以及基本使用方法
整体项目中使用的工具¶
- Doccano数据标注平台
- Flask web服务框架
- Gunicorn服务组件
- Supervisor服务监控器
- Neo4j图数据库
1 Doccano数据标注平台¶
- Doccano是一种用于文本标注的开源工具,旨在简化和加速标注任务的进行。它提供了一个直观的用户界面,使标注人员能够轻松地对文本数据进行标注,并创建高质量的训练数据集用于机器学习和自然语言处理任务。

- Doccano的一些主要特点和功能:
- 多种标注类型:Doccano支持多种常见的文本标注任务,如命名实体识别、文本分类、关系抽取等。您可以根据具体任务的需求选择适当的标注类型。
- 协作标注:多个标注人员可以同时使用Doccano进行协作标注。标注人员可以独立地对同一份数据进行标注,并进行交互和讨论,以提高标注的一致性和准确性。
- 快速导入和导出:您可以将原始文本数据以各种格式(如CSV、JSON、TXT等)导入到Doccano中进行标注。标注完成后,您可以将标注结果导出为各种格式,方便后续的数据分析和模型训练。
具体标注方法,我们将在下节课详细介绍
2 Flask web服务框架¶

- Flask框架是当下最受欢迎的python轻量级框架,也是pytorch官网指定的部署框架。 Flask的基本模式为在程序里将一个视图函数分配给一个URL,每当用户访问这个URL时,系统就会执行给该URL分配好的视图函数,获取函数的返回值,其工作过程见图:

- 在项目中,Flask框架主要作用是对模型的封装和API接口的制作。
-
安装:
pip install flask
-
基本使用方法:
# 导入Flask类 from flask import Flask # 创建一个该类的实例app, 参数为__name__, 这个参数是必需的, # 这样Flask才能知道在哪里可找到模板和静态文件等东西。 app = Flask(__name__) # 使用route()装饰器来告诉Flask触发函数的URL @app.route('/') def hello_world(): """请求指定的url后,执行的主要逻辑函数""" # 在用户浏览器中显示信息:'Hello, World!' return 'Hello, World!' if __name__ == '__main__': app.run(host="0.0.0.0", port=5000)
-
启动服务:
python app.py
-
启动效果:
- 通过浏览器打开地址http://0.0.0.0:5000可看见打印了'Hello, World'.
3 Gunicorn服务组件¶

- 简介:
- Gunicorn是一个被广泛使用的高性能的Python WSGI UNIX HTTP服务组件(WSGI: Web Server Gateway Interface),移植自Ruby的独角兽(Unicorn )项目,具有使用非常简单,轻量级的资源消耗,以及高性能等特点。
- 作用:
- 在项目中,Gunicorn和Flask框架一同使用,能够开启服务,处理请求,因其高性能的特点能够有效减少服务丢包率。
- 安装:
# 使用pip安装gunicorn
pip install gunicorn
- 基本使用方法:
# 使用其启动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:5000 app:app 2>&1 &
4 Neo4j图数据库¶
- 因为在项目中,Neo4j图数据库作为核心的存储和查询数据库,因此会在后续章节对其进行详细介绍。
小节总结¶
- 本章节主要学习项目架构中用到的主要工具:
- Doccano标注平台
- 作用:在项目中,基于Doccano平台完成数据的标注,供模型训练使用
- Flask web服务框架
- 作用:在项目中,Flask框架是主逻辑服务和句子相关模型服务使用的服务框架。
- Gunicorn服务组件
- 作用:在项目中,Gunicorn和Flask框架一同使用,能够开启服务,处理请求,因其高性能的特点能够有效减少服务丢包率。
- Neo4j图数据库
- Doccano标注平台