🚀 原文地址:https://rasa.com/docs/rasa/command-line-interface

Rasa 提供了执行一些常用任务的命令行接口,下表为这些命令功能描述,并对一些命令做详细的解释。

命令 功能描述
rasa init 创建一个 Rasa 项目,包含样例训练数据、动作以及一些配置文件
rasa train 使用 NLU 数据和故事训练模型,训练好的模型文件存放在项目下 models 文件夹中
rasa interactive 开启一个交互式学习的 Session,并通过与机器人聊天创建新的训练数据
rasa shell 加载预训练模型,你可以在命令行中与机器人进行对话
rasa run 加载预训练模型,开启 Rasa Server,可以选择是否开启 API 接口
rasa run actions 使用 Rasa SDK 开启动作(Action) Server
rasa visualize 将故事进行可视化展现
rasa test 通过 tests 文件夹的前缀为 test_ 文件,对预训练模型进行测试
rasa data split nlu 将 NLU 训练数据进行 8/2 划分
rasa data convert 对不同格式的训练数据进行转换
rasa validate 验证领域、NLU和对话数据是否一致
rasa export 将存储中跟踪会话导出为事件代理
rasa x 以本地模型启动 Rasa X
rasa -h 展示帮助文档

1. rasa init

rasa init 命令是一个项目初始化命令,帮助你搭建出一个完整的机器人,并给出一些示例训练数据,它将创建以下项目结构:

  1. .
  2. ├── actions
  3. ├── __init__.py
  4. └── actions.py
  5. ├── config.yml
  6. ├── credentials.yml
  7. ├── data
  8. ├── nlu.yml
  9. └── stories.yml
  10. ├── domain.yml
  11. ├── endpoints.yml
  12. ├── models
  13. └── <timestamp>.tar.gz
  14. └── tests
  15. └── test_stories.yml

在初始化过程中,Rasa 将会训练是否需要使用示例数据来训练一个初始化模型,如果回答 No,那么 models 文件夹将是空的。

Rasa 所有的命令行接口都会要求这样的项目文件结构,所以使用 rasa init 来创建项目是最好的方式。此外,初始化项目之后,我们就可以直接使用 rasa trainrasa shell 以及 rasa test 这些命令,而无须进行任何配置。

2. rasa train

位置参数
参数 简化参数 描述
core 使用故事来训练 Rasa Core 模型
nlu 使用 NLU 数据来训练 Rasa NLU 模型
可选参数
参数 简化参数 描述
—help -h 展示帮助文档
—data Core 和 NLU 数据文件的路径,默认为 ['data']
—config -c 机器人的 策略和 NLU 管道配置文件,默认为 config.yml
—domain -d 用来指定领域,可以是单个 YAML 文件,也可以是包含多个域文件的文件夹。如果是文件夹,则文件夹下文件将会被读取并合并到一起,默认为 domain.yml
—out 指定模型存储位置,默认为 models
—dry-run 该参数如果启用,则不会执行实际的训练。相反地,它将决定一个模型是否需要重新训练,并将此信息打印输出。返回码是一个 4 位的掩码,用来决定具体什么需要重新训练:
- 0:表示不需要大量训练,模型的更新仍需要运行 rasa train 命令
- 1:表示模型需要重新训练
- 8:表示强制训练,必须使用 --force 参数,默认为 False
—augmentation 在训练过程中使用多少数据进行扩充,默认为 50
—debug-plots 如果开启的话,将会创建一个 story_blocks_connections.html 文件,用于显示检查点以及故事块之间连接的图
—num-threads 训练时所使用最大线程数
—fix-model-name 修改生成模型的名称
—persist-nlu-data 在保存的模型中保留 NLU 训练数据
—force 强制训练模型,即使数据未变化,也是如此。
—finetune 微调一个已经训练好的模型,如果没有指定模型的话,Rasa 将会使用 models 文件中最后一个模型
—epoch-fraction 在当前模型配置文件中指定微调模型时的 epochs 的比例,默认为 1.0
Python 日志选项
—verbose -v 冗长的,将日志等级设置为 INFO,默认为 None
—debug -vv 打印出大量调试语句,将日志等级设置为 DEBUG,默认为 None
—quiet 安静模式,将日志等级设置为 WARNING,默认为 None

