Implementação do Tradutor AI do Azure em Contêineres

O Azure AI Translator é um serviço de tradução automática neural baseado na nuvem, parte da família de serviços de IA do Azure, compatível com diversos sistemas operacionais. Ele oferece tradução de texto e documentos, além da capacidade de criar modelos personalizados. Sua flexibilidade de implantação, suporte a diversos idiomas e otimização de custos o tornam uma ferramenta valiosa para empresas que buscam soluções de tradução eficientes.

Funcionalidades do Azure AI Translator

O Azure AI Translator oferece diversas funcionalidades para atender às diferentes necessidades de tradução:

  • Tradução de Texto: Realize traduções de texto em tempo real entre os idiomas de origem e destino suportados. Crie um dicionário dinâmico e aprenda a evitar traduções indesejadas usando a Translator API.
  • Tradução de Documentos:
    • Tradução Assíncrona em Lote: Traduza arquivos complexos e em lote, preservando a estrutura e o formato dos documentos originais. Esse processo requer uma conta de armazenamento Azure Blob com containers para os documentos de origem e traduzidos.
    • Tradução Síncrona de Arquivo Único: Traduza um único arquivo, com ou sem um glossário, mantendo a estrutura e o formato originais. Esse processo não exige uma conta de armazenamento Azure Blob. A resposta final contém o documento traduzido e é enviada diretamente ao cliente.
  • Custom Translator: Construa modelos personalizados para traduzir terminologia, estilo e linguagem específicos de domínios e indústrias. Crie um dicionário (frase ou sentença) para traduções personalizadas.

Suporte a Idiomas

Os serviços de Azure AI Translator suportam mais de 100 idiomas em todo o mundo. A lista completa de idiomas suportados está disponível na documentação oficial.

Por que usar o Azure AI Translator em containers?

Implantar o Azure AI Translator em containers oferece diversas vantagens:

  • Implantação Flexível: Execute o serviço de tradução em qualquer lugar – no seu próprio data center, em dispositivos locais ou em nuvens privadas onde os dados precisam permanecer confidenciais. Isso é ideal para setores com regulamentações rigorosas, como saúde ou finanças.
  • Baixa Latência: Evite atrasos realizando as traduções diretamente no local, em vez de enviar os dados para a nuvem.
  • Suporte Offline: Utilize o serviço em locais com acesso limitado ou inexistente à internet, como fábricas, navios ou dispositivos inteligentes.
  • Otimização de Custos: Reduza os custos para grandes volumes de trabalho executando o serviço internamente, em vez de pagar pelo uso da nuvem.
  • Fácil de Dimensionar: Aumente ou diminua a capacidade do serviço de tradução facilmente usando ferramentas de orquestração de containers como o Kubernetes.

Pré-requisitos

