Мы переносим задачи в Jira
С января 2023 года проблемы Rasa Open Source размещаются на этой доске Jira. Вы можете просматривать задачи, не входя в систему; если вы хотите создавать проблемы, вам необходимо создать учетную запись Jira.
Rasa — это платформа машинного обучения с открытым исходным кодом для автоматизации текстовых и голосовых разговоров. С Rasa вы можете создавать контекстных помощников на:
или голосовые помощники, такие как:
Rasa помогает вам создавать контекстных помощников, способных вести многоуровневые беседы с большим количеством двусторонних разговоров. Чтобы у человека был содержательный обмен информацией с контекстным помощником, помощник должен иметь возможность использовать контекст для построения вещей, которые обсуждались ранее — Rasa позволяет вам создавать помощников, которые могут делать это масштабируемым образом.
В этом сообщении блога гораздо больше справочной информации.
? Узнайте больше о Раса
? Прочтите документацию
? Установить Расу
Погрузитесь глубже в учебный центр
? Способствовать
❓ Получите поддержку корпоративного уровня
? Изучите возможности нашей коммерческой платформы
Узнайте больше об исследовательских работах, в которых используется Rasa.
В Rasa Docs имеется обширная документация. Обязательно выберите правильную версию, чтобы просмотреть документацию для установленной вами версии.
Пожалуйста, используйте форум сообщества 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]
— желаемое количество рабочих мест. Если этот параметр опущен, pytest автоматически выберет [n]
.
Чтобы запустить интеграционные тесты, убедитесь, что у вас установлены требования для разработки:
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.lock
по умолчанию. Однако есть отличный инструмент под названием «поэзия-слияние-блокировка». Вот как вы можете его установить:
pip install poetry-merge-lock
Просто выполните эту команду, чтобы автоматически разрешить конфликты слияния в poetry.lock
:
poetry-merge-lock
Чтобы создать образ Docker на вашем локальном компьютере, выполните следующую команду:
make build-docker
Образ Docker доступен на вашем локальном компьютере как rasa:localdev
.
Чтобы обеспечить стандартизированный стиль кода, мы используем форматтер черного цвета. Чтобы убедиться, что наши аннотации типов верны, мы используем средство проверки типов pytype. Если ваш код не отформатирован должным образом или не выполняется проверка типа, GitHub не сможет выполнить сборку.
Если вы хотите автоматически форматировать код при каждом коммите, вы можете использовать pre-commit. Просто установите его с помощью pip install pre-commit
и выполните pre-commit install
в корневой папке. Это добавит в репозиторий ловушку, которая переформатирует файлы при каждом коммите.
Если вы хотите настроить его вручную, установите черный через poetry install
. Чтобы переформатировать файлы, выполните
make formatter
Если вы хотите проверить типы в кодовой базе, установите mypy
с помощью poetry install
. Чтобы проверить типы, выполните
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
для второстепенных и патчей)rasa-sdk
в pyproject.toml
указав новую версию выпуска, и запустите 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
и нажмите на тег!Примечание. Это требуется только в том случае, если выпущенная версия является самой последней доступной версией. Например, выполните следующие шаги, если версия > версия в файле main.
Чтобы проверить совместимость новой выпущенной версии Rasa с последней версией Rasa X/Enterprise, мы выполняем следующие шаги:
Пожалуйста, обратитесь к странице «Политика выпуска и обслуживания продуктов Rasa».
Лицензия Apache, версия 2.0. Авторские права принадлежат Rasa Technologies GmbH, 2022 г. Копия лицензии.
Список лицензий зависимостей проекта можно найти в нижней части сводки библиотек.