前面提到,rasa train 的作用是使用 NLU 数据和故事训练模型,训练好的模型文件默认存放在项目下 models 文件夹中,当然我们也可以通过定义 --out 参数来修改存储位置,所生成的模型文件名通常是 .tar.gz 格式,这样可以方便你进行区分先后训练模型的版本。一个好的习惯是,在模型达到一个里程碑时,我们应该给模型文件打上 Tag。当然,它也有一个 --fixed-model-name 参数,用来修正模型文件名。

如果 models 文件夹下已经存在模型,那么只有模型中已经更改的部分将会被重新训练。例如,如果你只修改了 NLU 训练数据,那么只有 NLU 的那部分会被重新训练。

rasa train 还有 nlucore 位置两个参数,分别用于单独训练 NLU 或者对话模型。如果所提供的数据仅仅适用于其中一个,那么 rasa train 在默认情况下会回退到 rasa train core 或者 rasa train nlu

🔔 rasa train 会默认调用 GPU 训练,前提是 Nvida 和 Tensorflow GPU 版本都已经正常可用。

2.1 增量式学习

3. rasa interactive

位置参数
参数 简化参数 描述
core 启动一个交互式学习的会话,并通过与机器人聊天为 Rasa Core 模型创建一些新的训练数据
模型文件 训练好的模型文件路径,如果指定的时文件夹,则会使用该文件夹下最后一个模型
可选参数
参数 简化参数 描述
—help -h 展示帮助文档
—e2e 以 e2e 格式保存故事文件,此格式下故事将包含用户消息。
—port -p 服务器运行的端口,默认为 5005
—model -m 训练好的模型文件路径,如果指定的时文件夹,则会使用该文件夹下最后一个模型,默认为 None
—data Core 和 NLU 数据文件的路径,默认为 ['data']
—skip-visualization 在交互式学习中关闭绘制可视化图标
—conversation-id
指定消息所在会话的 ID,默认是随机生成的 UUID
—endpoints
模型 Server 和连接器的 YAML 配置文件,默认为 endpoints.yml
Python 日志选项
参数 简化参数 描述
—verbose -v 冗长的,将日志等级设置为 INFO
—debug -vv 打印出大量调试语句,将日志等级设置为 DEBUG
—quiet 安静模式,将日志等级设置为 WARNING
训练参数
参数 简化参数 描述
—config -c 机器人的 策略和 NLU 管道配置文件,默认为 config.yml
—domain -d 用来指定领域,可以是单个 YAML 文件,也可以是包含多个域文件的文件夹。如果是文件夹,则文件夹下文件将会被读取并合并到一起,默认为 domain.yml
—out 指定模型存储位置,默认为 models
—augmentation 在训练过程中使用多少数据进行扩充,默认为 50。
—debug-plots 如果开启的话,将会创建一个 story_blocks_connections.html 文件,用于显示检查点以及故事块之间连接的图
—finetune 微调一个已经训练好的模型,如果没有指定模型的话,Rasa 将会使用 models 文件中最后一个模型
—epoch-fraction 在当前模型配置文件中指定微调模型时的 epochs 的比例,默认为 1.0
—force 强制训练模型,即使数据未变化,也是如此。
—persist-nlu-data 在保存的模型中保留 NLU 训练数据。

前面我们介绍了,我们可以在开启 Rasa X 之后,就可以在 UI 界面中和机器人进行聊天。对于那些更喜欢命令行的小伙伴,可以通过执行 rasa interactive 来打开一个交互式学习的 Session。

只想 rasa interactive 之后,首先 Rasa 会帮我们训练出一个模型,并开启一个交互式的 Shell,当你在机器人交流过程中纠正它的预测。如果在 pipeline 包含了 UnexpecTEDIntentPolicy,则可以在对话中的任意轮次触发 action_unlikely_intent。随后,终端中将显示以下消息:

  1. The bot wants to run 'action_unlikely_intent' to indicate that the last user message was unexpected at this point in the conversation. Check out UnexpecTEDIntentPolicy docs to learn more.

