开放源代码机器学习框架,自动化基于文本和语音的对话:NLU、对话管理、连接到Slack、Facebook等-创建聊天机器人和语音助手

rasa的Python项目详细描述


rasa(以前称为rasa core+rasa nlu)

加入rasa社区论坛聊天pypi version支持的python版本构建状态coverage statusdocumentation statusfossa statusprs welcome

rasa是一个开源的机器学习框架,用于自动化基于文本和语音的对话。使用rasa,您可以在以下位置构建聊天机器人:

  • Facebook Messenger
  • 松弛度
  • Microsoft机器人程序框架
  • rocket.chat
  • 最重要的
  • 电报
  • 斜纹布
  • 您自己的自定义对话频道

或语音助理:

  • Alexa技能
  • 谷歌主页操作

rasa的主要目的是帮助您构建上下文,分层 有很多来回的谈话。要进行真正的交谈, 你需要有一些记忆,并建立在前面所说的基础上。 RASA允许您以可扩展的方式执行此操作。

这里面有很多背景资料 博客文章



在何处获得帮助

在rasa文档中有大量的文档。 确保选择正确的版本,以便查看 所安装版本的文档。

请使用rasa community forum快速回答 问题。

自述内容:

如何贡献

我们很高兴收到并合并您的贡献。你可以 查找有关如何为RASA做出贡献的更多信息(在许多 不同的方式!)这里

要通过拉取请求进行贡献,请执行以下步骤:

  1. 创建描述要处理的功能的问题(或 请看一下投稿板
  2. 编写代码、测试和文档,并用黑色格式化
  3. 创建一个pull请求,描述您的更改

您的拉取请求将由维护人员审查,维护人员将获得 关于任何必要的改变或问题。你会 也被要求签署 贡献者许可协议

开发内部构件

运行和更改文档

要生成和编辑文档,请首先安装所有必需的依赖项:

pip3 install -r requirements-dev.txt
pip3 install -r requirements-docs.txt

安装完成后,您可以运行并查看文档 本地使用:

make livedocs

在浏览器中访问http://localhost:8000上的本地版本的文档。 现在您可以在本地更改文档,网页将自动重新加载 并应用您的更改。

运行测试

为了运行测试,请确保安装了开发要求:

exportPIP_USE_PEP517=false
pip install -r requirements-dev.txt
pip install -e .
make prepare-tests-ubuntu # Only on Ubuntu
make prepare-tests-macos  # Only on macOS

然后,运行测试:

make test

发布新版本的步骤

发布新版本非常简单,因为这些包是由travis构建和分发的。

术语

  • 补丁发布(第三版部分增加):1.1.2->;1.1.3
  • 小版本(第二版部分增加):1.1.3->;1.2.0
  • 主要版本(第一版部分增加):1.2.0->;2.0.0

释放步骤

  1. 创建新分支并
  • 更新rasa/version.py以反映正确的版本号
  • 编辑changelog.rst,为版本创建一个新的部分(例如从收集的主部分移动项目),并创建一个新的主日志部分
  • 编辑ster/docs/migration guide.rst" rel="nofollow">迁移指南为用户更新到新版本提供帮助
  1. 提交更改并针对master或release分支创建pr(例如1.2.x
  2. 一旦你的公关被合并,标记一个新的发布(这应该总是发生在主发布或发布分支),例如使用
    git tag 1.2.0 -m "Some helpful line describing the release"
    git push origin 1.2.0 --tags
    
    travis将构建这个标签并将一个包推送到pypi
  3. 如果这是一个次要版本,则应创建一个新的版本分支,指向与标记相同的提交,以允许将来的修补程序版本,例如
    git checkout -b 1.2.x
    git push origin 1.2.x
    

代码样式

为了确保标准化的代码样式,我们使用格式化程序黑色。 为了确保类型注释是正确的,我们使用类型检查器pytype。 如果您的代码格式不正确或没有键入check,travis将无法生成。

格式化

如果要在每次提交时自动格式化代码,可以使用预提交。 只需通过pip install pre commit安装它,并在根文件夹中执行pre commit install。 这将向存储库添加一个钩子,该钩子将在每次提交时重新格式化文件。

如果要手动设置,请通过pip install-r requirements-dev.txt安装black。 要重新格式化文件,请执行

make formatter

类型检查

如果要检查代码库上的类型,请使用pip install-r requirements-dev.txt安装pytype。 要检查类型,请执行

make types

部署文档更新

我们使用sphinx版本控制为标记版本和主分支构建文档。 构建的静态站点被推送到这个repo的docs分支,它不包含 任何代码,只有站点。

我们在netlify上主持这个网站。当有理由更新文件时(例如主文件已更改或我们已更改 标记了一个新版本)我们在netlify上触发了一个webhook(参见.travis.yml)。

许可证

在2.0版apache许可下授权。 版权所有2019 RASA Technologies GmbH.许可证副本

项目依赖项的许可证列表可以在 底部 库摘要

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java提供了大量的Quartz工作线程   来自SOAPException的java抛出超时异常   java通过REST web服务同步PostgreSQL过程调用   java Hibernate:在关联表中设置值   javaimapidlechanneladapterjavax。邮政AuthenticationFailedException:[警报]同时连接太多   JavaApacheStorm:stormkafkamonitor脚本引发异常   java将jar链接到战争   Matlab与Java的集成方法   安卓公司。谷歌。ads.AdView未能实例化java。lang.ClassNotFoundException:org。json。JSONException   “String forecastStr=mForecastAdapter.getItem(position);”行中出现java错误阳光工程   java如何将Mono中的列表属性作为流量进行操作?   java DecimalFormat类不必要地给出整数   java@IfProfileValue两个spring配置文件   java如何使用SwingWorker创建多线程?   java从扩展SwingWorker的内部类触发事件   java二叉树高度实现