我們正在將問題遷移到 Jira
從 2023 年 1 月開始,Rasa 開源的問題位於此 Jira 板中。無需登入即可瀏覽問題;如果您想建立問題,則需要建立 Jira 帳戶。
Rasa 是一個開源機器學習框架,用於自動執行基於文字和語音的對話。借助 Rasa,您可以在以下方面建立上下文助理:
或語音助理:
Rasa 可協助您建立能夠進行大量來回分層對話的上下文助理。為了讓人類能夠與情境助理進行有意義的交流,助理需要能夠使用情境來建構先前討論過的內容 - Rasa 使您能夠建立能夠以可擴展的方式完成此任務的助理。
這篇文章中有更多背景資訊。
?了解更多有關拉莎的信息
?閱讀文件
?安裝Rasa
深入學習中心
?貢獻
❓ 獲得企業級支持
?探索我們商業平台的功能
了解有關利用 Rasa 的研究論文的更多信息
Rasa 文檔中有大量文檔。確保選擇正確的版本,以便您查看所安裝版本的文件。
請使用 Rasa 社群論壇來快速解答問題。
我們很高興收到您的貢獻並將其合併到此存儲庫中!
若要透過拉取請求做出貢獻,請依照下列步驟操作:
有關如何貢獻程式碼的更詳細說明,請查看這些程式碼貢獻者指南。
您可以在我們的網站上找到有關如何為 Rasa 做出貢獻(以多種不同方式!)的更多資訊。
您的拉取請求將由維修人員審核,他將就任何必要的變更或問題回覆您。您還將被要求簽署貢獻者許可協議。
Rasa 使用 Poetry 進行打包和依賴管理。如果你想從原始碼建置它,你必須先安裝 Poetry。請按照官方指南查看所有可能的選項。
若要將現有詩歌版本更新為 rasa 目前使用的版本,請執行:
poetry self update < version >
官方的 Poetry 指南建議使用 pyenv 或任何其他類似的工具來輕鬆切換 Python 版本。可以這樣做:
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。現在您可以在本地更改文檔,網頁將自動重新加載並應用您的更改。
為了執行測試,請確保您已安裝開發要求:
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
中的合併衝突的解決方案。然而,有一個很棒的工具,叫做詩歌合併鎖。安裝方法如下:
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 年一次 |
次要的 | 當引入新的向後相容功能時,會引入次要功能,或推出一組較小的功能。 | +/- 季度 |
修補 | 用於修復不正確行為的向後相容錯誤修復。 | 根據需要 |
雖然此表代表了我們的目標發布頻率,但我們保留根據不斷變化的市場條件和技術要求對其進行修改的權利。
我們的生命週期終止政策定義了給定版本被視為受支援的時間,以及版本被視為仍處於活躍開發或維護狀態的時間。
每個版本的維護持續時間和生命週期結束都顯示在我們的網站上,作為產品發布和維護政策的一部分。
主要版本完成後,請按照以下說明完成文件更新。
發布新版本非常簡單,因為套件是由 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
)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
分支並推送標籤!注意:僅當發布的版本是可用的最高版本時才需要這樣做。例如,當 version > version on main 時執行以下步驟。
為了檢查新發布的 Rasa 版本與最新版本 Rasa X/Enterprise 之間的相容性,我們執行以下步驟:
請參閱 Rasa 產品發布和維護政策頁面。
根據 Apache 授權 2.0 版授權。版權所有 2022 Rasa Technologies GmbH。許可證副本。
項目依賴項的許可證清單可以在庫摘要的底部找到。