Rasa Open Source
💡 Мы переносим проблемы в Jira 💡
С января 2023 года проблемы для Rasa Open Source находятся на этой доске Jira. Вы можете просматривать проблемы, не входя в систему; если вы хотите создавать проблемы, вам нужно создать учетную запись Jira.
Rasa — это открытый фреймворк машинного обучения для автоматизации текстовых и голосовых диалогов. С помощью Rasa вы можете создавать контекстных помощников:
или голосовых помощников:
Rasa помогает создавать контекстные помощники, способные вести многоуровневые диалоги с большим количеством обменов репликами. Чтобы человек мог вести осмысленный диалог с контекстным помощником, помощник должен уметь использовать контекст для развития тем, которые обсуждались ранее — Rasa позволяет создавать таких помощников в масштабируемом виде.
Более подробную информацию можно найти в этом блоге.
В документации Rasa есть обширная документация. Обязательно выберите правильную версию, чтобы вы смотрели документацию для установленной версии.
Для быстрых ответов на вопросы используйте форум сообщества Rasa.
Мы будем рады получить и объединить ваши вклады в этот репозиторий! Как внести свой вклад через запрос на включение изменений (pull request)
Создайте задачу, описывающую ошибку или улучшение, над которым вы хотите работать, или выберите существующую задачу в Jira (https://rasa-open-source.atlassian.net/jira/software/c/projects/OSS/boards/1).
Следуйте нашим рекомендациям по запросу на включение изменений: напишите код, протестируйте его, создайте документацию и следуйте нашему Кодексу стиля (#code-style).
Создайте запрос на включение ваших изменений.
Более подробные инструкции о том, как внести код, можно найти в руководстве для участников (CONTRIBUTING.md).
Дополнительную информацию о том, как участвовать в проекте Rasa (множеством разных способов!), можно найти на нашем веб-сайте (http://rasa.community).
Ваш запрос на включение будет рассмотрен сопровождающим, который свяжется с вами по поводу любых необходимых изменений или вопросов. Вас также попросят подписать Лицензионное соглашение участника (Contributor License Agreement) (https://cla-assistant.io/RasaHQ/rasa).
Внутренние разработки
Rasa использует Poetry для упаковки и управления зависимостями. Если вы хотите собрать его из исходного кода, вам необходимо сначала установить Poetry. Пожалуйста, следуйте официальному руководству (https://python-poetry.org/docs/#installation), чтобы увидеть все возможные варианты.
Чтобы обновить существующую версию поэзии до версии, используемой в настоящее время в rasa, выполните:
poetry self update <version>
Официальное руководство по Poetry (https://python-poetry.org/docs/managing-environments/) предлагает использовать pyenv (https://github.com/pyenv/pyenv) или любой другой аналогичный инструмент для простого переключения между версиями Python. Вот как это можно сделать:
pyenv install 3.10.10
pyenv local 3.10.10 # Активировать Python 3.10.10 для текущего проекта
Примечание: если у вас возникли проблемы с установкой определённой версии 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 (проблема подробно описана здесь (https://github.com/huggingface/tokenizers/issues/1050)).
Чтобы решить эту проблему, необходимо выполнить следующие шаги для установки компилятора 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 # Только в системах на основе Ubuntu и Debian
make prepare-tests-macos # Только на macOS
Затем запустите тесты:
make test
Они также могут быть... Процесс выпуска новой версии ПО
После того как версия была отправлена и пакет появляется на pypi, можно разрешить зависимости в репозитории rasa (см. ниже).
Если это незначительный или основной выпуск: убедитесь, что все исправления из текущих поддерживаемых минорных версий были объединены из соответствующих ветвей выпуска (например, 3.3.x) обратно в основную.
В случае незначительного выпуска создайте новую ветку, соответствующую новому выпуску, например:
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"
, но не отправляйте их. Они будут автоматически подобраны следующим шагом.Если это основной выпуск, обновите список активно поддерживаемых версий в README и в документации.
Запустите make release
.
Создайте PR против ветки выпуска (например, 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
GitHub создаст этот тег и опубликует артефакты сборки.
После завершения всех шагов и если всё пройдёт хорошо, мы должны увидеть сообщение, автоматически опубликованное в Slack компании (product
канал), подобное этому одному.
Если сообщение не появляется в канале, вы можете выполнить следующие проверки:
event: push
и branch: <номер версии>
(пример на выпуске 2.4 вы можете увидеть здесь).product
, проверьте также в канале product-engineering-alerts
, есть ли какие-либо оповещения, связанные с выпуском Rasa Open Source, подобные этому одному.Выпускать патчи проще, поскольку они предназначены только для исправления ошибок.
Единственное, что вам нужно сделать, чтобы выпустить патч:
Сообщите команде инженеров в Slack, что вы планируете выпустить патч, на случай, если у кого-то есть важное исправление, которое нужно добавить.
Убедитесь, что исправление(я) находится в ветви выпуска, которую вы будете использовать (например, если вы выпускаете патч 2.0.4
, ваши исправления должны быть в ветви выпуска 2.0.x
). Все патчи должны исходить из ветви .x
!
Как только вы будете готовы выпустить открытый патч Rasa, перейдите в эту ветку, запустите make release
и следуйте шагам + получите объединённый PR.
Как только PR будет получен, снова извлеките ветку .x
и отправьте тег!
Примечание: Это требуется только в том случае, если выпущенная версия является самой высокой доступной версией. Например, выполните следующие шаги, когда версия > версия на main.
Чтобы проверить совместимость между новой выпущенной версией Rasa и последней версией Rasa X/Enterprise, мы выполняем следующие действия:
После нового выпуска Rasa в автоматическом режиме создаётся запрос на вытягивание в... Раса Икс Демо (Rasa-X-Demo)
После объединения вышеуказанного PR следуйте инструкциям здесь, чтобы выпустить версию.
Обновите новую версию в файле среды Rasa X/Enterprise env file.
Проект Раса Икс Демо использует новую обновлённую версию Раса для обучения и тестирования модели, которая, в свою очередь, используется нашим CI для запуска тестов в репозитории Rasa X/Enterprise, таким образом проверяя совместимость между Раса и Rasa X/Enterprise.
Пожалуйста, обратитесь к странице Политика выпуска и поддержки продуктов Раса.
Лицензия Apache, версия 2.0. Авторское право 2022 Rasa Technologies GmbH. Копия лицензии.
Список лицензий зависимостей проекта можно найти внизу страницы Обзор библиотек.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )