Traduzir dados no Banco de Dados do Azure para PostgreSQL

Concluído

Tradução na extensão azure_ai

O serviço de Linguagem de IA do Azure fornece ferramentas avançadas e modelos para trabalhar com dados de texto. As integrações no esquema azure_cognitive da extensão azure_ai oferecem acesso a esse conjunto avançado de recursos de compreensão e processamento de linguagem natural acessíveis diretamente do banco de dados. Uma dessas funcionalidades inclui a capacidade de traduzir texto usando a função translate().

A função azure_cognitive.translate()

A tradução de idiomas está disponível na função azure_cognitive.translate(). Essa função aceita texto de entrada e um ou mais idiomas para o(s) qual(is) você deseja traduzi-lo. A função detecta automaticamente o idioma de origem ou você pode atribuir um idioma de origem para o texto de entrada.

A função retorna uma tabela criada no corpo da resposta do serviço de Tradutor de IA do Azure. Essa resposta inclui as seguintes colunas:

Nome Descrição
translations Um objeto JSON que contém uma tupla para cada combinação de idioma de destino e texto traduzido.
detected_language O idioma é baseado na detecção automática de idioma. Se você especificar um idioma usando o parâmetro de entrada source_language, esse parâmetro será definido como NULL.
source_text Um objeto que contém o texto de entrada no script padrão do idioma de origem. Essa opção está disponível somente quando a entrada é expressa em um script diferente do script usual para o idioma. Como se um texto em tailandês estivesse escrito em um script em latim.

Definir o ponto de extremidade, a chave e a região do serviço de tradução

Para fazer chamadas com êxito no serviço de Linguagem usando a extensão azure_ai, você deve fornecer o ponto de extremidade do serviço e uma chave. Os comandos a seguir demonstram como as configurações podem ser adicionadas à tabela de configuração azure_ai.settings.

SELECT azure_ai.set_setting('azure_cognitive.endpoint','{endpoint}');
SELECT azure_ai.set_setting('azure_cognitive.subscription_key', '{key}');
SELECT azure_ai.set_setting('azure_cognitive.region', '{region}');

Chamando a função azure_cognitive.translate()

A instrução SQL a seguir permite que você traduza uma frase de exemplo em inglês para o equivalente em alemão. Essa tradução requer a extensão azure_ai e as configurações de extensão necessárias já em vigor.

SELECT a.translations
FROM azure_cognitive.translate('Congratulations on successfully configuring Azure AI Translation!', 'de') a;

A execução desse comando retorna uma resposta semelhante à seguinte.

                     translations                     
------------------------------------------------------------------------------------------------
 {"(de,\"Herzlichen Glückwunsch zur erfolgreichen Konfiguration der Azure AI-Übersetzung!\",)"}
(1 row)

Você também pode executar a tradução para vários idiomas em uma chamada passando uma matriz de idiomas de saída.

SELECT (unnest(a.translations)).TARGET_LANGUAGE, (unnest(a.translations)).TEXT
FROM azure_cognitive.translate(text=>'Congratulations on successfully configuring Azure AI Translation!', target_language=>array['de', 'fr']) a;

Esse comando retorna uma linha por idioma, incluindo colunas separadas para o idioma de destino e o texto de saída.