- 概述
- 加密
- 数据库
- Java
- Python
- 网页 API
WebAPI 语言检测
以下示例说明了如何使用“HTTP 请求”或“反序列化 JSON”等活动来调用公共 API、提取信息以及显示结果。您可以在“UiPath.WebAPI.Activities”包中找到这些活动。
使用语言检测 API 检测文本中的语言可通过三个工作流进行。 第一个工作流创建语言字典,第二个工作流检测单个文本中的语言,第三个工作流检测多个文本中的语言。
创建语言字典
工作流从包含语言代码和名称的 CSV 文件创建语言字典。 此工作流在其他两个工作流中调用。
此自动化流程的构建方法如下:
- 打开 Studio ,创建一个新“流程”。
- 下载此示例中的项目存档,并将文件 languages.csv 复制到您的项目文件夹。
-
在 工作流设计器中拖动“序列”容器。
-
创建以下变量:
变量名称
变量类型
默认值
LanguagesDT
数据表
-
-
将读取 CSV 活动添加至序列容器。
- 在文件路径字段中添加表达式
"languages.csv"
。 - 在“ 属性 ”面板的“ 数据表 ”字段中添加变量
LanguagesDT
。
- 在文件路径字段中添加表达式
-
将“分配”活动添加至“读取 CSV”活动之后。
- 在目标字段中添加表达式
out_LanguagesDictionary
。 -
在“值”字段中添加表达式“
LanguagesDT.AsEnumerable.ToDictionary(of string, string)(function(row) row("Code").ToString, function(row) row("Language").ToString)
”。
- 在目标字段中添加表达式
- 运行该流程以创建字典。
检测单个文本中的语言
此自动化流程的构建方法如下:
- 打开 Studio ,创建一个新“流程”。
-
在 工作流设计器中拖动“序列”容器。
-
创建以下变量:
变量名称
变量类型
默认值
APIKey
字符串
Text
字符串
Result
字符串
StatusCode
Int32
LanguagesDictionary
Dictionary<String, String>
LanguageCode
字符串
Reliable
布尔值
Confidence
Double
LanguageName
字符串
-
-
将分配活动添加至序列容器。
- 在“收件人”字段中添加“
APIKey
”变量。 - 在“值”字段中添加表达式“
"demo"
”。
- 在“收件人”字段中添加“
-
将“分配”活动添加到“分配”活动之后。
- 在“收件人”字段中添加“
Text
”变量。 - 在“值”字段中添加表达式“
"Hello. This is a sample test."
”。
- 在“收件人”字段中添加“
-
将“HTTP 请求”活动添加到“分配”活动之后。
-
在“HTTP 请求”活动之后添加“IF 条件”活动。
- 在“条件”字段中添加表达式“
StatusCode = 200
”。
- 在“条件”字段中添加表达式“
-
在IF 条件活动的 Then 字段中添加序列活动。
-
创建以下变量:
变量名称
变量类型
默认值
ResultJSON
JObject
-
-
在“ 序列 ”容器中添加“调用工作流文件”活动。
- 在工作流路径字段中添加表达式
"GetLanguagesDictionary.xaml"
。 -
选择编辑参数按钮并添加以下参数:
参数名称
参数方向
参数类型
默认值
out_LanguagesDictionary
输出
Dictionary<String, String>
LanguagesDictionary
- 在工作流路径字段中添加表达式
-
将“反序列化 JSON”活动添加到“调用工作流文件”活动之后。
- 在“ Json 字符串 ”字段中添加变量
Result
。
- 在“ Json 字符串 ”字段中添加变量
-
将“分配”活动添加到“反序列化 JSON”活动之后。
- 在“收件人”字段中添加“
LanguageCode
”变量。 - 在“值”字段中添加表达式“
ResultJSON("data")("detections")(0)("language").ToString
”。
- 在“收件人”字段中添加“
-
将“分配”活动添加到上一个“分配”活动之后。
- 在“收件人”字段中添加“
LanguageName
”变量。 - 在“值”字段中添加表达式“
LanguagesDictionary(LanguageCode)
”。
- 在“收件人”字段中添加“
-
将另一个“分配”活动添加到上一个“分配”活动之后。
- 在“收件人”字段中添加“
Reliable
”变量。 - 在“值”字段中添加表达式“
CBool(ResultJSON("data")("detections")(0)("isReliable").ToString)
”。
- 在“收件人”字段中添加“
-
将“分配”活动添加到上一个“分配”活动之后。
- 在“收件人”字段中添加“
Confidence
”变量。 - 在“值”字段中添加表达式“
CDbl(ResultJSON("data")("detections")(0)("confidence").ToString)
”。
- 在“收件人”字段中添加“
-
在“分配”活动后添加“日志消息”。
- 在“行”字段中添加表达式“
"Detection for the text:" + vbCrLf + " Language is " + LanguageName+ vbCrLf +" Reliable detection: " + Reliable.ToString + vbCrLf + " Confidence level: " + Confidence.ToString
”。
- 在“行”字段中添加表达式“
-
在“ If ” 活动的“ Else ” 字段中添加一个“ 日志消息 ” 活动。
- 从级别下拉列表中选择警告选项。
- 在“行”字段中添加表达式“
"HTTP Request was not successful. Code: " + StatusCode.ToString
”。
-
将“日志消息”活动拖动至上一个“日志消息”活动之后。
- 从级别下拉列表中选择警告选项。
-
在“行”字段中添加表达式“
"HTTP Request was not successful. Result: " + Result
”。
- 运行流程以检测并记录文本中使用的语言。
检测一批文本中的语言
此自动化流程的构建方法如下:
- 打开 Studio ,创建一个新“流程”。
-
在 工作流设计器中拖动“序列”容器。
-
创建以下变量:
变量名称
变量类型
默认值
APIKey
字符串
Texts
字符串[]
Result
字符串
StatusCode
Int32
HTTPRequestBodyJSON
字符串
-
-
将分配活动添加至“序列”容器。
- 在“收件人”字段中添加“
APIKey
”变量。 - 在“值”字段中添加值“
"demo"
”。
- 在“收件人”字段中添加“
-
将另一个“分配”活动添加到上一个“分配”活动之后。
- 在“收件人”字段中添加“
Texts
”变量。 - 在“值”字段中添加值“
{"Hello world.", "Buenos dias, señor.", "Guten Tag.", "Buna ziua, tuturor."}
”。
- 在“收件人”字段中添加“
-
将新的“分配”活动添加到上一个“分配”活动之后。
- 在“收件人”字段中添加“
HTTPRequestBodyJSON
”变量。 - 在“值”字段中添加值“
Newtonsoft.Json.JsonConvert.SerializeObject(new with{ .q = Texts })
”。
- 在“收件人”字段中添加“
-
将“HTTP 请求”活动添加到“分配”活动之后。
-
在“HTTP 请求”活动之后添加“IF 条件”活动。
- 在“条件”字段中添加表达式“
StatusCode = 200
”。
- 在“条件”字段中添加表达式“
-
在IF 条件活动的 Then 字段中添加序列活动。
-
创建以下变量:
变量名称
变量类型
默认值
ResultJSON
JObject
LanguagesDictionary
System.Collections.Generic.Dictionary<System.String, System.String>
LanguageCode
字符串
LanguageName
字符串
Reliable
布尔值
Confidence
Double
index
Int32
0
-
-
在“ 序列 ”容器中添加“调用工作流文件”活动。
- 在工作流路径字段中添加表达式
"GetLanguagesDictionary.xaml"
。 -
选择编辑参数按钮并添加以下参数:
参数名称
参数方向
参数类型
默认值
out_LanguagesDictionary
输出
Dictionary<String, String>
LanguagesDictionary
- 在工作流路径字段中添加表达式
-
将“反序列化 JSON”活动添加到“调用工作流文件”活动之后。
- 在“ Json 字符串 ”字段中添加变量
Result
。
- 在“ Json 字符串 ”字段中添加变量
-
将“遍历循环”活动添加到“反序列化 JSON”活动之后。
- 在“值”字段中添加表达式“
ResultJSON("data")("detections")
”。
- 在“值”字段中添加表达式“
-
在遍历循环活动的正文中添加分配活动。
- 在“收件人”字段中添加“
LanguageCode
”变量。 - 在“值”字段中添加表达式“
item(0)("language").ToString
”。
- 在“收件人”字段中添加“
-
将“分配”活动添加到上一个“分配”活动之后。
- 在“收件人”字段中添加“
LanguageName
”变量。 - 在“值”字段中添加表达式“
LanguagesDictionary(LanguageCode)
”。
- 在“收件人”字段中添加“
-
将另一个“分配”活动添加到上一个“分配”活动之后。
- 在“收件人”字段中添加“
Reliable
”变量。 - 在“值”字段中添加表达式“
CBool(item(0)("isReliable").ToString)
”。
- 在“收件人”字段中添加“
-
将“分配”活动添加到上一个“分配”活动之后。
- 在“收件人”字段中添加“
Confidence
”变量。 - 在“值”字段中添加表达式“
CDbl(item(0)("confidence").ToString)
”。
- 在“收件人”字段中添加“
-
在“分配”活动后添加“日志消息”。
- 在“行”字段中添加表达式“
"Detection for the text #"+index.ToString +":" + vbCrLf + " Language is " + LanguageName+ vbCrLf +" Reliable detection: " + Reliable.ToString + vbCrLf + " Confidence level: " + Confidence.ToString
”。
- 在“行”字段中添加表达式“
-
在“ If ” 活动的“ Else ” 字段中添加一个“ 日志消息 ” 活动。
- 从级别下拉列表中选择警告选项。
- 在“行”字段中添加表达式“
"HTTP Request was not successful. Code: " + StatusCode.ToString
”。
-
将“日志消息”活动拖动至上一个“日志消息”活动之后。
- 从级别下拉列表中选择警告选项。
-
在“行”字段中添加表达式“
"HTTP Request was not successful. Result: " + Result
”。
- 运行流程以检测并记录文本中使用的语言
您可以在此处 下载示例。