Hospedagem de Servidores NLU
O Botpress se comunica com dois serviços para funcionar corretamente: Duckling e um Language Server. Se a instalação do Botpress não tiver acesso à Internet, você precisará hospedar esses serviços no local.
Ao seguir os diferentes métodos de hospedagem, procure uma seção sobre hospedagem local para obter mais detalhes.
Duckling
Usamos o Duckling para extrair entidades do sistema (hora, e-mail, moeda, etc). Este serviço é muito leve e requer recursos mínimos.
Hospedando o Duckling no Linux e Mac
Nesses dois sistemas operacionais, o Duckling deve ser compilado. Portanto, você precisará instalar as ferramentas de desenvolvimento de software e compilar a partir da fonte.
Siga as instruções na página GitHub do Duckling. Podemos fornecer alguns binários no futuro para sistemas operacionais comuns
Hospedando o Duckling no Windows
Se executar o Botpress no Windows, há um arquivo .zipdisponível aqui. Clique duas vezes em run-duckling.bat (o arquivo bat define a página de código do console como UTF-8 e, em seguida, roda o executável).
A pasta zoneinfo inclui os fusos horários Olson, que já estão disponíveis por padrão em outros sistemas operacionais.
Configurando seu Chatbot
Quando você tiver instalado com sucesso o binário duckling, edite o arquivo data/global/config/nlu.json e defina o parâmetro ducklingURL para onde executa o Duckling.
Por exemplo, se estiver no mesmo servidor que o Botpress (e se estiver usando a porta padrão de 8000), será definido:
{
...
"ducklingURL": "http://localhost:8000"
}Servidor de Idiomas
O Language Server é usado para fornecer os modelos de linguagem necessários para executar o NLU. A hospedagem de um servidor de idiomas consome bastante recursos devido aos tamanhos do modelo.
Para facilitar o início, a instalação padrão usa um servidor de idiomas hospedado pelo Botpress. Você pode trocá-lo pelo seu próprio (veja abaixo).
🖊 Nota: O servidor NLU não é igual ao servidor de idiomas e usa os modelos fornecidos pelo servidor de idiomas.
Por padrão, o Botpress configura o Language Server para obter 100 dimensões para palavras.
Caso planeje utilizar o Language Server em produção, é altamente recomendável definir as dimensões como 300 para obter um vocabulário melhor.
Dimensões | Uso de RAM | Uso de disco |
|---|---|---|
100 | cerca de 1,3 GB | cerca de 900 MB |
300 | cerca de 3,5 GB | cerca de 3 GB |
Instalando uma Biblioteca
- Abra este arquivo de metadados: https://botpress-public.nyc3.digitaloceanspaces.com/embeddings/index.json .
- Baixe os arquivos bpe e arquivos embeddings correspondentes aos seus idiomas. Por exemplo, para francês, baixe o arquivo bp.fr.bpe.model localizado abaixo de remoteUrl e o bp.fr.300.bin também localizado em remoteUrl.
- Depois que os arquivos forem baixados, coloque-os em algum lugar no sistema de arquivos do servidor e anote o caminho.
- Adicione o --offline e os argumentos --dim < number > ao seu comando ao iniciar o servidor de idiomas. ou seja ./bp lang --offline --dim --langDir <some_path>. Certifique-se de que o argumento de dimensão corresponda às dimensões dos modelos que você baixou, por exemplo, bp.en.300.bin (Observe que este comando deve ser executado em um diretório que contenha uma cópia funcional do binário do Botpress).
🖊 Nota: O modelo tem 300 dimensões. Mais dimensões significam que o tamanho do modelo é maior. É possível escolher um modelo mais leve se as especificações do seu servidor forem limitadas, mas lembre-se de que é necessário alterar o parâmetro --dim ao iniciar o Language Server (por exemplo ./bp lang --dim < number >).
Abreviação | Linguagem |
|---|---|
ar | Árabe |
en | Inglês |
fr | Francês |
ja | Japonês |
pt | Português |
ru | Russo |
de | Alemão |
es | Espanhol |
ele | Hebraico |
isto | Italiano |
nl | Holandês |
pl | Polonês |
Executando seu Servidor
O servidor de linguagem está embutido no Botpress e pode ser iniciado usando a linha de comando. Aqui estão as etapas para executá-lo e usá-lo com seu Botpress Server:
- Inicie o servidor de idiomas com ./bp lang.
- Em data/global/config/nlu.json, altere languageSources.endpoint para http://localhost:3100.
- Reinicie o Botpress e abra a página Idiomas no Admin.
- Instale os idiomas desejados que seu servidor deve suportar.
- Reinicie o servidor de idiomas com parâmetros ./bp lang --readOnly.
🖊 Nota: ReadOnly impede que qualquer pessoa adicione ou remova idiomas e só pode ser usado para buscar embeddings.
Existem parâmetros adicionais que podem ser configurados (por exemplo, para exigir autenticação); é possível vê-los digitando ./bp lang help.