Antes de começar, certifique-se de ter os seguintes requisitos:

  1. Assinatura do Azure:
    • Inscreva-se no Portal do Azure.
    • Encontre os serviços de IA do Azure e selecione Translator.
    • Clique em Criar, selecione Create Translator e configure o nível de preço (selecione F0 para teste).
  2. Chave de API e Endpoint:
    • Após a criação dos recursos, vá para Keys and Endpoint no Portal do Azure.
    • Copie a chave (ex: xt32qsRRVk9SEyoX327KUHFRBIFNd9HF0iMLLpZ5qz2zjmRKVOI7bJQQJ99BCACYeBjFXJ3w3AAAdGcA32C) e a URL do Endpoint (ex: https://<resource-name>.cognitiveservices.azure.com).
  3. Ambiente Docker:
    • Instale o Docker Desktop ou instale usando a CLI no Linux:
    • curl -fsSL https://get.docker.com -o install-docker.sh
    • chmod +x install-docker.sh
    • sudo sh install-docker.sh
  4. Ferramentas de Linha de Comando:
    • Terminal (Linux/macOS ou PowerShell/Prompt de Comando (Windows)).
    • curl ou Postman para testar as APIs.

Passo 1 – Preparar a Imagem do Container do Azure AI Translator

Abra o VS Code, crie um diretório e abra o terminal. Cole o seguinte comando para baixar o container do registro da Microsoft:

docker pull mcr.microsoft.com/azure-cognitive-services/translator/text-translation:latestdocker pull mcr.microsoft.com/azure-cognitive-services/translator/text-translation:latest

Certifique-se de que o Docker Desktop esteja em execução.

Passo 2 – Executar o Container do AI Translator

Crie um arquivo .env e cole a Chave da API e o Endpoint:

API_KEY=xt32qsRRVk9SEyoX327KUHFRBIFNd9HF0iMLLpZ5qz2zjmRKVOI7bJQQJ99BCACYeBjFXJ3w3AAAdGcA32C
ENDPOINT_URI=https://<resource-name>.cognitiveservices.azure.com
LANGUAGES=en,es,fr
EULA=accept

Salve o arquivo e cole o seguinte comando para executar o container:

docker run -d \
--name ai-translator \
-p 5001:5000 \
-p 8000:8000 \
--env-file .env \
--platform linux/amd64 \
mcr.microsoft.com/azure-cognitive-services/translator/text-translation:latest

Passo 3 – Verificar a Saúde do Container

  1. Verifique o Status do container:
docker ps -a

Certifique-se de que o container esteja em execução. Se algo der errado, solucione o problema usando o seguinte comando:

docker logs ai-translator
  1. Teste o Endpoint de Saúde:
    Execute o seguinte comando para testar o endpoint:
curl -v http://localhost:8000/health

Teste o Endpoint de Tradução:

curl -X POST "http://localhost:5000/translate?api-version=3.0&from=en&to=es" \
  -H "Ocp-Apim-Subscription-Key: xt32qsRRVk9SEyoX327KUHFRBIFNd9HF0iMLLpZ5qz2zjmRKVOI7bJQQJ99BCACYeBjFXJ3w3AAAdGcA32C" \
  -H "Content-Type: application/json" \
  -d '[{ "Text": "Hello, world!" }]'

Exemplo de saída:

[
  {
    "translations": [
      {
        "text": "¡Hola, mundo!",
        "to": "es"
      }
    ]
  }
]

Teste a Detecção de Idioma:

curl -X POST "http://localhost:5000/detect?api-version=3.0" \
  -H "Ocp-Apim-Subscription-Key: xt32qsRRVk9SEyoX327KUHFRBIFNd9HF0iMLLpZ5qz2zjmRKVOI7bJQQJ99BCACYeBjFXJ3w3AAAdGcA32C" \
  -H "Content-Type: application/json" \
  -d '[{ "Text": "こんにちは" }]'

Exemplo de saída:

[
  {
    "language": "ja",
    "score": 1,
    "isTranslationSupported": true,
    "isTransliterationSupported": true
  }
]

A resposta da requisição mostra que o idioma é japonês. Se tivermos dificuldade em ler a escrita Hiragana, podemos usar a transliteração para renderizar o texto em escrita latina.

Teste de Transliteração:

curl -X POST "http://localhost:5000/transliterate?api-version=3.0&fromScript=Jpan&toScript=Latn" \
  -H "Ocp-Apim-Subscription-Key: xt32qsRRVk9SEyoX327KUHFRBIFNd9HF0iMLLpZ5qz2zjmRKVOI7bJQQJ99BCACYeBjFXJ3w3AAAdGcA32C" \
  -H "Content-Type: application/json" \
  -d '[{ "Text": "こんにちは" }]'

Exemplo de saída:

[
  {
    "script": "Latn",
    "text": "Kon'nichiwa"
  }
]

O Azure AI Translator em containers permite que você aproveite a tecnologia de IA da nuvem, executando-a localmente. Este guia ajuda você a adicionar facilmente recursos de tradução, detecção de idioma e transliteração aos seus sistemas, mantendo total controle sobre seus dados e configuração. Para casos de uso mais complexos, consulte a documentação oficial.

Referências:

Este conteúdo foi auxiliado por Inteligência Artificial, mas escrito e revisado por um humano.

Leave a Comment

Exit mobile version