Hoppa至huvudinnehåll

Web备用

Web备用是旧版本Sparv管道(Sparv 3)的web界面。如果您对管道的新版本感兴趣,单击此处.

GitHub上提供了Sparv图形用户界面的源代码。它分为三个部分:

  1. 前端:javascript应用程序
  2. 后端:烧瓶应用程序,提供REST-API
  3. 弹射器:运行Sparv管道的辅助工具

代码在麻省理工学院许可证.有关安装说明,请参阅上述存储库。

这个Sparv管道运行Sparv接口也需要。

前端技术文档

本节描述了Sparv前端的内部结构可以用作开发人员指南。

前端可在https://spraakbanken.guse/sparv(美国)/.

要求

  • 节点v0.10.x,应该通过包管理器安装。默认情况下,这应该包括NPM,即节点包管理器。
  • 咕噜声,使用安装npm安装-g grunt cli.
  • CoffeeScript,使用安装npm安装-g咖啡说明.
  • Sass,安装使用npm安装sass.

前端配置

这个应用程序/config.js文件包含后端地址的配置默认设置JSON模式的地址,以及卡普.

运行前端

对于在本地(开发时)运行前端,请运行呼噜发球.在浏览器中,打开http://localhost:9010启动Sparv。运行时呼噜发球CoffeeScript和Sass文件自动编辑时编译,另外导致浏览器窗口重新加载到反映新的变化。

在发布新版本之前,通过运行以下命令编译脚本咕哝在前端目录中。这将创建一个名为距离其中包含所有必需的文件运行前端。

后端技术文档

本节介绍Sparv后端的内部结构以及它对弹射器的使用,可以作为开发人员的指南。

后端

后端通过WSGI脚本运行索引.py.可在以下网址获取:https://spraakbanken.guse/ws/sparv.

要求

Python虚拟环境

虽然不是必需的,但我们建议您使用Python虚拟运行Sparv后端的环境。这是最简单的方法以确保您拥有运行模块所需的所有Python依赖项。

将Python虚拟环境设置为后端/html/app目录:

蟒蛇3-m venv venv

激活虚拟环境并安装所需的Python包:

源通风/箱/激活pip安装-r要求.txt

然后可以停用虚拟环境:

停用

后端配置

配置变量存储在html/app/config.py:

  • 后端:后端所在的地址
  • sparv_python(sparv_python):sparv管道Python目录的Python路径
  • sparv_后端:后端目录的路径
  • 构建目录(_D):托管正在运行和已完成生成的目录
  • 日志目录:日志文件的位置。可以设置为登录到标准输出。
  • sparv_模型:sparv管道模型的位置
  • sparv_make文件:sparv管道生成文件的位置
  • 秘密密钥:您选择的字符串。对于可能会导致删除生成的查询,需要使用此选项。
  • 通风路径(_P):Python虚拟环境激活脚本的路径(可以设置为None)
  • 过程:符合以下条件的进程数制作将在注释时运行
  • 文件上传_文本:扩展名用于包含文件上载的生成
  • 套接字文件:用于与弹射器通信的套接字文件的路径
  • 目录二进制:catalaunch二进制文件的路径
  • python解释程序:“Python”解释器,替换为catalaunch

使用gunicorn(推荐)运行后端时,您可能还需要修改中的配置html/app/gunicorn配置.py.

Sparv管道的建议位置是目录数据/管道.

运行后端

后端设置为使用自动安装在Python中的gunicorn运行虚拟环境。您可以从后端目录运行以下命令:

html/app/venv/bin/gunicorn-c html/aapp/gunicornConfig.py索引

这将启动WSGI服务器并将其绑定到中定义的套接字gunicorn配置.py.日志消息被写入同一文件中指定的文件(或终端如果没有规定)。

后端也可以通过运行索引.py使用Python解释器,但这是主要用于开发或调试。

生成文件和设置JSON模式

每个语料库的makefile都是从JSON对象创建的,该对象由脚本html/app/schema_generator.py.前端基于请求的模式构建表单。可以添加新条目前端应该自动渲染它们。创建生成文件的文件是html/app/make_makefile.py.

弹射器

弹射器运行一个Python实例,该实例共享加载的词典malt进程正在运行,并降低了Python解释器的启动时间。脚本在弹射器上用微型c程序运行催化发射.

要求

弹射器设置

例如,弹射器可以放置在数据目录。

就像Sparv后端一样,我们建议您使用Python虚拟环境因为运行弹射器。检查后端要求以获取说明。安装弹射器虚拟环境的标准位置在弹射器目录。

设置Python虚拟环境后,您需要调整变量VENV_PATH(视频_路径)在Sparv管道中/生成文件/Makefile.config所以它指向弹射器虚拟环境。

弹射器配置

配置变量存储在配置.sh:

  • SPARV_PYTHON公司:指向的路径某人管道Python目录
  • SPARV_模型:的位置某人管道模型
  • SPARV_BIN(备用钥匙):的位置某人管道二进制文件
  • SPARV_标签:管道生成文件的位置
  • CATAPULT_DIR公司:弹射器目录的位置
  • 构建DIR:托管正在运行和已完成生成的目录
  • 后勤总监:日志文件目录的路径
  • CATAPULT_VENV公司:弹射器使用的Python虚拟环境的路径

运行弹射器

  • 运行制作建造催化发射.
  • 运行./start-server.sh启动弹射器。
  • 设置中列出的cron作业弹射器/cronjobs.用于Sparv的自动维护。

时钟守护作业

Sparv中使用了以下cron作业:

  • 清理:每隔午夜删除7天未访问的生成发行https://ws.spraakbanken.gu.se/ws/sparv/cleanup?secret_key=SECRETKEY.
  • 保持活力:脚本弹射器/保持活动.sh每五分钟运行一次并重新启动弹射器弹射器/启动服务器.sh如果它没有响应ping。而不是设置这个cron作业时,可以使用supervisord之类的进程控制系统来运行弹射器。
  • 更新-萨尔多:Saldo词典每天更新脚本弹射器/更新saldo.sh.这需要一些时间,因此在夜间运行。弹射器重新启动之后由保持活力.sh脚本。

Sparv组件之间的相互作用

下图说明了Sparv web中涉及的组件界面在分析。

Sparv组件之间的相互作用