上述消息表明,你已经探索了一条不属于当前训练故事集中的对话路径,因此,推荐将这条路径添加到训练故事中。像其他机器人的操作一样,你可以选择确认或拒绝此操作。

如果你训练模型时使用了 --model 参数,Rasa 将会跳过训练过程直接加载指定模型。

在交互式学习过程中,Rasa 将会根据训练数据绘制出当前对话和一些类似对话的表示图,以便你了解到你当前所处的位置。当会话开始时,我们就可以通过浏览 http://localhost:5005/visualization.html 来查看可视化图,该图的生成将会花费一定时间,如果需要跳过可视化过程,可以使用 rasa interactive --skip-visualization

4. rasa shell

位置参数
参数 简化参数 描述
nlu 在命令行中,使用 NLU 模型解释消息
模型文件 训练好的模型文件路径,如果指定的时文件夹,则会使用该文件夹下最后一个模型
可选参数
参数 简化参数 描述
—help -h 展示帮助文档
—conversation-id
指定消息所在会话的 ID,默认是随机生成的 UUID
—model -m 训练好的模型文件路径,如果指定的时文件夹,则会使用该文件夹下最后一个模型。
—log-file 指定存储日志的文件
—use-syslog 将系统日志添加为日志处理器
—syslog-address 系统日志服务器的地址,必须结合 --use-syslog 使用,默认为 localhost
—syslog-port 系统日志服务器的端口,必须结合 --use-syslog 使用,默认为 514
—syslog-protocol 系统日志服务器的协议,可以是 UDP 或者 TCP,默认为 UDP
—endpoints
模型 Server 和连接器的 YAML 配置文件,默认为 endpoints.yml
Python 日志选项
参数 简化参数 描述
—verbose -v 冗长的,将日志等级设置为 INFO
—debug -vv 打印出大量调试语句,将日志等级设置为 DEBUG
—quiet 安静模式,将日志等级设置为 WARNING
服务器设置
参数 简化参数 描述
—interface -i 服务器运行的网络接口,默认为 0.0.0.0
—port -p 服务器运行的端口,默认为 5005
—auth-token -t 启用 token 认证后,请求需要提供携带 token 才会被接收
—cors 对请求端启用 CORS,使用 * 则表示所有请求端都在白名单内
—enable-api 除了输入通道外,启用 Web Server API
—response-timeout 处理响应所需的最大时长,单位为秒,默认为 3600
—remote-storage 设置 Rasa model 远程存储地址,例如 AWS
—ssl-certificate 设置 SSL 证书,用于创建受保护的 TLS 服务器
—ssl-keyfile 设置 SSL 密钥文件,用于创建受保护的 TLS 服务器
—ssl-ca-file 如果 SSL 证书需要验证,此参数可以指定 CA 文件
—ssl-password 如果 SSL 密钥文件受密码保护,此参数可用于传递文件密码
通道
参数 简化参数 描述
—credentials
使用连接器的身份验证凭据 YAML 文件
—connector
连接的服务
JWT认证
参数 简化参数 描述
—jwt-secret 非对称 JWT 方法的公钥,或者共享对称方法的密钥。请确保使用 --jwt-method 来选择签名的方式,否则该采参数将被忽略。注意,此参数旨在保护 HTTP API。
—jwt-method 用于 JWT 认证负载的签名方式,默认为 HS256

rasa shell 用于开启一个聊天会话,默认情况下,它将加载最新的训练好的模型。当然,你也可以使用 --model 参数来指定需要加载的模型。

如果仅使用 NLU 模型的话,对于所输入的任何消息,那么 rasa shell 将会输出预测的意图和实体。

如果你已经训练一个 Rasa 组合模型,但是只想查看模型从文本中提取的意图和实体,那么可以使用 rasa shell nlu

5. rasa run

