在GitHub Actions中运行Rasa测试时,如何配置--domain参数?
解决GitHub Actions中Rasa工作流的Domain路径问题
我在.github/workflows目录下有一份gate.yml文件,用于向master分支创建拉取请求(pull request)时测试Rasa模型,原配置代码如下:
name: Rasa on: push: branches: - master pull_request: branches: - master jobs: training-testing: name: Training and Testing runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Rasa Train and Test GitHub Action uses: RasaHQ/rasa-train-test-gha@main with: data_validate: true rasa_train: true cross_validation: true rasa_test: true test_type: all publish_summary: true github_token: ${{ secrets.GITHUB_TOKEN }} - name: Upload model if: github.ref == 'refs/heads/master' uses: actions/upload-artifact@master with: name: model path: models
现在每次创建拉取请求都会报错,推测和目录结构有关,当前文件目录结构如下:
.github └── workflows └── gate.yml stockrecolib └── chatbot └── domain.yml
解决方案:指定Domain文件路径
问题根源是Rasa默认会在当前工作目录查找domain.yml,但你的domain文件在stockrecolib/chatbot/子目录下,所以需要在GitHub Action的配置中显式指定domain路径,对应Rasa的--domain参数。
修改gate.yml中Rasa Train and Test GitHub Action步骤的配置,添加domain参数:
name: Rasa on: push: branches: - master pull_request: branches: - master jobs: training-testing: name: Training and Testing runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Rasa Train and Test GitHub Action uses: RasaHQ/rasa-train-test-gha@main with: data_validate: true rasa_train: true cross_validation: true rasa_test: true test_type: all publish_summary: true github_token: ${{ secrets.GITHUB_TOKEN }} # 新增:指定domain文件的相对路径 domain: stockrecolib/chatbot/domain.yml - name: Upload model if: github.ref == 'refs/heads/master' uses: actions/upload-artifact@master with: name: model path: models
补充说明
如果你的训练数据(nlu.yml、stories.yml等)也在stockrecolib/chatbot/目录下,还需要添加data参数指定数据路径:
data: stockrecolib/chatbot/data
这样Rasa就能完整找到所有必要的文件,顺利完成训练和测试流程。
内容的提问来源于stack exchange,提问作者samuel gast
相关产品推荐
相关产品推荐

