---
title: Hospedagem de Servidores NLU
slug: helper-new/hospedagem-de-servidores-nlu
description: Learn how to host the Duckling service and Language Server in Botpress with this comprehensive guide. Discover step-by-step instructions for hosting Duckling on Linux, Mac, and Windows, and seamlessly configure your chatbot to utilize Duckling. Additional
createdAt: 2022-08-29T12:45:44.000Z
---

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.&#x20;

## 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 `.zip`disponí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.&#x20;

Por exemplo, se estiver no mesmo servidor que o Botpress (e se estiver usando a porta padrão de `8000`), será definido:

```javascript
{
  ...
  "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).


:::hint{type="info"}
🖊 <u>**Nota**</u>**:&#x20;**&#x4F; 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

1. Abra este arquivo de metadados: [https://botpress-public.nyc3.digitaloceanspaces.com/embeddings/index.json](https://botpress-public.nyc3.digitaloceanspaces.com/embeddings/index.json) .
2. 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`.
3. Depois que os arquivos forem baixados, coloque-os em algum lugar no sistema de arquivos do servidor e anote o caminho.
4. 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).

:::hint{type="info"}
🖊 <u>**Nota**</u>**:** 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:

1. Inicie o servidor de idiomas com `./bp lang`.
2. Em `data/global/config/nlu.json`, altere `languageSources.endpoint` para `http://localhost:3100`.
3. Reinicie o Botpress e abra a página Idiomas no Admin.
4. Instale os idiomas desejados que seu servidor deve suportar.
5. Reinicie o servidor de idiomas com parâmetros `./bp lang --readOnly`.

:::hint{type="info"}
🖊 <u>**Nota**</u>**:&#x20;**`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`.
:::