位置参数
参数 简化参数 描述
actions 运行动作服务器
模型文件 训练好的模型文件路径,如果指定的时文件夹,则会使用该文件夹下最后一个模型
可选参数
参数 简化参数 描述
—help -h 展示帮助文档
—model -m 训练好的模型文件路径,如果指定的时文件夹,则会使用该文件夹下最后一个模型。
—log-file 指定存储日志的文件
—use-syslog 将系统日志添加为日志处理器
—syslog-address 系统日志服务器的地址,必须结合 --use-syslog 使用,默认为 localhost
—syslog-port 系统日志服务器的端口,必须结合 --use-syslog 使用,默认为 514
—syslog-protocol 系统日志服务器的协议,可以是 UDP 或者 TCP,默认为 UDP
—endpoints
模型 Server 和连接器的 YAML 配置文件,默认为 endpoints.yml
Python 日志选项
参数 简化参数 描述
—verbose -v 冗长的,将日志等级设置为 INFO
—debug -vv 打印出大量调试语句,将日志等级设置为 DEBUG
—quiet 安静模式,将日志等级设置为 WARNING
服务器设置
参数 简化参数 描述
—interface -i 服务器运行的网络接口,默认为 0.0.0.0
—port -p 服务器运行的端口,默认为 5005
—auth-token -t 启用 token 认证后,请求需要提供携带 token 才会被接收
—cors 对请求端启用 CORS,使用 * 则表示所有请求端都在白名单内
—enable-api 除了输入通道外,启用 Web Server API
—response-timeout 处理响应所需的最大时长,单位为秒,默认为 3600
—remote-storage 设置 Rasa model 远程存储地址,例如 AWS
—ssl-certificate 设置 SSL 证书,用于创建受保护的 TLS 服务器
—ssl-keyfile 设置 SSL 密钥文件,用于创建受保护的 TLS 服务器
—ssl-ca-file 如果 SSL 证书需要验证,此参数可以指定 CA 文件
—ssl-password 如果 SSL 密钥文件受密码保护,此参数可用于传递文件密码
通道
参数 简化参数 描述
—credentials
使用连接器的身份验证凭据 YAML 文件
—connector
连接的服务
JWT认证
参数 简化参数 描述
—jwt-secret 非对称 JWT 方法的公钥,或者共享对称方法的密钥。请确保使用 --jwt-method 来选择签名的方式,否则该采参数将被忽略。注意,此参数旨在保护 HTTP API。
—jwt-method 用于 JWT 认证负载的签名方式,默认为 HS256

6. rasa run actions

可选参数
参数 简化参数 描述
—help -h 展示帮助文档
—port -p 服务器运行的端口,默认为 5005
—cors 对请求端启用 CORS,使用 * 则表示所有请求端都在白名单内
—actions 需要加载动作库的名称
—ssl-keyfile 设置 SSL 密钥文件,用于创建受保护的 TLS 服务器
—ssl-certificate 设置 SSL 证书,用于创建受保护的 TLS 服务器
—ssl-password 如果 SSL 密钥文件受密码保护,此参数可用于传递文件密码
—auto-reload 对于包含子类的模块,启用自动重载
Python 日志选项
参数 简化参数 描述
—verbose -v 冗长的,将日志等级设置为 INFO
—debug -vv 打印出大量调试语句,将日志等级设置为 DEBUG
—quiet 安静模式,将日志等级设置为 WARNING

运行 rasa run actions 将使用 Rasa SDK 开启一个 Action 服务器。

7. rasa visualize

可选参数
参数 简化参数 描述
—help -h 展示帮助文档
—domain -d 用来指定领域,可以是单个 YAML 文件,也可以是包含多个域文件的文件夹。如果是文件夹,则文件夹下文件将会被读取并合并到一起,默认为 domain.yml
—stories -s 包含故事的文件或文件夹
—out 指定模型存储位置,默认为 graph.html
—max-history 当在输出图中合并路径时,需要考虑的最大历史次数
—nlu -u 包含 NLU 数据的文件或文件夹,用于在图中插入示例信息
Python 日志选项
参数 简化参数 描述
—verbose -v 冗长的,将日志等级设置为 INFO
—debug -vv 打印出大量调试语句,将日志等级设置为 DEBUG
—quiet 安静模式,将日志等级设置为 WARNING

