Nous migrons les tickets vers Jira
Depuis janvier 2023, les problèmes de Rasa Open Source se trouvent sur ce tableau Jira. Vous pouvez parcourir les problèmes sans être connecté ; si vous souhaitez créer des tickets, vous devrez créer un compte Jira.
Rasa est un framework d'apprentissage automatique open source pour automatiser les conversations textuelles et vocales. Avec Rasa, vous pouvez créer des assistants contextuels sur :
ou des assistants vocaux comme :
Rasa vous aide à créer des assistants contextuels capables d'avoir des conversations à plusieurs niveaux avec de nombreux allers-retours. Pour qu'un humain puisse avoir un échange significatif avec un assistant contextuel, celui-ci doit être capable d'utiliser le contexte pour s'appuyer sur des éléments discutés précédemment. Rasa vous permet de créer des assistants capables de le faire de manière évolutive.
Il y a beaucoup plus d'informations générales dans ce billet de blog.
? En savoir plus sur Rasa
? Lire les documents
? Installer Rasa
Plongez plus profondément dans le centre d'apprentissage
? Contribuer
❓ Bénéficiez d'une assistance de niveau entreprise
? Découvrez les fonctionnalités de notre plateforme commerciale
En savoir plus sur les articles de recherche qui exploitent Rasa
Il existe une documentation complète dans Rasa Docs. Assurez-vous de sélectionner la bonne version afin de consulter la documentation de la version que vous avez installée.
Veuillez utiliser le forum communautaire Rasa pour obtenir des réponses rapides aux questions.
Nous sommes très heureux de recevoir et de fusionner vos contributions dans ce référentiel !
Pour contribuer via une pull request, suivez ces étapes :
Pour des instructions plus détaillées sur la façon de contribuer au code, consultez ces directives pour les contributeurs de code.
Vous pouvez trouver plus d’informations sur la manière de contribuer à Rasa (de nombreuses manières différentes !) sur notre site Web.
Votre pull request sera examinée par un responsable, qui vous répondra pour toute modification ou question nécessaire. Il vous sera également demandé de signer un contrat de licence de contributeur.
Rasa utilise Poetry pour le packaging et la gestion des dépendances. Si vous souhaitez le construire à partir des sources, vous devez d'abord installer Poetry. Veuillez suivre le guide officiel pour voir toutes les options possibles.
Pour mettre à jour une version de poésie existante vers la version actuellement utilisée dans rasa, exécutez :
poetry self update < version >
Le guide officiel de la poésie suggère d'utiliser pyenv ou tout autre outil similaire pour basculer facilement entre les versions de Python. Voici comment procéder :
pyenv install 3.10.10
pyenv local 3.10.10 # Activate Python 3.10.10 for the current project
Remarque : Si vous rencontrez des difficultés pour installer une version spécifique de Python sur votre système, cela vaut peut-être la peine d'essayer d'autres versions prises en charge.
Par défaut, Poetry essaiera d'utiliser la version Python actuellement activée pour créer automatiquement l'environnement virtuel pour le projet en cours. Vous pouvez également créer et activer un environnement virtuel manuellement — dans ce cas, Poetry doit le récupérer et l'utiliser pour installer les dépendances. Par exemple:
python -m venv .venv
source .venv/bin/activate
Vous pouvez vous assurer que l'environnement est récupéré en exécutant
poetry env info
Pour installer les dépendances et rasa
lui-même en mode modifiable, exécutez
make install
Note pour les utilisateurs de macOS : sous macOS Big Sur, nous avons constaté des problèmes de compilation pour les dépendances. L'utilisation export SYSTEM_VERSION_COMPAT=1
avant l'installation a aidé.
Afin d'installer les dépendances facultatives de rasa, vous devez exécuter :
make install-full
Note pour les utilisateurs de macOS : La commande make install-full
pourrait entraîner un échec lors de l'installation tokenizers
(problème décrit en détail ici).
Afin de le résoudre, vous devez suivre ces étapes pour installer un compilateur Rust :
brew install rustup
rustup-init
Après avoir initialisé le compilateur Rust, vous devez redémarrer la console et vérifier son installation :
rustc --version
Si la variable PATH n'a pas été automatiquement configurée, exécutez :
export PATH= " $HOME /.cargo/bin: $PATH "
Tout d'abord, installez toutes les dépendances requises :
make install install-docs
Une fois l'installation terminée, vous pouvez exécuter et afficher la documentation localement en utilisant :
make livedocs
Il devrait ouvrir un nouvel onglet avec la version locale de la documentation dans votre navigateur ; sinon, visitez http://localhost:3000 dans votre navigateur. Vous pouvez maintenant modifier les documents localement et la page Web se rechargera automatiquement et appliquera vos modifications.
Afin d'exécuter les tests, assurez-vous que les exigences de développement sont installées :
make prepare-tests-ubuntu # Only on Ubuntu and Debian based systems
make prepare-tests-macos # Only on macOS
Ensuite, lancez les tests :
make test
Ils peuvent également être exécutés sur plusieurs tâches pour gagner du temps :
JOBS=[n] make test
Où [n]
est le nombre d'emplois souhaités. S'il est omis, [n]
sera automatiquement choisi par pytest.
Afin d'exécuter les tests d'intégration, assurez-vous que les exigences de développement sont installées :
make prepare-tests-ubuntu # Only on Ubuntu and Debian based systems
make prepare-tests-macos # Only on macOS
Ensuite, vous devrez démarrer les services avec la commande suivante qui utilise Docker Compose :
make run-integration-containers
Enfin, vous pouvez exécuter les tests d'intégration comme ceci :
make test-integration
Poetry n'inclut aucune solution pouvant aider à résoudre les conflits de fusion dans le fichier de verrouillage poetry.lock
par défaut. Cependant, il existe un excellent outil appelé poésie-merge-lock. Voici comment l'installer :
pip install poetry-merge-lock
Exécutez simplement cette commande pour résoudre automatiquement les conflits de fusion dans poetry.lock
:
poetry-merge-lock
Afin de créer une image Docker sur votre machine locale, exécutez la commande suivante :
make build-docker
L'image Docker est disponible sur votre ordinateur local sous le nom rasa:localdev
.
Pour garantir un style de code standardisé, nous utilisons le formateur noir. Pour garantir que nos annotations de type sont correctes, nous utilisons le vérificateur de type pytype. Si votre code n’est pas formaté correctement ou ne tape pas check, la construction de GitHub échouera.
Si vous souhaitez formater automatiquement votre code à chaque validation, vous pouvez utiliser le pré-commit. Installez-le simplement via pip install pre-commit
et exécutez pre-commit install
dans le dossier racine. Cela ajoutera un hook au référentiel, qui reformatera les fichiers à chaque validation.
Si vous souhaitez le configurer manuellement, installez black via poetry install
. Pour reformater des fichiers, exécutez
make formatter
Si vous souhaitez vérifier les types sur la base de code, installez mypy
en utilisant poetry install
. Pour vérifier les types, exécutez
make types
Nous utilisons Docusaurus v2
pour créer des documents pour les versions balisées et pour la branche main
. Pour exécuter Docusaurus, installez Node.js 12.x
. Le site statique qui est construit est poussé vers la branche documentation
de ce dépôt.
Nous hébergeons le site sur netlify. Sur les builds de la branche main
(voir .github/workflows/documentation.yml
), nous transférons les documents construits vers la branche documentation
. Netlify redéploye automatiquement les pages de documentation chaque fois qu'une modification est apportée à cette branche.
Rasa a mis en œuvre des politiques robustes régissant la dénomination des versions, ainsi que le rythme de publication des versions majeures, mineures et des correctifs.
Les valeurs pour un numéro de version donné (MAJOR.MINOR.PATCH) sont incrémentées comme suit :
Le tableau suivant décrit les types de versions et leur cadence de publication attendue :
Type de version | Description | Cadence cible |
---|---|---|
Majeur | Pour des modifications importantes ou lorsque des modifications rétrocompatibles sont introduites dans l’API ou le modèle de données. | Tous les 1 à 2 ans |
Mineure | En effet, lorsqu'une nouvelle fonctionnalité rétrocompatible est introduite, une fonctionnalité mineure est introduite ou lorsqu'un ensemble de fonctionnalités plus petites est déployé. | +/- Trimestriel |
Correctif | Pour les corrections de bogues rétrocompatibles qui corrigent un comportement incorrect. | Au besoin |
Bien que ce tableau représente notre fréquence de sortie cible, nous nous réservons le droit de le modifier en fonction de l'évolution des conditions du marché et des exigences techniques.
Notre politique de fin de vie définit la durée pendant laquelle une version donnée est considérée comme prise en charge, ainsi que la durée pendant laquelle une version est considérée comme étant encore en développement ou en maintenance active.
La durée de maintenance et la fin de vie de chaque version sont indiquées sur notre site Web dans le cadre de la politique de publication et de maintenance du produit.
Une fois une version majeure terminée, veuillez suivre ces instructions pour terminer la mise à jour de la documentation.
Publier une nouvelle version est assez simple, car les packages sont construits et distribués par GitHub Actions.
Étapes de publication :
git checkout -b 1.2.x
git push origin 1.2.x
main
en cas de version majeure, la branche <major>.<minor>.x
pour les mineurs et les correctifs)rasa-sdk
dans pyproject.toml
avec la nouvelle version et exécutez poetry update
. Cela crée un nouveau fichier poetry.lock
avec toutes les dépendances résolues.git commit -am "bump rasa-sdk dependency"
mais ne les poussez pas. Ils seront automatiquement récupérés à l'étape suivante.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
) de l'entreprise comme celui-ci.event: push
et branch: <version number>
(exemple sur la version 2.4 que vous pouvez voir ici)product
, vérifiez également dans le canal product-engineering-alerts
s'il existe des alertes liées à la version Rasa Open Source comme celle-ci.Les versions de correctifs sont plus simples à supprimer, car elles sont censées contenir uniquement des corrections de bugs.
Les seules choses que vous devez faire pour supprimer une version de correctif sont :
2.0.4
, vous aurez besoin que vos correctifs soient sur la branche de version 2.0.x
). Toutes les versions de correctifs doivent provenir d’une branche .x
!make release
et suivez les étapes + fusionnez le PR..x
et poussez la balise !Remarque : Ceci n'est requis que si la version publiée est la version la plus élevée disponible. Par exemple, effectuez les étapes suivantes lorsque version > version sur main.
Afin de vérifier la compatibilité entre la nouvelle version de Rasa et la dernière version de Rasa X/Enterprise, nous effectuons les étapes suivantes :
Veuillez vous référer à la page Politique de publication et de maintenance des produits Rasa.
Sous licence Apache, version 2.0. Copyright 2022 Rasa Technologies GmbH. Copie de la licence.
Une liste des licences des dépendances du projet se trouve au bas du résumé des bibliothèques.