- Visão geral
- Criptografia
- Banco de Dados
- Java
- Python
- WebAPI
Detecção de idiomas da WebAPI
Os exemplos a seguir explicam como usar atividades como HTTP Request ou Deserialize Json para chamar uma API pública, extrair informações e exibir os resultados. Você pode encontrar essas atividades no pacote UiPath.WebAPI.Activities.
Existem três fluxos de trabalho para detectar idiomas em textos usando a API de detecção de idioma. O primeiro fluxo de trabalho cria um dicionário de idiomas, o segundo detecta o idioma em um único texto e o terceiro detecta idiomas em vários textos.
Criando o dicionário de idiomas
O fluxo de trabalho cria um dicionário de idiomas a partir de um arquivo CSV que contém códigos e nomes de idiomas. Esse fluxo de trabalho é chamado nos dois outros fluxos de trabalho.
É assim que um processo de automação pode ser construído:
- Abra o Studio e crie um Processo.
- Faça download do arquivo com o projeto neste exemplo e copie o arquivo languages.csv para sua pasta de projeto.
-
Arraste um contêiner Sequência para o Designer de Fluxo de Trabalho.
-
Crie a seguinte variável:
Nome da variável
Tipo de Variável
Valor Padrão
LanguagesDT
TabelaDeDados
-
-
Adicione uma atividade Read CSV dentro do contêiner Sequence.
- Adicione a expressão
"languages.csv"
no campo Caminho do arquivo. - No painel Propriedades , adicione a variável
LanguagesDT
no campo DataTable .
- Adicione a expressão
-
Adicione uma atividade Assign após a atividade Read CSV.
- Adicione a expressão
out_LanguagesDictionary
no campo Para. -
Adicione a expressão
LanguagesDT.AsEnumerable.ToDictionary(of string, string)(function(row) row("Code").ToString, function(row) row("Language").ToString)
no campo Valor.
- Adicione a expressão
- Execute o processo para criar o dicionário.
Detectando o idioma em um único texto
É assim que um processo de automação pode ser construído:
- Abra o Studio e crie um Processo.
-
Arraste um contêiner Sequência para o Designer de Fluxo de Trabalho.
-
Crie as seguintes variáveis:
Nome da variável
Tipo de Variável
Valor Padrão
APIKey
String
Text
String
Result
String
StatusCode
Int32
LanguagesDictionary
Dictionary<String, String>
LanguageCode
String
Reliable
Booleano
Confidence
Double
LanguageName
String
-
-
Adicione uma atividade Atribuir dentro do contêiner da Sequência.
- Adicione a variável
APIKey
no campo Para. - Adicione a expressão
"demo"
no campo Valor.
- Adicione a variável
-
Adicione uma atividade Assign após a atividade Assign.
- Adicione a variável
Text
no campo Para. - Adicione a expressão
"Hello. This is a sample test."
no campo Valor.
- Adicione a variável
-
Adicione uma atividade HTTP Request após a atividade Assign.
- Configure o assistente adicionando o endereço do Ponto de extremidade, o Método de Solicitação, o formato de Aceitar respostae do método de Autenticação .
- No painel Propriedades , adicione o valor
application/json
no campo BodyFormat . NOTA: o fluxo de trabalho mostra application/xml. - Adicione a variável
Result
no campo Resultado. - Adicione a variável
StatusCode
no CódigoDoStatus.
- Configure o assistente adicionando o endereço do Ponto de extremidade, o Método de Solicitação, o formato de Aceitar respostae do método de Autenticação .
-
Adicione uma atividade If após a atividade HTTP Request.
- Adicione a expressão
StatusCode = 200
no campo Condição.
- Adicione a expressão
-
Adicione uma atividade Sequence dentro do campo Then da atividade If.
-
Crie as seguintes variáveis:
Nome da variável
Tipo de Variável
Valor Padrão
ResultJSON
JObject
-
-
Adicione uma atividade Invoke Workflow File dentro do contêiner Sequence .
- Adicione a expressão
"GetLanguagesDictionary.xaml"
no campo Caminho do Fluxo de Trabalho. -
Selecione o botão Editar Argumentos e adicione o seguinte argumento:
Argument name
Direção do Argumento
Tipo de Argumento
Valor Padrão
out_LanguagesDictionary
Out
Dictionary<String, String>
LanguagesDictionary
- Adicione a expressão
-
Adicione uma atividade Deserialize JSON após a atividade Invoke Workflow File.
- Adicione a variável
Result
no campo Json String .
- Adicione a variável
-
Adicione uma atividade Assign após a atividade Deserialize JSON.
- Adicione a variável
LanguageCode
no campo Para. - Adicione a expressão
ResultJSON("data")("detections")(0)("language").ToString
no campo Valor.
- Adicione a variável
-
Adicione uma atividade Assign após a atividade Assign anterior.
- Adicione a variável
LanguageName
no campo Para. - Adicione a expressão
LanguagesDictionary(LanguageCode)
no campo Valor.
- Adicione a variável
-
Adicione outra atividade Assign após a atividade Assign anterior.
- Adicione a variável
Reliable
no campo Para. - Adicione a expressão
CBool(ResultJSON("data")("detections")(0)("isReliable").ToString)
no campo Valor.
- Adicione a variável
-
Adicione uma atividade Assign após a atividade Assign anterior.
- Adicione a variável
Confidence
no campo Para. - Adicione a expressão
CDbl(ResultJSON("data")("detections")(0)("confidence").ToString)
no campo Valor.
- Adicione a variável
-
Adicione uma Log Message após a atividade Assign.
- Adicione a expressão
"Detection for the text:" + vbCrLf + " Language is " + LanguageName+ vbCrLf +" Reliable detection: " + Reliable.ToString + vbCrLf + " Confidence level: " + Confidence.ToString
no campo Mensagem.
- Adicione a expressão
-
Adicione uma atividade Log Message dentro do campoElse da atividade If.
- Selecione a opção Warn na lista suspensa Level.
- Adicione a expressão
"HTTP Request was not successful. Code: " + StatusCode.ToString
no campo Mensagem.
-
Adicione uma atividade Log Message após a atividade Log Message anterior.
- Selecione a opção Warn na lista suspensa Level.
-
Adicione a expressão
"HTTP Request was not successful. Result: " + Result
no campo Mensagem.
- Execute o processo para detectar e registrar o idioma usado no texto.
Detectando os idiomas em um lote de textos
É assim que um processo de automação pode ser construído:
- Abra o Studio e crie um Processo.
-
Arraste um contêiner Sequência para o Designer de Fluxo de Trabalho.
-
Crie as seguintes variáveis:
Nome da variável
Tipo de Variável
Valor Padrão
APIKey
String
Texts
Corda[]
Result
String
StatusCode
Int32
HTTPRequestBodyJSON
String
-
-
Adicione uma atividade Assign dentro do contêiner Sequência.
- Adicione a variável
APIKey
no campo Para. - Adicione o valor
"demo"
no campo Valor.
- Adicione a variável
-
Adicione outra atividade Assign após a anterior.
- Adicione a variável
Texts
no campo Para. - Adicione o valor
{"Hello world.", "Buenos dias, señor.", "Guten Tag.", "Buna ziua, tuturor."}
no campo Valor.
- Adicione a variável
-
Adicione uma nova atividade Assign após a atividade Assign anterior.
- Adicione a variável
HTTPRequestBodyJSON
no campo Para. - Adicione o valor
Newtonsoft.Json.JsonConvert.SerializeObject(new with{ .q = Texts })
no campo Valor.
- Adicione a variável
-
Adicione uma atividade HTTP Request após a atividade Assign.
- Configure o assistente adicionando o endereço do Ponto de extremidade, o Método de Solicitação, forma de Aceitar resposta e do método de Autenticação.
- No painel Propriedades, adicione a variável
HTTPRequestBodyJSON
no campo Corpo. - Adicione o valor
application/json
no campo BodyFormat . - Adicione a variável
Result
no campo Resultado. - Adicione a variável
StatusCode
no CódigoDoStatus.
- Configure o assistente adicionando o endereço do Ponto de extremidade, o Método de Solicitação, forma de Aceitar resposta e do método de Autenticação.
-
Adicione uma atividade If após a atividade HTTP Request.
- Adicione a expressão
StatusCode = 200
no campo Condição.
- Adicione a expressão
-
Adicione uma atividade Sequence dentro do campo Then da atividade If.
-
Crie as seguintes variáveis:
Nome da variável
Tipo de Variável
Valor Padrão
ResultJSON
JObject
LanguagesDictionary
System.Collections.Generic.Dictionary<System.String, System.String>
LanguageCode
String
LanguageName
String
Reliable
Booleano
Confidence
Double
index
Int32
0
-
-
Adicione uma atividade Invoke Workflow File dentro do contêiner Sequence .
- Adicione a expressão
"GetLanguagesDictionary.xaml"
no campo Caminho do Fluxo de Trabalho. -
Selecione o botão Editar Argumentos e adicione o seguinte argumento:
Argument name
Direção do Argumento
Tipo de Argumento
Valor Padrão
out_LanguagesDictionary
Out
Dictionary<String, String>
LanguagesDictionary
- Adicione a expressão
-
Adicione uma atividade Deserialize JSON após a atividade Invoke Workflow File.
- Adicione a variável
Result
no campo Json String .
- Adicione a variável
-
Adicione uma atividade For Each após a atividade Deserialize JSON.
- Adicione a expressão
ResultJSON("data")("detections")
no campo Valores.
- Adicione a expressão
-
Adicione uma atividade Assign dentro do Corpo da atividade For Each.
- Adicione a variável
LanguageCode
no campo Para. - Adicione a expressão
item(0)("language").ToString
no campo Valor.
- Adicione a variável
-
Adicione uma atividade Assign após a atividade Assign anterior.
- Adicione a variável
LanguageName
no campo Para. - Adicione a expressão
LanguagesDictionary(LanguageCode)
no campo Valor.
- Adicione a variável
-
Adicione outra atividade Assign após a atividade Assign anterior.
- Adicione a variável
Reliable
no campo Para. - Adicione a expressão
CBool(item(0)("isReliable").ToString)
no campo Valor.
- Adicione a variável
-
Adicione uma atividade Assign após a atividade Assign anterior.
- Adicione a variável
Confidence
no campo Para. - Adicione a expressão
CDbl(item(0)("confidence").ToString)
no campo Valor.
- Adicione a variável
-
Adicione uma Log Message após a atividade Assign.
- Adicione a expressão
"Detection for the text #"+index.ToString +":" + vbCrLf + " Language is " + LanguageName+ vbCrLf +" Reliable detection: " + Reliable.ToString + vbCrLf + " Confidence level: " + Confidence.ToString
no campo Mensagem.
- Adicione a expressão
-
Adicione uma atividade Log Message dentro do campoElse da atividade If.
- Selecione a opção Warn na lista suspensa Level.
- Adicione a expressão
"HTTP Request was not successful. Code: " + StatusCode.ToString
no campo Mensagem.
-
Adicione uma atividade Log Message após a atividade Log Message anterior.
- Selecione a opção Warn na lista suspensa Level.
-
Adicione a expressão
"HTTP Request was not successful. Result: " + Result
no campo Mensagem.
- Execute o processo para detectar e registrar os idiomas utilizados no texto
Aqui você pode baixar um exemplo.