Estamos migrando problemas a Jira
A partir de enero de 2023, las ediciones de Rasa Open Source se encuentran en este tablero de Jira. Puede explorar problemas sin iniciar sesión; Si desea crear problemas, deberá crear una cuenta de Jira.
Rasa es un marco de aprendizaje automático de código abierto para automatizar conversaciones basadas en texto y voz. Con Rasa, puedes crear asistentes contextuales en:
o asistentes de voz como:
Rasa te ayuda a crear asistentes contextuales capaces de tener conversaciones en capas con muchos intercambios. Para que un humano pueda tener un intercambio significativo con un asistente contextual, el asistente debe poder usar el contexto para aprovechar las cosas que se discutieron previamente; Rasa le permite crear asistentes que pueden hacer esto de manera escalable.
Hay mucha más información general en esta publicación de blog.
? Más información sobre Rasa
? Lea los documentos
? instalar rasa
Sumérgete más profundamente en el centro de aprendizaje
? Contribuir
❓ Obtenga soporte de nivel empresarial
? Explora las características de nuestra plataforma comercial
Obtenga más información sobre los artículos de investigación que aprovechan Rasa
Hay documentación extensa en Rasa Docs. Asegúrese de seleccionar la versión correcta para poder consultar los documentos de la versión que instaló.
Utilice el Foro de la comunidad Rasa para obtener respuestas rápidas a sus preguntas.
¡Estamos muy felices de recibir y fusionar sus contribuciones en este repositorio!
Para contribuir a través de una solicitud de extracción, siga estos pasos:
Para obtener instrucciones más detalladas sobre cómo contribuir con código, consulte estas pautas para contribuyentes de código.
Puede encontrar más información sobre cómo contribuir a Rasa (¡de muchas maneras diferentes!) en nuestro sitio web.
Su solicitud de extracción será revisada por un responsable de mantenimiento, quien se comunicará con usted sobre cualquier cambio o pregunta necesarios. También se le pedirá que firme un Acuerdo de licencia de colaborador.
Rasa utiliza Poetry para el empaquetado y la gestión de dependencias. Si desea compilarlo desde el código fuente, primero debe instalar Poetry. Siga la guía oficial para ver todas las opciones posibles.
Para actualizar una versión de poesía existente a la versión actualmente utilizada en rasa, ejecute:
poetry self update < version >
La guía oficial de Poetry sugiere usar pyenv o cualquier otra herramienta similar para cambiar fácilmente entre versiones de Python. Así es como se puede hacer:
pyenv install 3.10.10
pyenv local 3.10.10 # Activate Python 3.10.10 for the current project
Nota : Si tiene problemas para instalar una versión específica de Python en su sistema, puede que valga la pena probar otras versiones compatibles.
De forma predeterminada, Poetry intentará utilizar la versión de Python actualmente activada para crear automáticamente el entorno virtual para el proyecto actual. También puedes crear y activar un entorno virtual manualmente; en este caso, Poetry debería elegirlo y usarlo para instalar las dependencias. Por ejemplo:
python -m venv .venv
source .venv/bin/activate
Puede asegurarse de que el entorno se recoja ejecutando
poetry env info
Para instalar dependencias y el propio rasa
en modo editable ejecute
make install
Nota para usuarios de macOS : en macOS Big Sur hemos visto algunos problemas del compilador para las dependencias. Usar export SYSTEM_VERSION_COMPAT=1
antes de la instalación ayudó.
Para instalar las dependencias opcionales de rasa, necesita ejecutar:
make install-full
Nota para usuarios de macOS : el comando make install-full
podría provocar un error al instalar tokenizers
(el problema se describe detalladamente aquí).
Para poder solucionarlo, debes seguir estos pasos para instalar un compilador de Rust:
brew install rustup
rustup-init
Después de inicializar el compilador de Rust, debes reiniciar la consola y verificar su instalación:
rustc --version
En caso de que la variable PATH no se haya configurado automáticamente, ejecute:
export PATH= " $HOME /.cargo/bin: $PATH "
Primero que nada, instale todas las dependencias requeridas:
make install install-docs
Una vez finalizada la instalación, puede ejecutar y ver la documentación localmente usando:
make livedocs
Debería abrir una nueva pestaña con la versión local de los documentos en su navegador; de lo contrario, visite http://localhost:3000 en su navegador. Ahora puede cambiar los documentos localmente y la página web se recargará automáticamente y aplicará sus cambios.
Para ejecutar las pruebas, asegúrese de tener instalados los requisitos de desarrollo:
make prepare-tests-ubuntu # Only on Ubuntu and Debian based systems
make prepare-tests-macos # Only on macOS
Luego, ejecuta las pruebas:
make test
También se pueden ejecutar en varios trabajos para ahorrar algo de tiempo:
JOBS=[n] make test
Donde [n]
es el número de trabajos deseados. Si se omite, pytest elegirá automáticamente [n]
.
Para ejecutar las pruebas de integración, asegúrese de tener instalados los requisitos de desarrollo:
make prepare-tests-ubuntu # Only on Ubuntu and Debian based systems
make prepare-tests-macos # Only on macOS
Luego, deberá iniciar los servicios con el siguiente comando que utiliza Docker Compose:
make run-integration-containers
Finalmente, puedes ejecutar las pruebas de integración de esta manera:
make test-integration
Poetry no incluye ninguna solución que pueda ayudar a resolver conflictos de fusión en el archivo de bloqueo poetry.lock
de forma predeterminada. Sin embargo, existe una gran herramienta llamada poesía-merge-lock. Así es como puedes instalarlo:
pip install poetry-merge-lock
Simplemente ejecute este comando para resolver conflictos de fusión en poetry.lock
automáticamente:
poetry-merge-lock
Para crear una imagen de Docker en su máquina local, ejecute el siguiente comando:
make build-docker
La imagen de Docker está disponible en su máquina local como rasa:localdev
.
Para garantizar un estilo de código estandarizado utilizamos el formateador negro. Para garantizar que nuestras anotaciones de tipo sean correctas, utilizamos el verificador de tipo pytype. Si su código no tiene el formato adecuado o no escribe la verificación, GitHub no podrá compilarse.
Si desea formatear automáticamente su código en cada confirmación, puede utilizar la confirmación previa. Simplemente instálelo mediante pip install pre-commit
y ejecute pre-commit install
en la carpeta raíz. Esto agregará un enlace al repositorio, que reformatea los archivos en cada confirmación.
Si desea configurarlo manualmente, instale black mediante poetry install
. Para reformatear archivos ejecute
make formatter
Si desea verificar los tipos en el código base, instale mypy
usando poetry install
. Para comprobar los tipos ejecutar
make types
Usamos Docusaurus v2
para crear documentos para versiones etiquetadas y para la rama main
. Para ejecutar Docusaurus, instale Node.js 12.x
El sitio estático que se crea se envía a la rama documentation
de este repositorio.
Alojamos el sitio en netlify. En las compilaciones de la rama main
(consulte .github/workflows/documentation.yml
), enviamos los documentos creados a la rama documentation
. Netlify vuelve a implementar automáticamente las páginas de documentos cada vez que hay un cambio en esa rama.
Rasa ha implementado políticas sólidas que rigen la denominación de versiones, así como el ritmo de lanzamiento de versiones principales, menores y de parches.
Los valores para un número de versión determinado (MAJOR.MINOR.PATCH) se incrementan de la siguiente manera:
La siguiente tabla describe los tipos de versión y su cadencia de lanzamiento esperada:
Tipo de versión | Descripción | Cadencia objetivo |
---|---|---|
Importante | Para cambios significativos, o cuando se introducen cambios incompatibles con versiones anteriores en la API o el modelo de datos. | Cada 1 o 2 años |
Menor | Cuando se introduce una nueva funcionalidad compatible con versiones anteriores, se introduce una característica menor o cuando se implementa un conjunto de características más pequeñas. | +/- Trimestral |
Parche | Para correcciones de errores compatibles con versiones anteriores que solucionan comportamientos incorrectos. | Según sea necesario |
Si bien esta tabla representa nuestra frecuencia de lanzamiento objetivo, nos reservamos el derecho de modificarla según las condiciones cambiantes del mercado y los requisitos técnicos.
Nuestra política de fin de vida útil define durante cuánto tiempo se considera compatible una versión determinada, así como durante cuánto tiempo se considera que una versión aún está en desarrollo o mantenimiento activo.
La duración del mantenimiento y el final de la vida útil de cada versión se muestran en nuestro sitio web como parte de la Política de lanzamiento y mantenimiento del producto.
Una vez completada una versión principal, siga estas instrucciones para completar la actualización de la documentación.
Lanzar una nueva versión es bastante simple, ya que los paquetes son creados y distribuidos por GitHub Actions.
Pasos de liberación :
git checkout -b 1.2.x
git push origin 1.2.x
main
en el caso de una rama mayor, la rama <major>.<minor>.x
para menores y parches)rasa-sdk
en pyproject.toml
con la nueva versión y ejecute poetry update
. Esto crea un nuevo archivo poetry.lock
con todas las dependencias resueltas.git commit -am "bump rasa-sdk dependency"
pero no los presione. Serán recogidos automáticamente en el siguiente paso.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 la empresa como este.event: push
y branch: <version number>
(puede ver un ejemplo en la versión 2.4 aquí)product
, verifique también en el canal product-engineering-alerts
si hay alertas relacionadas con la versión de Rasa Open Source como esta.Los lanzamientos de parches son más sencillos de eliminar, ya que están destinados a contener solo correcciones de errores.
Lo único que debe hacer para cancelar el lanzamiento de un parche es:
2.0.4
, necesitará que las correcciones estén en la rama de versión 2.0.x
). ¡Todos los lanzamientos de parches deben provenir de una rama .x
!make release
y siga los pasos + fusione el PR..x
y presione la etiqueta.Nota: Esto solo es necesario si la versión publicada es la versión más alta disponible. Por ejemplo, realice los siguientes pasos cuando versión > versión en main.
Para verificar la compatibilidad entre la nueva versión lanzada de Rasa y la última versión de Rasa X/Enterprise, realizamos los siguientes pasos:
Consulte la página Política de lanzamiento y mantenimiento de productos Rasa.
Licenciado bajo la Licencia Apache, Versión 2.0. Copyright 2022 Rasa Technologies GmbH. Copia de la licencia.
Se puede encontrar una lista de las Licencias de las dependencias del proyecto en la parte inferior del Resumen de Bibliotecas.