rasa visualize 用于将故事生成一个图,如果故事的路径是在默认位置 data 之外,我们可以使用 --stories 参数来指定其位置。

8. rasa test

位置参数
参数 简化参数 描述
core 使用故事来训练 Rasa Core 模型
nlu 使用 NLU 数据来训练 Rasa NLU 模型
可选参数
参数 简化参数 描述
—help -h 展示帮助文档
—model -m 训练好的模型文件路径,如果指定的时文件夹,则会使用该文件夹下最后一个模型。
—no-plot 不要渲染评价图
—successes 开启后,成功预测的结果将会被写入文件
—no-errors 开启后,不正确的预测结果将不会被写入文件
—no-warnings 开启后,带有警告的预测结果将不会被写入文件
—out 指定模型存储位置,默认为 results
Python 日志选项
参数 简化参数 描述
—verbose -v 冗长的,将日志等级设置为 INFO
—debug -vv 打印出大量调试语句,将日志等级设置为 DEBUG
—quiet 安静模式,将日志等级设置为 WARNING
Core测试参数
参数 简化参数 描述
—stories -s 包含故事的文件或文件夹
—max-history 当在输出图中合并路径时,需要考虑的最大历史次数
—endpoints
模型 Server 和连接器的 YAML 配置文件,默认为 endpoints.yml
—fail-on-prediction-errors 如果遇到预测错误,则会跑出异常,可用于在测试中验证故事
—url 如果提供该参数,则可以从 URL 下载故事文件以及进行训练,通过发送 GET 请求到所提供的 URL来获取数据
—evaluate-model-directory 对通过 rasa train core --config <config-1> <config-2> 训练出的模型进行评估时需要设置,在提供的文件夹下所有模型都会被评价和对比。
NLU测试参数
—nlu -u 包含 NLU 数据的文件或文件夹,用于在图中插入示例信息
—config -c 机器人的 策略和 NLU 管道配置文件,默认为 config.yml
—domain -d 用来指定领域,可以是单个 YAML 文件,也可以是包含多个域文件的文件夹。如果是文件夹,则文件夹下文件将会被读取并合并到一起,默认为 domain.yml

9. rasa data split

可选参数
参数 简化参数 描述
—help -h 展示帮助文档
—nlu -u 包含 NLU 数据的文件或文件夹,用于在图中插入示例信息
—training-fraction 划分训练集的比例
—random-seed 生成训练集和测试集的种子
—out 指定模型存储位置,默认为 train_test_split
Python 日志选项
参数 简化参数 描述
—verbose -v 冗长的,将日志等级设置为 INFO
—debug -vv 打印出大量调试语句,将日志等级设置为 DEBUG
—quiet 安静模式,将日志等级设置为 WARNING

使用 rasa data split nlu 可以将 NLU 训练数据分成训练集和测试集,默认情况下会按照 80/20 比例来切分训练集和测试集。除此之外,我们还可以指定训练数据、比例以及输出文件夹。

10. rasa data convert nlu

可选参数
参数 简化参数 描述
—help -h 展示帮助文档
—format -f 将训练数据转换后的输出格式,默认为 yaml
—data NLU 数据文件或文件夹的路径,默认为 ['data']
—out 以 Rasa 格式保存的训练数据 JSON 文件或现有 YAML 路径
—language -l 数据的语言,默认为 en
Python 日志选项
参数 简化参数 描述
—verbose -v 冗长的,将日志等级设置为 INFO
—debug -vv 打印出大量调试语句,将日志等级设置为 DEBUG
—quiet 安静模式,将日志等级设置为 WARNING

我们可以通过运行 rasa data convert nlu 来将 LUIS、WIT、Dialogflow 以及 JSON 格式的文件转换为 YAML 或 JSON 格式文件。

11. rasa data migrate

Rasa 2.0 和 3.0 最大的区别在于领域文件的格式,我们可以将 2.0 域文件迁移到 3.0 上。通过运行 rasa data migrate 来进行迁移,还可以指定输入(输出)文件或文件夹:

  1. $ rasa data migrate -d DOMAIN --out OUT_PATH

