課題を Jira に移行しています
2023 年 1 月以降、Rasa オープンソースの問題はこの Jira ボードに配置されます。ログインしなくても問題を参照できます。課題を作成したい場合は、Jira アカウントを作成する必要があります。
Rasa は、テキストおよび音声ベースの会話を自動化するオープンソースの機械学習フレームワークです。 Rasa を使用すると、以下にコンテキスト アシスタントを構築できます。
または次のような音声アシスタント:
Rasa は、何度もやりとりを伴う階層的な会話を行うことができるコンテキスト アシスタントの構築を支援します。人間がコンテキスト アシスタントと有意義なやり取りを行うためには、アシスタントがコンテキストを使用して、以前に議論した内容を構築できる必要があります。Rasa を使用すると、これをスケーラブルな方法で実行できるアシスタントを構築できます。
このブログ投稿には、さらに多くの背景情報が記載されています。
?ラサについて詳しく見る
?ドキュメントを読む
? Rasaをインストールする
ラーニング センターをさらに深く掘り下げる
?貢献する
❓ エンタープライズレベルのサポートを受ける
?当社の商用プラットフォームの機能を詳しく見る
Rasa を活用した研究論文の詳細をご覧ください
Rasa Docs には広範なドキュメントが含まれています。インストールしたバージョンのドキュメントを参照するために、必ず正しいバージョンを選択してください。
質問にすぐに回答するには、Rasa コミュニティ フォーラムをご利用ください。
皆さんの貢献を受け取り、このリポジトリに統合できることを非常に嬉しく思います。
プル リクエストを通じて貢献するには、次の手順に従います。
コードを寄稿する方法の詳細については、コード寄稿者のガイドラインを確認してください。
Rasa に (さまざまな方法で) 貢献する方法の詳細については、当社の Web サイトをご覧ください。
あなたのプル リクエストはメンテナーによって検討され、必要な変更や質問があれば返信されます。また、寄稿者ライセンス契約への署名も求められます。
Rasa は、パッケージ化と依存関係の管理に Poetry を使用しています。ソースからビルドする場合は、最初に Poetry をインストールする必要があります。考えられるすべてのオプションを確認するには、公式ガイドに従ってください。
既存の詩のバージョンを現在 rasa で使用されているバージョンに更新するには、次のコマンドを実行します。
poetry self update < version >
公式 Poetry ガイドでは、Python のバージョンを簡単に切り替えるために、pyenv またはその他の同様のツールを使用することを推奨しています。これは次のようにして実行できます。
pyenv install 3.10.10
pyenv local 3.10.10 # Activate Python 3.10.10 for the current project
注: 特定のバージョンの Python をシステムにインストールするときに問題が発生した場合は、サポートされている他のバージョンを試してみる価値があるかもしれません。
デフォルトでは、Poetry は現在アクティブ化されている Python バージョンを使用して、現在のプロジェクトの仮想環境を自動的に作成しようとします。仮想環境を手動で作成してアクティブ化することもできます。この場合、Poetry はそれを選択し、それを使用して依存関係をインストールします。例えば:
python -m venv .venv
source .venv/bin/activate
次のコマンドを実行すると、環境が選択されていることを確認できます。
poetry env info
依存関係とrasa
自体を編集可能モードでインストールするには、次のコマンドを実行します。
make install
macOS ユーザー向けの注意: macOS Big Sur では、依存関係に関するコンパイラの問題がいくつか確認されています。インストール前にexport SYSTEM_VERSION_COMPAT=1
使用すると役に立ちました。
Rasa のオプションの依存関係をインストールするには、以下を実行する必要があります。
make install-full
macOS ユーザー向けの注意: make install-full
コマンドを実行すると、 tokenizers
のインストール中にエラーが発生する可能性があります (問題については、ここで詳しく説明されています)。
これを解決するには、次の手順に従って Rust コンパイラをインストールする必要があります。
brew install rustup
rustup-init
Rust コンパイラを初期化した後、コンソールを再起動してインストールを確認する必要があります。
rustc --version
PATH 変数が自動的に設定されていない場合は、次を実行します。
export PATH= " $HOME /.cargo/bin: $PATH "
まず、必要な依存関係をすべてインストールします。
make install install-docs
インストールが完了したら、以下を使用してドキュメントをローカルで実行して表示できます。
make livedocs
ブラウザーで新しいタブが開き、ドキュメントのローカル バージョンが表示されます。そうでない場合は、ブラウザで http://localhost:3000 にアクセスしてください。これでドキュメントをローカルで変更できるようになり、Web ページが自動的にリロードされて変更が適用されます。
テストを実行するには、開発要件がインストールされていることを確認してください。
make prepare-tests-ubuntu # Only on Ubuntu and Debian based systems
make prepare-tests-macos # Only on macOS
次に、テストを実行します。
make test
時間を節約するために複数のジョブで実行することもできます。
JOBS=[n] make test
ここで、 [n]
希望するジョブの数です。省略した場合、 [n]
は pytest によって自動的に選択されます。
統合テストを実行するには、開発要件がインストールされていることを確認してください。
make prepare-tests-ubuntu # Only on Ubuntu and Debian based systems
make prepare-tests-macos # Only on macOS
次に、Docker Compose を使用する次のコマンドでサービスを開始する必要があります。
make run-integration-containers
最後に、次のように統合テストを実行できます。
make test-integration
Poetry には、デフォルトでは、ロック ファイルpoetry.lock
内のマージ競合の解決に役立つソリューションが含まれていません。ただし、poeter-merge-lock という優れたツールがあります。インストール方法は次のとおりです。
pip install poetry-merge-lock
次のコマンドを実行するだけで、 poetry.lock
のマージ競合が自動的に解決されます。
poetry-merge-lock
ローカル マシン上に Docker イメージを構築するには、次のコマンドを実行します。
make build-docker
Docker イメージは、ローカル マシン上でrasa:localdev
として利用できます。
コードスタイルを標準化するために、フォーマッタ黒を使用します。型アノテーションが正しいことを確認するために、型チェッカー pytype を使用します。コードが適切にフォーマットされていない場合、または型チェックが行われていない場合、GitHub はビルドに失敗します。
コミットごとにコードを自動的にフォーマットしたい場合は、プリコミットを使用できます。 pip install pre-commit
経由でインストールし、ルート フォルダーでpre-commit install
を実行するだけです。これにより、リポジトリにフックが追加され、コミットごとにファイルが再フォーマットされます。
手動で設定したい場合は、 poetry install
経由で black をインストールします。ファイルを再フォーマットするには、次のコマンドを実行します
make formatter
コードベースの型を確認したい場合は、 poetry install
使用してmypy
をインストールします。タイプを確認するには、次のコマンドを実行します
make types
Docusaurus v2
使用して、タグ付きバージョンとmain
ブランチのドキュメントを構築します。 Docusaurus を実行するには、 Node.js 12.x
をインストールします。構築された静的サイトは、このリポジトリのdocumentation
ブランチにプッシュされます。
netlify でサイトをホストしています。 main
ブランチのビルド ( .github/workflows/documentation.yml
を参照) では、ビルドされたドキュメントをdocumentation
ブランチにプッシュします。 Netlify は、そのブランチに変更があるたびにドキュメント ページを自動的に再デプロイします。
Rasa は、バージョンの命名と、メジャー リリース、マイナー リリース、およびパッチ リリースのリリース ペースを管理する堅牢なポリシーを実装しました。
特定のバージョン番号 (MAJOR.MINOR.PATCH) の値は次のように増分されます。
次の表は、バージョンの種類と予想されるリリース頻度を示しています。
バージョンの種類 | 説明 | ターゲットケイデンス |
---|---|---|
選考科目 | 重要な変更の場合、または下位互換性のない変更が API またはデータ モデルに導入された場合。 | 1~2年ごと |
マイナー | 新しい下位互換性機能が導入されるとき、マイナーな機能が導入されるとき、または一連の小さな機能が展開されるとき。 | +/- 四半期ごと |
パッチ | 誤った動作を修正する下位互換性のあるバグ修正。 | 必要に応じて |
この表は当社の目標リリース頻度を表していますが、当社は変化する市場状況や技術要件に基づいてこの表を変更する権利を留保します。
弊社のサポート終了ポリシーでは、特定のリリースがサポートされているとみなされる期間、およびリリースがまだアクティブな開発またはメンテナンス中であるとみなされる期間を定義します。
各リリースのメンテナンス期間とサポート終了は、製品リリースおよびメンテナンス ポリシーの一部として当社の Web サイトに表示されます。
メジャー リリースが完了したら、次の手順に従ってドキュメントの更新を完了してください。
パッケージは GitHub Actions によってビルドおよび配布されるため、新しいバージョンのリリースは非常に簡単です。
リリース手順:
git checkout -b 1.2.x
git push origin 1.2.x
main
、マイナーおよびパッチの場合は<major>.<minor>.x
ブランチ)pyproject.toml
のrasa-sdk
エントリを新しいリリース バージョンで更新し、 poetry update
実行します。これにより、すべての依存関係が解決された新しいpoetry.lock
ファイルが作成されます。git commit -am "bump rasa-sdk dependency"
を使用して変更をコミットしますが、プッシュはしません。これらは次の手順で自動的に取得されます。make release
実行する1.2.x
) に対する PR を作成します。git checkout 1.2.x
git pull origin 1.2.x
git tag 1.2.0 -m " next release "
git push origin 1.2.0 --tags
product
チャネル) に自動的に投稿されるはずです。event: push
およびbranch: <version number>
を使用できます (リリース 2.4 の例はここで参照できます)。product
チャネルに正しく投稿された後、 product-engineering-alerts
チャネルでも、このような Rasa オープンソース リリースに関連するアラートがあるかどうかを確認してください。パッチリリースはバグ修正のみを含むことを目的としているため、カットするのが簡単です。
パッチリリースをカットするために行う必要があるのは次のことだけです。
2.0.4
パッチをカットする場合、修正は2.0.x
リリース ブランチにある必要があります)。すべてのパッチ リリースは.x
ブランチから取得する必要があります。make release
を実行し、手順に従って PR をマージします。.x
ブランチを再度プルしてタグをプッシュします。注: これは、リリースされたバージョンが利用可能な最新バージョンである場合にのみ必要です。たとえば、メインでバージョン > バージョンの場合は、次の手順を実行します。
新しくリリースされた Rasa バージョンと Rasa X/Enterprise の最新バージョンとの互換性を確認するには、次の手順を実行します。
Rasa 製品のリリースおよびメンテナンス ポリシーのページを参照してください。
Apache License、バージョン 2.0 に基づいてライセンスされています。著作権 2022 Rasa Technologies GmbH。ライセンスのコピー。
プロジェクトの依存関係のライセンスのリストは、ライブラリの概要の下部にあります。