Introdução

Neste tutorial, você aprenderá a construir um assistente virtual chamado ‘Genie’ utilizando o framework Rasa, ideal para quem deseja desenvolver chatbots interativos com capacidade de processamento de linguagem natural. Exploraremos desde a instalação do Rasa até a implementação de um chatbot que pode se integrar com APIs de serviços externos. Você irá configurar os componentes de NLU (Natural Language Understanding) e diálogo do Rasa, criar um modelo de chatbot e integrar o assistente a APIs para fornecer respostas dinâmicas. Este guia abrange cada etapa do processo, facilitando a construção de assistentes virtuais personalizados e eficazes.

Etapas

  1. Instalação do Rasa

    Certifique-se de ter o Python 3.8 ou superior instalado em sua máquina. Para instalar o Rasa, utilize o gerenciador de pacotes pip. Execute o seguinte comando no terminal para instalar o Rasa e suas dependências:

    commands
    # Instalar o Rasa
    pip install rasa

  2. Criar um Novo Projeto Rasa

    Uma vez que o Rasa está instalado, você pode criar um novo projeto executando o comando abaixo. Isso criará a estrutura básica do projeto, incluindo caminhos para treinamento de NLU e diálogos.

    commands
    # Criar um novo projeto chamado 'genie'
    rasa init --no-prompt

  3. Treinamento do Modelo NLU

    Edite o arquivo `datalu.yml` para adicionar algumas intenções e exemplos de treinamento. Cada intenção deve ter exemplos para que o modelo aprenda a reconhecê-las:

    nlu.yml
    version: "3.0"
    -nlu:
    - saudacao
      - Oi
      - Olá
      - Bom dia
    - despedida
      - Tchau
      - Até logo
    - informacao_servico
      - Me fale sobre o serviço

  4. Definir Respostas do Assistente

    No arquivo `domain.yml`, defina as intenções, entidades e respostas que o assistente virtual fornecerá. Por exemplo, você pode adicionar uma resposta para o intent ‘informacao_servico’.

    domain.yml
    intents:
      - saudacao
      - despedida
      - informacao_servico
    
    responses:
      utter_saudacao:
        - text: "Olá! Como posso ajudar você hoje?"
      utter_despedida:
        - text: "Tchau! Até mais!"
      utter_informacao_servico:
        - text: "Nosso serviço oferece suporte 24/7 e atendemos diversas necessidades."

  5. Configurar Histórias de Diálogo

    As histórias ajudam o Rasa a entender como as intenções se conectam em uma conversa. Adicione algumas histórias no arquivo `data/stories.yml` para treinar o modelo sobre como responder às intenções.

    stories.yml
    version: "3.0"
    - story: saudacao
      steps:
      - intent: saudacao
      - action: utter_saudacao
    
    - story: informacao_servico
      steps:
      - intent: informacao_servico
      - action: utter_informacao_servico

  6. Treinar o Modelo Rasa

    Após definir as intenções, respostas e histórias, você deve treinar o modelo antes de iniciar o assistente. Execute o comando abaixo para treinar o modelo:

    commands
    # Treinar o modelo
    rasa train

  7. Testar o Assistente Virtual

    Após o treinamento, teste seu assistente virtual. Use o comando abaixo para iniciar a interface de linha de comando do Rasa e interagir com o assistente:

    commands
    # Iniciar o assistente para testes
    rasa shell

  8. Integração com APIs externas

    Para que o assistente se conecte a APIs externas, defina uma ação personalizada. Crie um arquivo Python para a ação no diretório `actions`. Aqui está um exemplo simples de como definir uma ação que retorna informações de uma API.

    actions.py
    from rasa_sdk import Action
    import requests
    
    class ActionInformacaoServico(Action):
        def name(self):
            return 'action_informacao_servico'
        
        def run(self, dispatcher, tracker, domain):
            response = requests.get('https://api.exemplo.com/servicos')
            dispatcher.utter_message(text=response.json()['descricao'])
            return []

  9. Executar a Ação Personalizada

    Adicione a ação personalizada ao seu fluxo de conversa no arquivo `domain.yml`, e faça referência a ela nas suas histórias. Com isso, quando o usuário solicitar informações sobre serviços, o Rasa poderá chamar a API.

    stories.yml
    - story: informacao_servico
      steps:
      - intent: informacao_servico
      - action: action_informacao_servico

  10. Verificar o Funcionamento do Chatbot

    Finalmente, execute o seguinte comando para iniciar o servidor de ações, que permite que seu chatbot chame as APIs integradas. Certifique-se de que o seu assistente virtual está funcionando conforme o esperado.

    commands
    # Executar servidor de ações
    rasa run actions

Conclusão

Neste tutorial, você aprendeu a construir um assistente virtual ‘Genie’ utilizando o framework Rasa. Desde a configuração inicial, passando pelo treinamento do modelo NLU e a definição de diálogos, até a integração com APIs de serviços. Agora você tem as ferramentas necessárias para desenvolver chatbots interativos personalizados, que podem responder a consultas e realizar ações sobre dados obtidos por meio de chamadas de API. A criação de assistentes virtuais pode trazer muitos benefícios, como melhorar o atendimento ao cliente e automatizar tarefas repetitivas.

Hashtags

#Rasa #Chatbot #AssistenteVirtual #NLU #APIs #DesenvolvimentoDeSoftware