如果没有指定参数,Rasa 则会使用默认的域文件 domain.yml,并且它会帮我们备份 2.0 域文件为 original_domain.yaml,如果是指定的是文件夹,则会生成 original_domain 文件夹。

值得注意的是,对于迁移的域文件中的插槽,如果这些插槽是表单中的 required_slots,那么将会包含映射条件。

:::warning 🔔 注意
————
对于所提供的域文件,遇到以下条件时 Rasa 就会抛出异常且迁移过程会被中断

  • 无效的域文件
  • 域文件已经是 3.0 格式
  • 原始域文件中缺少插槽和表单
  • 插槽和表单分布在多个域文件中

这样做的目的在于避免域文件中迁移部分重复,请确保所有插槽和表单的定义被分组到单个文件中。 :::

12. rasa data validate

可选参数
参数 简化参数 描述
—help -h 展示帮助文档
—config -c 机器人的 策略和 NLU 管道配置文件,默认为 config.yml
—fail-on-warning 在验证失败时打印警告和错误,如果省略的话,只有在错误时返回非零的退出码
—domain -d 用来指定领域,可以是单个 YAML 文件,也可以是包含多个域文件的文件夹。如果是文件夹,则文件夹下文件将会被读取并合并到一起,默认为 domain.yml
—data NLU 数据文件或文件夹的路径,默认为 ['data']
Python 日志选项
参数 简化参数 描述
—verbose -v 冗长的,将日志等级设置为 INFO
—debug -vv 打印出大量调试语句,将日志等级设置为 DEBUG
—quiet 安静模式,将日志等级设置为 WARNING

rasa data validate 用于检查域、NLU 数据或者故事中的错误和不一致的地方。验证器将会在数据中搜索错误,例如,一些相同训练示例却有 2 个意图。同时。验证器还会检查故事中是否存在对于同一段度化历史,机器人采取了不同的动作。如果故事之间存在冲突,这将会阻碍模型学习对话的正确模式。

如果在 config.yml 文件中给一个或多个策略传递了max_history 值,那么请将这些值的最小值使用 --max-history <max_history> 传递给验证器。我们也可以使用 rasa data validate stories 来验证故事的结构。

如果对于未使用的意图或响应在验证时需要中断,就可以使用 --fail-on-warnings

:::info 💡 注意
———————————————
如果规则和故事是一致的,那么 rasa data validate 便不会测试。然而,RulePolicy 会在训练期间规则和故事之间的冲突。

如果使用端对端的故事,那么将可能不能捕获所有冲突。具体而言,如果两个用户输入在同样的特征化后却导致不同的 token,那么冲突的动作就会存在,但工具并不会报告这个问题。 :::

13. rasa export

可选参数
参数 简化参数 描述
—help -h 展示帮助文档
—endpoints 指定跟踪器和事件代理的端点配置文件
—minimum-timestamp 需要导出事件的最小时间戳,该约束将被应用于大于比较
—maximum-timestamp 需要导出事件的最大时间戳,该约束将被应用于小于比较
—conversation-ids 以逗号间隔的对话 ID 列表,如果设置的话,所有可用对话 ID 都将被导出
Python 日志选项
参数 简化参数 描述
—verbose -v 冗长的,将日志等级设置为 INFO
—debug -vv 打印出大量调试语句,将日志等级设置为 DEBUG
—quiet 安静模式,将日志等级设置为 WARNING

rasa export 使用事件代理器从跟踪器中导出事件,同时我们还可以指定环境文件的位置、事件的最大最小时间戳,以及对话 ID 的列表。

:::info 💡 将对话导入到Rasa X
———————————————
该命令常用于将老的对话导入到 Rasa X 中进行标注。 :::

14. rasa evaluate markers

