Estamos migrando problemas para o Jira
A partir de janeiro de 2023, os problemas do Rasa Open Source estão localizados neste quadro do Jira. Você pode navegar pelos problemas sem estar logado; se quiser criar problemas, você precisará criar uma conta do Jira.
Rasa é uma estrutura de aprendizado de máquina de código aberto para automatizar conversas baseadas em texto e voz. Com o Rasa, você pode criar assistentes contextuais em:
ou assistentes de voz como:
Rasa ajuda você a construir assistentes contextuais capazes de ter conversas em camadas com muitas idas e vindas. Para que um ser humano tenha uma troca significativa com um assistente contextual, o assistente precisa ser capaz de usar o contexto para desenvolver coisas que foram discutidas anteriormente – o Rasa permite que você crie assistentes que possam fazer isso de forma escalável.
Há muito mais informações básicas nesta postagem do blog.
? Saiba mais sobre Rasa
? Leia os documentos
? Instalar Rasa
Mergulhe mais fundo no centro de aprendizagem
? Contribuir
❓ Obtenha suporte de nível empresarial
? Explore as funcionalidades da nossa plataforma comercial
Saiba mais sobre artigos de pesquisa que aproveitam o Rasa
Há uma extensa documentação no Rasa Docs. Certifique-se de selecionar a versão correta para consultar a documentação da versão instalada.
Use o Fórum da Comunidade Rasa para respostas rápidas às perguntas.
Estamos muito felizes em receber e mesclar suas contribuições neste repositório!
Para contribuir via pull request, siga estas etapas:
Para obter instruções mais detalhadas sobre como contribuir com código, confira estas diretrizes para contribuidores de código.
Você pode encontrar mais informações sobre como contribuir para o Rasa (de muitas maneiras diferentes!) em nosso site.
Sua solicitação pull será revisada por um mantenedor, que entrará em contato com você sobre quaisquer alterações ou dúvidas necessárias. Você também será solicitado a assinar um Contrato de Licença de Colaborador.
Rasa usa Poetry para empacotamento e gerenciamento de dependências. Se você quiser construí-lo a partir do código-fonte, você deve primeiro instalar o Poetry. Siga o guia oficial para ver todas as opções possíveis.
Para atualizar uma versão de poesia existente para a versão atualmente usada em rasa, execute:
poetry self update < version >
O guia oficial de poesia sugere o uso de pyenv ou qualquer outra ferramenta semelhante para alternar facilmente entre as versões do Python. É assim que isso pode ser feito:
pyenv install 3.10.10
pyenv local 3.10.10 # Activate Python 3.10.10 for the current project
Nota : Se você tiver problemas para instalar uma versão específica do python em seu sistema, pode valer a pena tentar outras versões suportadas.
Por padrão, o Poetry tentará usar a versão Python atualmente ativada para criar automaticamente o ambiente virtual para o projeto atual. Você também pode criar e ativar um ambiente virtual manualmente — neste caso, o Poetry deve pegá-lo e utilizá-lo para instalar as dependências. Por exemplo:
python -m venv .venv
source .venv/bin/activate
Você pode ter certeza de que o ambiente foi selecionado executando
poetry env info
Para instalar dependências e o próprio rasa
em modo editável, execute
make install
Nota para usuários do macOS : no macOS Big Sur, vimos alguns problemas de compilador para dependências. Usar export SYSTEM_VERSION_COMPAT=1
antes da instalação ajudou.
Para instalar as dependências opcionais do rasa, você precisa executar:
make install-full
Nota para usuários do macOS : O comando make install-full
pode resultar em falha durante a instalação tokenizers
(problema descrito em detalhes aqui).
Para resolver isso, você deve seguir estas etapas para instalar um compilador Rust:
brew install rustup
rustup-init
Após inicializar o compilador Rust, você deve reiniciar o console e verificar sua instalação:
rustc --version
Caso a variável PATH não tenha sido configurada automaticamente, execute:
export PATH= " $HOME /.cargo/bin: $PATH "
Primeiro de tudo, instale todas as dependências necessárias:
make install install-docs
Após a conclusão da instalação, você poderá executar e visualizar a documentação localmente usando:
make livedocs
Deverá abrir uma nova aba com a versão local dos documentos em seu navegador; caso contrário, visite http://localhost:3000 no seu navegador. Agora você pode alterar os documentos localmente e a página da web será recarregada automaticamente e aplicará suas alterações.
Para executar os testes, certifique-se de ter os requisitos de desenvolvimento instalados:
make prepare-tests-ubuntu # Only on Ubuntu and Debian based systems
make prepare-tests-macos # Only on macOS
Em seguida, execute os testes:
make test
Eles também podem ser executados em vários trabalhos para economizar tempo:
JOBS=[n] make test
Onde [n]
é o número de empregos desejados. Se omitido, [n]
será escolhido automaticamente pelo pytest.
Para executar os testes de integração, certifique-se de ter os requisitos de desenvolvimento instalados:
make prepare-tests-ubuntu # Only on Ubuntu and Debian based systems
make prepare-tests-macos # Only on macOS
Em seguida, você precisará iniciar os serviços com o seguinte comando que usa o Docker Compose:
make run-integration-containers
Finalmente, você pode executar os testes de integração assim:
make test-integration
Poesia não inclui nenhuma solução que possa ajudar a resolver conflitos de mesclagem no arquivo de bloqueio poetry.lock
por padrão. No entanto, existe uma ótima ferramenta chamada poesia-merge-lock. Veja como você pode instalá-lo:
pip install poetry-merge-lock
Basta executar este comando para resolver conflitos de mesclagem em poetry.lock
automaticamente:
poetry-merge-lock
Para construir uma imagem Docker em sua máquina local, execute o seguinte comando:
make build-docker
A imagem Docker está disponível em sua máquina local como rasa:localdev
.
Para garantir um estilo de código padronizado usamos o formatador preto. Para garantir que nossas anotações de tipo estejam corretas, usamos o verificador de tipo pytype. Se o seu código não estiver formatado corretamente ou não digitar check, o GitHub falhará na compilação.
Se quiser formatar automaticamente seu código em cada commit, você pode usar o pré-commit. Basta instalá-lo via pip install pre-commit
e executar pre-commit install
na pasta raiz. Isso adicionará um gancho ao repositório, que reformata os arquivos a cada commit.
Se você quiser configurá-lo manualmente, instale o black por meio poetry install
. Para reformatar arquivos, execute
make formatter
Se você quiser verificar os tipos na base de código, instale mypy
usando poetry install
. Para verificar os tipos execute
make types
Usamos Docusaurus v2
para construir documentos para versões marcadas e para o branch main
. Para executar o Docusaurus, instale Node.js 12.x
. O site estático criado é enviado para o branch documentation
deste repositório.
Hospedamos o site no netlify. Nas compilações do branch main
(consulte .github/workflows/documentation.yml
), enviamos os documentos criados para o branch documentation
. O Netlify reimplanta automaticamente as páginas de documentos sempre que há uma alteração nessa ramificação.
Rasa implementou políticas robustas que regem a nomenclatura de versões, bem como o ritmo de lançamento para versões principais, secundárias e de patch.
Os valores para um determinado número de versão (MAJOR.MINOR.PATCH) são incrementados da seguinte forma:
A tabela a seguir descreve os tipos de versão e sua cadência de lançamento esperada:
Tipo de versão | Descrição | Cadência Alvo |
---|---|---|
Principal | Para alterações significativas ou quando quaisquer alterações incompatíveis com versões anteriores são introduzidas na API ou no modelo de dados. | A cada 1 - 2 anos |
Menor | Pois quando uma nova funcionalidade compatível com versões anteriores é introduzida, um recurso menor é introduzido ou quando um conjunto de recursos menores é lançado. | +/- Trimestralmente |
Correção | Para correções de bugs compatíveis com versões anteriores que corrigem comportamento incorreto. | Conforme necessário |
Embora esta tabela represente a nossa frequência de lançamento alvo, reservamo-nos o direito de modificá-la com base nas mudanças nas condições do mercado e nos requisitos técnicos.
Nossa política de fim de vida define por quanto tempo uma determinada versão é considerada suportada, bem como por quanto tempo uma versão é considerada ainda em desenvolvimento ou manutenção ativa.
A duração da manutenção e o fim da vida útil de cada versão são mostrados em nosso site como parte da Política de Liberação e Manutenção do Produto.
Após a conclusão de uma versão principal, siga estas instruções para concluir a atualização da documentação.
Lançar uma nova versão é bastante simples, pois os pacotes são compilados e distribuídos pelo GitHub Actions.
Etapas de liberação :
git checkout -b 1.2.x
git push origin 1.2.x
main
no caso de um major, o branch <major>.<minor>.x
para secundários e patches)rasa-sdk
em pyproject.toml
com a nova versão e execute poetry update
. Isso cria um novo arquivo poetry.lock
com todas as dependências resolvidas.git commit -am "bump rasa-sdk dependency"
mas não as empurre. Eles serão coletados automaticamente na etapa seguinte.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
) como estaevent: push
e branch: <version number>
(exemplo na versão 2.4 você pode ver aqui)product
, verifique também no canal product-engineering-alerts
se há algum alerta relacionado ao lançamento do Rasa Open Source como esteAs versões de patch são mais simples de cortar, pois devem conter apenas correções de bugs.
As únicas coisas que você precisa fazer para cortar o lançamento de um patch são:
2.0.4
, precisará que suas correções estejam no branch de lançamento 2.0.x
). Todos os lançamentos de patch devem vir de uma ramificação .x
!make release
e siga as etapas + faça a fusão do PR..x
novamente e empurre a tag!Nota: Isso só será necessário se a versão lançada for a versão mais recente disponível. Por exemplo, execute as seguintes etapas quando version > version no main.
Para verificar a compatibilidade entre a nova versão lançada do Rasa e a versão mais recente do Rasa X/Enterprise, realizamos as seguintes etapas:
Consulte a página da Política de Liberação e Manutenção de Produtos Rasa.
Licenciado sob a Licença Apache, Versão 2.0. Direitos autorais 2022 Rasa Technologies GmbH. Cópia da licença.
Uma lista das Licenças das dependências do projeto pode ser encontrada na parte inferior do Resumo das Bibliotecas.