位置参数
参数 简化参数 描述
output_filename 以 CSV 格式写入提取标注的文件名
first_n 按顺序选择 N 个跟踪器
sample 通过采样选择跟踪器
all 选择所有跟踪器
可选参数
参数 简化参数 描述
—help -h 展示帮助文档
—config -c 包含标记定义的 YAML 配置文件或者文件夹,文件中的内容将会被读取并合并到一起,默认为 markers.yml
—no-stats 不计算汇总统计信息
—stats-file-prefix 写入计算后的统计信息的文件名前缀,更准确地说,文件前缀必须由通用路径加上前缀组成,Rasa 将自动添加 -overall.csv-per-session.csv 后缀,默认为 stats
—endpoints 指定跟踪器的端点 YAML 配置文件
—domain -d 用来指定领域,可以是单个 YAML 文件,也可以是包含多个域文件的文件夹。如果是文件夹,则文件夹下文件将会被读取并合并到一起,默认为 domain.yml
Python 日志选项
参数 简化参数 描述
—verbose -v 冗长的,将日志等级设置为 INFO
—debug -vv 打印出大量调试语句,将日志等级设置为 DEBUG
—quiet 安静模式,将日志等级设置为 WARNING

以下命令将标记配置文件中的标记应用于跟踪器预先存在的对话,并生成包含提取标记和汇总统计信息的 CSV 文件:

  1. $ rasa evaluate markers all extracted_markers.csv

15. rasa x

可选参数
参数 简化参数 描述
—help -h 展示帮助文档
—model -m 训练好的模型文件路径,如果指定的时文件夹,则会使用该文件夹下最后一个模型。
—data NLU 数据文件或文件夹的路径,默认为 ['data']
—config -c 机器人的 策略和 NLU 管道配置文件,默认为 config.yml
—domain -d 用来指定领域,可以是单个 YAML 文件,也可以是包含多个域文件的文件夹。如果是文件夹,则文件夹下文件将会被读取并合并到一起,默认为 domain.yml
—no-prompt 对于提示符和警告自动应答 yes 或者默认选项,
—production 在生产环境下运行 Rasa X
—rasa-x-port 运行 Rasa X 的端口
—config-endpoint Rasa X 端点 URL 从文件中提取运行时的配置,此 URL 通常会包含 Rasa X 的 token
—log-file 指定存储日志的文件
—use-syslog 将系统日志添加为日志处理器
—syslog-address 系统日志服务器的地址,必须结合 --use-syslog 使用,默认为 localhost
—syslog-port 系统日志服务器的端口,必须结合 --use-syslog 使用,默认为 514
—syslog-protocol 系统日志服务器的协议,可以是 UDP 或者 TCP,默认为 UDP
—endpoints
模型 Server 和连接器的 YAML 配置文件,默认为 endpoints.yml
Python 日志选项
参数 简化参数 描述
—verbose -v 冗长的,将日志等级设置为 INFO
—debug -vv 打印出大量调试语句,将日志等级设置为 DEBUG
—quiet 安静模式,将日志等级设置为 WARNING
服务器设置
参数 简化参数 描述
—interface -i 服务器运行的网络接口,默认为 0.0.0.0
—port -p 服务器运行的端口,默认为 5005
—auth-token -t 启用 token 认证后,请求需要提供携带 token 才会被接收
—cors 对请求端启用 CORS,使用 * 则表示所有请求端都在白名单内
—enable-api 除了输入通道外,启用 Web Server API
—response-timeout 处理响应所需的最大时长,单位为秒,默认为 3600
—remote-storage 设置 Rasa model 远程存储地址,例如 AWS
—ssl-certificate 设置 SSL 证书,用于创建受保护的 TLS 服务器
—ssl-keyfile 设置 SSL 密钥文件,用于创建受保护的 TLS 服务器
—ssl-ca-file 如果 SSL 证书需要验证,此参数可以指定 CA 文件
—ssl-password 如果 SSL 密钥文件受密码保护,此参数可用于传递文件密码
通道
参数 简化参数 描述
—credentials
使用连接器的身份验证凭据 YAML 文件
—connector
连接的服务
JWT认证
参数 简化参数 描述
—jwt-secret 非对称 JWT 方法的公钥,或者共享对称方法的密钥。请确保使用 --jwt-method 来选择签名的方式,否则该采参数将被忽略。注意,此参数旨在保护 HTTP API。
—jwt-method 用于 JWT 认证负载的签名方式,默认为 HS256

Rasa X 是一种练习对话驱动开发的工具,在 Rasa 项目下执行 rasa x 来开启。