推断已训练模型 API
编辑推断已训练模型 API编辑
评估已训练模型。该模型可以是由数据帧分析训练的任何监督模型,也可以是导入的模型。
对于启用了缓存的模型部署,可以直接从推断缓存返回结果。
请求编辑
POST _ml/trained_models/<model_id>/_infer
POST _ml/trained_models/<deployment_id>/_infer
路径参数编辑
-
<model_id>
- (可选,字符串)已训练模型或模型别名的唯一标识符。
如果在 API 调用中指定了 model_id
,并且该模型有多个部署,则将使用随机部署。如果 model_id
与其中一个部署的 ID 匹配,则将使用该部署。
-
<deployment_id>
- (可选,字符串)模型部署的唯一标识符。
查询参数编辑
-
timeout
- (可选,时间)控制等待推断结果的时间。默认为 10 秒。
请求正文编辑
-
docs
- (必需,数组)要传递给模型进行推断的对象数组。这些对象应包含与配置的已训练模型输入匹配的字段。通常,对于 NLP 模型,字段名称为
text_field
。此属性中指定的每个推断输入字段必须是单个字符串,而不是字符串数组。
-
inference_config
-
(可选,对象)推断的默认配置。可以是:
regression
、classification
、fill_mask
、ner
、question_answering
、text_classification
、text_embedding
或zero_shot_classification
。如果为regression
或classification
,则必须与基础definition.trained_model
的target_type
匹配。如果为fill_mask
、ner
、question_answering
、text_classification
或text_embedding
,则model_type
必须为pytorch
。如果未指定,则使用创建模型时的inference_config
。inference_config
的属性-
classification
-
(可选,对象)推断的分类配置。
分类推断的属性
-
num_top_classes
- (可选,整数)指定要返回的顶级类别预测的数量。默认为 0。
-
num_top_feature_importance_values
- (可选,整数)指定每个文档的最大特征重要性值数量。默认为 0,表示不进行特征重要性计算。
-
prediction_field_type
- (可选,字符串)指定要写入的预测字段的类型。有效值为:
string
、number
、boolean
。如果提供boolean
,则1.0
将转换为true
,0.0
将转换为false
。 -
results_field
- (可选,字符串)添加到传入文档中以包含推断预测的字段。默认为
predicted_value
。 -
top_classes_results_field
- (可选,字符串)指定写入顶级类别的字段。默认为
top_classes
。
-
-
fill_mask
-
(可选,对象)用于 fill_mask 自然语言处理 (NLP) 任务的配置。fill_mask 任务适用于针对填充掩码操作优化的模型。例如,对于 BERT 模型,可以提供以下文本:“法国的首都是 [MASK]”。响应指示最有可能替换
[MASK]
的值。在这种情况下,最可能的标记是paris
。fill_mask 推断的属性
-
num_top_classes
- (可选,整数)要返回以替换掩码标记的顶级预测标记的数量。默认为
0
。 -
results_field
- (可选,字符串)添加到传入文档中以包含推断预测的字段。默认为
predicted_value
。 -
tokenization
-
(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为
bert
。有效的标记化值为-
bert
:用于 BERT 风格的模型 -
mpnet
:用于 MPNet 风格的模型 -
roberta
:用于 RoBERTa 风格和 BART 风格的模型 -
[预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
xlm_roberta
:用于 XLMRoBERTa 风格的模型 -
[预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
bert_ja
:用于针对日语训练的 BERT 风格的模型。
tokenization 的属性
-
bert
-
(可选,对象)将使用随附的设置执行 BERT 风格的标记化。
bert 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
roberta
-
(可选,对象)将使用随附的设置执行 RoBERTa 风格的标记化。
roberta 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
mpnet
-
(可选,对象)将使用随附的设置执行 MPNet 风格的标记化。
mpnet 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
xlm_roberta
-
(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 将使用随附的设置执行 XLMRoBERTa 风格的标记化。
xlm_roberta 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
bert_ja
-
(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 将使用随附的设置执行针对日语文本的 BERT 风格的标记化。
bert_ja 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
-
-
ner
-
(可选,对象)配置命名实体识别 (NER) 任务。NER 是标记分类的一种特殊情况。序列中的每个标记都根据提供的分类标签进行分类。目前,NER 任务需要
classification_labels
Inside-Outside-Beginning (IOB) 格式的标签。仅支持人物、组织、地点和其他。ner 推断的属性
-
results_field
- (可选,字符串)添加到传入文档中以包含推断预测的字段。默认为
predicted_value
。 -
tokenization
-
(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为
bert
。有效的标记化值为-
bert
:用于 BERT 风格的模型 -
mpnet
:用于 MPNet 风格的模型 -
roberta
:用于 RoBERTa 风格和 BART 风格的模型 -
[预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
xlm_roberta
:用于 XLMRoBERTa 风格的模型 -
[预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
bert_ja
:用于针对日语训练的 BERT 风格的模型。
tokenization 的属性
-
bert
-
(可选,对象)将使用随附的设置执行 BERT 风格的标记化。
bert 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
roberta
-
(可选,对象)将使用随附的设置执行 RoBERTa 风格的标记化。
roberta 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
mpnet
-
(可选,对象)将使用随附的设置执行 MPNet 风格的标记化。
mpnet 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
xlm_roberta
-
(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 将使用随附的设置执行 XLMRoBERTa 风格的标记化。
xlm_roberta 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
bert_ja
-
(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 将使用随附的设置执行针对日语文本的 BERT 风格的标记化。
bert_ja 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
-
-
pass_through
-
(可选,对象)配置
pass_through
任务。此任务对调试很有用,因为它不对推断输出进行后处理,并且原始池化层结果会返回给调用者。pass_through 推断的属性
-
results_field
- (可选,字符串)添加到传入文档中以包含推断预测的字段。默认为
predicted_value
。 -
tokenization
-
(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为
bert
。有效的标记化值为-
bert
:用于 BERT 风格的模型 -
mpnet
:用于 MPNet 风格的模型 -
roberta
:用于 RoBERTa 风格和 BART 风格的模型 -
[预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
xlm_roberta
:用于 XLMRoBERTa 风格的模型 -
[预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
bert_ja
:用于针对日语训练的 BERT 风格的模型。
tokenization 的属性
-
bert
-
(可选,对象)将使用随附的设置执行 BERT 风格的标记化。
bert 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
roberta
-
(可选,对象)将使用随附的设置执行 RoBERTa 风格的标记化。
roberta 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
mpnet
-
(可选,对象)将使用随附的设置执行 MPNet 风格的标记化。
mpnet 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
xlm_roberta
-
(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 将使用随附的设置执行 XLMRoBERTa 风格的标记化。
xlm_roberta 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
bert_ja
-
(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 将使用随附的设置执行针对日语文本的 BERT 风格的标记化。
bert_ja 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
-
-
question_answering
-
(可选,对象)配置问答自然语言处理 (NLP) 任务。问答对于从大型文本语料库中提取某些问题的答案非常有用。
question_answering 推断的属性
-
max_answer_length
- (可选,整数)答案中的最大字数。默认为
15
。 -
num_top_classes
- (可选,整数)要返回的顶级答案的数量。默认为
0
,表示仅返回找到的最佳答案。 -
question
- (必需,字符串)提取答案时要使用的问题
-
results_field
- (可选,字符串)添加到传入文档中以包含推断预测的字段。默认为
predicted_value
。 -
tokenization
-
(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为
bert
。有效的标记化值为-
bert
:用于 BERT 风格的模型 -
mpnet
:用于 MPNet 风格的模型 -
roberta
:用于 RoBERTa 风格和 BART 风格的模型 -
[预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
xlm_roberta
:用于 XLMRoBERTa 风格的模型 -
[预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
bert_ja
:用于针对日语训练的 BERT 风格的模型。
建议将
max_sequence_length
设置为386
,将span
设置为128
,并将truncate
设置为none
。tokenization 的属性
-
bert
-
(可选,对象)将使用随附的设置执行 BERT 风格的标记化。
bert 的属性
-
span
-
(可选,整数)当
truncate
为none
时,可以对较长的文本序列进行分区以进行推断。该值指示每个子序列之间有多少个标记重叠。默认值为
-1
,表示不进行窗口化或跨度。当您的典型输入仅略大于
max_sequence_length
时,最好简单地截断;第二个子序列中的信息将非常少。 -
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
roberta
-
(可选,对象)将使用随附的设置执行 RoBERTa 风格的标记化。
roberta 的属性
-
span
-
(可选,整数)当
truncate
为none
时,可以对较长的文本序列进行分区以进行推断。该值指示每个子序列之间有多少个标记重叠。默认值为
-1
,表示不进行窗口化或跨度。当您的典型输入仅略大于
max_sequence_length
时,最好简单地截断;第二个子序列中的信息将非常少。 -
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
mpnet
-
(可选,对象)将使用随附的设置执行 MPNet 风格的标记化。
mpnet 的属性
-
span
-
(可选,整数)当
truncate
为none
时,可以对较长的文本序列进行分区以进行推断。该值指示每个子序列之间有多少个标记重叠。默认值为
-1
,表示不进行窗口化或跨度。当您的典型输入仅略大于
max_sequence_length
时,最好简单地截断;第二个子序列中的信息将非常少。 -
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
xlm_roberta
-
(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 将使用随附的设置执行 XLMRoBERTa 风格的标记化。
xlm_roberta 的属性
-
span
-
(可选,整数)当
truncate
为none
时,可以对较长的文本序列进行分区以进行推断。该值指示每个子序列之间有多少个标记重叠。默认值为
-1
,表示不进行窗口化或跨度。当您的典型输入仅略大于
max_sequence_length
时,最好简单地截断;第二个子序列中的信息将非常少。 -
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
bert_ja
-
(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 将使用随附的设置执行针对日语文本的 BERT 风格的标记化。
bert_ja 的属性
-
span
-
(可选,整数)当
truncate
为none
时,可以对较长的文本序列进行分区以进行推断。该值指示每个子序列之间有多少个标记重叠。默认值为
-1
,表示不进行窗口化或跨度。当您的典型输入仅略大于
max_sequence_length
时,最好简单地截断;第二个子序列中的信息将非常少。 -
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
-
-
regression
-
(可选,对象)推断的回归配置。
回归推断的属性
-
num_top_feature_importance_values
- (可选,整数)指定每个文档的最大特征重要性值数量。默认情况下,它为零,并且不进行特征重要性计算。
-
results_field
- (可选,字符串)添加到传入文档中以包含推断预测的字段。默认为
predicted_value
。
-
-
text_classification
-
(可选,对象)文本分类任务。文本分类将提供的文本序列分类到先前已知的目标类别中。一个具体的例子是情感分析,它返回指示文本情感的可能目标类别,例如“悲伤”、“高兴”或“愤怒”。
text_classification 推断的属性
-
classification_labels
- (可选,字符串)分类标签数组。
-
num_top_classes
- (可选,整数)指定要返回的顶级类别预测的数量。默认为所有类别 (-1)。
-
results_field
- (可选,字符串)添加到传入文档中以包含推断预测的字段。默认为
predicted_value
。 -
tokenization
-
(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为
bert
。有效的标记化值为-
bert
:用于 BERT 风格的模型 -
mpnet
:用于 MPNet 风格的模型 -
roberta
:用于 RoBERTa 风格和 BART 风格的模型 -
[预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
xlm_roberta
:用于 XLMRoBERTa 风格的模型 -
[预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
bert_ja
:用于针对日语训练的 BERT 风格的模型。
tokenization 的属性
-
bert
-
(可选,对象)将使用随附的设置执行 BERT 风格的标记化。
bert 的属性
-
span
-
(可选,整数)当
truncate
为none
时,可以对较长的文本序列进行分区以进行推断。该值指示每个子序列之间有多少个标记重叠。默认值为
-1
,表示不进行窗口化或跨度。当您的典型输入仅略大于
max_sequence_length
时,最好简单地截断;第二个子序列中的信息将非常少。 -
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
roberta
-
(可选,对象)将使用随附的设置执行 RoBERTa 风格的标记化。
roberta 的属性
-
span
-
(可选,整数)当
truncate
为none
时,可以对较长的文本序列进行分区以进行推断。该值指示每个子序列之间有多少个标记重叠。默认值为
-1
,表示不进行窗口化或跨度。当您的典型输入仅略大于
max_sequence_length
时,最好简单地截断;第二个子序列中的信息将非常少。 -
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
mpnet
-
(可选,对象)将使用随附的设置执行 MPNet 风格的标记化。
mpnet 的属性
-
span
-
(可选,整数)当
truncate
为none
时,可以对较长的文本序列进行分区以进行推断。该值指示每个子序列之间有多少个标记重叠。默认值为
-1
,表示不进行窗口化或跨度。当您的典型输入仅略大于
max_sequence_length
时,最好简单地截断;第二个子序列中的信息将非常少。 -
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
xlm_roberta
-
(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 将使用随附的设置执行 XLMRoBERTa 风格的标记化。
xlm_roberta 的属性
-
span
-
(可选,整数)当
truncate
为none
时,可以对较长的文本序列进行分区以进行推断。该值指示每个子序列之间有多少个标记重叠。默认值为
-1
,表示不进行窗口化或跨度。当您的典型输入仅略大于
max_sequence_length
时,最好简单地截断;第二个子序列中的信息将非常少。 -
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
bert_ja
-
(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 将使用随附的设置执行针对日语文本的 BERT 风格的标记化。
bert_ja 的属性
-
span
-
(可选,整数)当
truncate
为none
时,可以对较长的文本序列进行分区以进行推断。该值指示每个子序列之间有多少个标记重叠。默认值为
-1
,表示不进行窗口化或跨度。当您的典型输入仅略大于
max_sequence_length
时,最好简单地截断;第二个子序列中的信息将非常少。 -
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
-
-
text_embedding
-
(可选,对象)文本嵌入采用输入序列并将其转换为数字向量。这些嵌入不仅捕获标记,还捕获语义和上下文。这些嵌入可以在密集向量字段中使用,以获得强大的洞察力。
text_embedding 推断的属性
-
results_field
- (可选,字符串)添加到传入文档中以包含推断预测的字段。默认为
predicted_value
。 -
tokenization
-
(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为
bert
。有效的标记化值为-
bert
:用于 BERT 风格的模型 -
mpnet
:用于 MPNet 风格的模型 -
roberta
:用于 RoBERTa 风格和 BART 风格的模型 -
[预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
xlm_roberta
:用于 XLMRoBERTa 风格的模型 -
[预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
bert_ja
:用于针对日语训练的 BERT 风格的模型。
tokenization 的属性
-
bert
-
(可选,对象)将使用随附的设置执行 BERT 风格的标记化。
bert 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
roberta
-
(可选,对象)将使用随附的设置执行 RoBERTa 风格的标记化。
roberta 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
mpnet
-
(可选,对象)将使用随附的设置执行 MPNet 风格的标记化。
mpnet 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
xlm_roberta
-
(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 将使用随附的设置执行 XLMRoBERTa 风格的标记化。
xlm_roberta 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
bert_ja
-
(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 将使用随附的设置执行针对日语文本的 BERT 风格的标记化。
bert_ja 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
-
-
text_similarity
-
(可选,对象)文本相似度采用输入序列并将其与另一个输入序列进行比较。这通常称为交叉编码。在将文档文本与另一个提供的文本输入进行比较时,此任务对于对文档文本进行排名非常有用。
text_similarity 推断的属性
-
span_score_combination_function
-
(可选,字符串)标识当提供的文本段落长度超过
max_sequence_length
且必须自动分隔为多次调用时,如何组合生成的相似性分数。这仅适用于truncate
为none
且span
为非负数时。默认值为max
。可用选项有:-
max
:返回所有跨度中的最高分数。 -
mean
:返回所有跨度的平均分数。
-
-
text
- (必填,字符串)这是用于与所有提供的文档文本输入进行比较的文本。
-
tokenization
-
(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为
bert
。有效的标记化值为-
bert
:用于 BERT 风格的模型 -
mpnet
:用于 MPNet 风格的模型 -
roberta
:用于 RoBERTa 风格和 BART 风格的模型 -
[预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
xlm_roberta
:用于 XLMRoBERTa 风格的模型 -
[预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
bert_ja
:用于针对日语训练的 BERT 风格的模型。
tokenization 的属性
-
bert
-
(可选,对象)将使用随附的设置执行 BERT 风格的标记化。
bert 的属性
-
span
-
(可选,整数)当
truncate
为none
时,可以对较长的文本序列进行分区以进行推断。该值指示每个子序列之间有多少个标记重叠。默认值为
-1
,表示不进行窗口化或跨度。当您的典型输入仅略大于
max_sequence_length
时,最好简单地截断;第二个子序列中的信息将非常少。 -
with_special_tokens
-
(可选,布尔值)使用特殊标记进行标记化。BERT 风格标记化中通常包含的标记有:
-
[CLS]
:要分类的序列的第一个标记。 -
[SEP]
:指示序列分隔。
-
-
-
roberta
-
(可选,对象)将使用随附的设置执行 RoBERTa 风格的标记化。
roberta 的属性
-
span
-
(可选,整数)当
truncate
为none
时,可以对较长的文本序列进行分区以进行推断。该值指示每个子序列之间有多少个标记重叠。默认值为
-1
,表示不进行窗口化或跨度。当您的典型输入仅略大于
max_sequence_length
时,最好简单地截断;第二个子序列中的信息将非常少。 -
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
mpnet
-
(可选,对象)将使用随附的设置执行 MPNet 风格的标记化。
mpnet 的属性
-
span
-
(可选,整数)当
truncate
为none
时,可以对较长的文本序列进行分区以进行推断。该值指示每个子序列之间有多少个标记重叠。默认值为
-1
,表示不进行窗口化或跨度。当您的典型输入仅略大于
max_sequence_length
时,最好简单地截断;第二个子序列中的信息将非常少。 -
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
xlm_roberta
-
(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 将使用随附的设置执行 XLMRoBERTa 风格的标记化。
xlm_roberta 的属性
-
span
-
(可选,整数)当
truncate
为none
时,可以对较长的文本序列进行分区以进行推断。该值指示每个子序列之间有多少个标记重叠。默认值为
-1
,表示不进行窗口化或跨度。当您的典型输入仅略大于
max_sequence_length
时,最好简单地截断;第二个子序列中的信息将非常少。 -
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
bert_ja
-
(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 将使用随附的设置执行针对日语文本的 BERT 风格的标记化。
bert_ja 的属性
-
span
-
(可选,整数)当
truncate
为none
时,可以对较长的文本序列进行分区以进行推断。该值指示每个子序列之间有多少个标记重叠。默认值为
-1
,表示不进行窗口化或跨度。当您的典型输入仅略大于
max_sequence_length
时,最好简单地截断;第二个子序列中的信息将非常少。 -
with_special_tokens
- (可选,布尔值)如果为
true
,则使用特殊标记进行标记化。
-
-
-
-
zero_shot_classification
-
(对象,可选)配置零样本分类任务。零样本分类允许在没有预先确定标签的情况下进行文本分类。在推理时,可以调整标签进行分类。这使得这种类型的模型和任务非常灵活。
如果始终对相同的标签进行分类,则最好使用经过微调的文本分类模型。
zero_shot_classification 推理的属性
-
labels
- (可选,数组)要分类的标签。可以在创建时设置为默认标签,然后在推理期间更新。
-
multi_label
- (可选,布尔值)指示在给定输入的情况下是否可能有多个
true
标签。这在标记可能属于多个输入标签的文本时非常有用。默认为false
。 -
results_field
- (可选,字符串)添加到传入文档中以包含推断预测的字段。默认为
predicted_value
。 -
tokenization
-
(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为
bert
。有效的标记化值为-
bert
:用于 BERT 风格的模型 -
mpnet
:用于 MPNet 风格的模型 -
roberta
:用于 RoBERTa 风格和 BART 风格的模型 -
[预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
xlm_roberta
:用于 XLMRoBERTa 风格的模型 -
[预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
bert_ja
:用于针对日语训练的 BERT 风格的模型。
tokenization 的属性
-
bert
-
(可选,对象)将使用随附的设置执行 BERT 风格的标记化。
bert 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
roberta
-
(可选,对象)将使用随附的设置执行 RoBERTa 风格的标记化。
roberta 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
mpnet
-
(可选,对象)将使用随附的设置执行 MPNet 风格的标记化。
mpnet 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
xlm_roberta
-
(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 将使用随附的设置执行 XLMRoBERTa 风格的标记化。
xlm_roberta 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
bert_ja
-
(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 将使用随附的设置执行针对日语文本的 BERT 风格的标记化。
bert_ja 的属性
-
truncate
-
(可选,字符串)指示当标记超过
max_sequence_length
时如何截断它们。默认值为first
。-
none
:不进行截断;推断请求会收到错误。 -
first
:仅截断第一个序列。 -
second
:仅截断第二个序列。如果只有一个序列,则截断该序列。
-
对于
zero_shot_classification
,假设序列始终是第二个序列。因此,在这种情况下不要使用second
。 -
-
-
-
示例编辑
响应取决于模型的类型。
例如,对于语言识别,响应是预测的语言和分数
resp = client.ml.infer_trained_model( model_id="lang_ident_model_1", body={ "docs": [ { "text": "The fool doth think he is wise, but the wise man knows himself to be a fool." } ] }, ) print(resp)
response = client.ml.infer_trained_model( model_id: 'lang_ident_model_1', body: { docs: [ { text: 'The fool doth think he is wise, but the wise man knows himself to be a fool.' } ] } ) puts response
POST _ml/trained_models/lang_ident_model_1/_infer { "docs":[{"text": "The fool doth think he is wise, but the wise man knows himself to be a fool."}] }
以下是预测英语可能性很高的结果。
{ "inference_results": [ { "predicted_value": "en", "prediction_probability": 0.9999658805366392, "prediction_score": 0.9999658805366392 } ] }
如果是文本分类模型,则响应是分数和预测的分类。
例如
resp = client.ml.infer_trained_model( model_id="model2", body={"docs": [{"text_field": "The movie was awesome!!"}]}, ) print(resp)
response = client.ml.infer_trained_model( model_id: 'model2', body: { docs: [ { text_field: 'The movie was awesome!!' } ] } ) puts response
POST _ml/trained_models/model2/_infer { "docs": [{"text_field": "The movie was awesome!!"}] }
API 返回预测的标签和置信度。
{ "inference_results": [{ "predicted_value" : "POSITIVE", "prediction_probability" : 0.9998667964092964 }] }
对于命名实体识别 (NER) 模型,响应包含带注释的文本输出和识别的实体。
resp = client.ml.infer_trained_model( model_id="model2", body={ "docs": [{"text_field": "Hi my name is Josh and I live in Berlin"}] }, ) print(resp)
response = client.ml.infer_trained_model( model_id: 'model2', body: { docs: [ { text_field: 'Hi my name is Josh and I live in Berlin' } ] } ) puts response
POST _ml/trained_models/model2/_infer { "docs": [{"text_field": "Hi my name is Josh and I live in Berlin"}] }
在这种情况下,API 返回
{ "inference_results": [{ "predicted_value" : "Hi my name is [Josh](PER&Josh) and I live in [Berlin](LOC&Berlin)", "entities" : [ { "entity" : "Josh", "class_name" : "PER", "class_probability" : 0.9977303419824, "start_pos" : 14, "end_pos" : 18 }, { "entity" : "Berlin", "class_name" : "LOC", "class_probability" : 0.9992474323902818, "start_pos" : 33, "end_pos" : 39 } ] }] }
零样本分类模型需要额外的配置来定义类别标签。这些标签在零样本推理配置中传递。
resp = client.ml.infer_trained_model( model_id="model2", body={ "docs": [{"text_field": "This is a very happy person"}], "inference_config": { "zero_shot_classification": { "labels": ["glad", "sad", "bad", "rad"], "multi_label": False, } }, }, ) print(resp)
response = client.ml.infer_trained_model( model_id: 'model2', body: { docs: [ { text_field: 'This is a very happy person' } ], inference_config: { zero_shot_classification: { labels: [ 'glad', 'sad', 'bad', 'rad' ], multi_label: false } } } ) puts response
POST _ml/trained_models/model2/_infer { "docs": [ { "text_field": "This is a very happy person" } ], "inference_config": { "zero_shot_classification": { "labels": [ "glad", "sad", "bad", "rad" ], "multi_label": false } } }
API 返回预测的标签和置信度,以及排名靠前的类别
{ "inference_results": [{ "predicted_value" : "glad", "top_classes" : [ { "class_name" : "glad", "class_probability" : 0.8061155063386439, "class_score" : 0.8061155063386439 }, { "class_name" : "rad", "class_probability" : 0.18218006158387956, "class_score" : 0.18218006158387956 }, { "class_name" : "bad", "class_probability" : 0.006325615787634201, "class_score" : 0.006325615787634201 }, { "class_name" : "sad", "class_probability" : 0.0053788162898424545, "class_score" : 0.0053788162898424545 } ], "prediction_probability" : 0.8061155063386439 }] }
问答模型需要额外的配置来定义要回答的问题。
resp = client.ml.infer_trained_model( model_id="model2", body={ "docs": [{"text_field": "<long text to extract answer>"}], "inference_config": { "question_answering": {"question": "<question to be answered>"} }, }, ) print(resp)
response = client.ml.infer_trained_model( model_id: 'model2', body: { docs: [ { text_field: '<long text to extract answer>' } ], inference_config: { question_answering: { question: '<question to be answered>' } } } ) puts response
POST _ml/trained_models/model2/_infer { "docs": [ { "text_field": "<long text to extract answer>" } ], "inference_config": { "question_answering": { "question": "<question to be answered>" } } }
API 返回类似于以下内容的响应
{ "predicted_value": <string subsection of the text that is the answer>, "start_offset": <character offset in document to start>, "end_offset": <character offset end of the answer, "prediction_probability": <prediction score> }
文本相似性模型至少需要两个文本序列进行比较。可以提供多个文本字符串以与另一个文本序列进行比较
resp = client.ml.infer_trained_model( model_id="cross-encoder__ms-marco-tinybert-l-2-v2", body={ "docs": [ { "text_field": "Berlin has a population of 3,520,031 registered inhabitants in an area of 891.82 square kilometers." }, { "text_field": "New York City is famous for the Metropolitan Museum of Art." }, ], "inference_config": { "text_similarity": {"text": "How many people live in Berlin?"} }, }, ) print(resp)
POST _ml/trained_models/cross-encoder__ms-marco-tinybert-l-2-v2/_infer { "docs":[{ "text_field": "Berlin has a population of 3,520,031 registered inhabitants in an area of 891.82 square kilometers."}, {"text_field": "New York City is famous for the Metropolitan Museum of Art."}], "inference_config": { "text_similarity": { "text": "How many people live in Berlin?" } } }
响应包含与 text_similarity
.text
字段中提供的文本进行比较的每个字符串的预测
{ "inference_results": [ { "predicted_value": 7.235751628875732 }, { "predicted_value": -11.562295913696289 } ] }
在调用 API 时可以覆盖标记化截断选项
resp = client.ml.infer_trained_model( model_id="model2", body={ "docs": [ { "text_field": "The Amazon rainforest covers most of the Amazon basin in South America" } ], "inference_config": { "ner": {"tokenization": {"bert": {"truncate": "first"}}} }, }, ) print(resp)
response = client.ml.infer_trained_model( model_id: 'model2', body: { docs: [ { text_field: 'The Amazon rainforest covers most of the Amazon basin in South America' } ], inference_config: { ner: { tokenization: { bert: { truncate: 'first' } } } } } ) puts response
POST _ml/trained_models/model2/_infer { "docs": [{"text_field": "The Amazon rainforest covers most of the Amazon basin in South America"}], "inference_config": { "ner": { "tokenization": { "bert": { "truncate": "first" } } } } }
当输入由于模型的 max_sequence_length
限制而被截断时,响应中会出现 is_truncated
字段。
{ "inference_results": [{ "predicted_value" : "The [Amazon](LOC&Amazon) rainforest covers most of the [Amazon](LOC&Amazon) basin in [South America](LOC&South+America)", "entities" : [ { "entity" : "Amazon", "class_name" : "LOC", "class_probability" : 0.9505460915724254, "start_pos" : 4, "end_pos" : 10 }, { "entity" : "Amazon", "class_name" : "LOC", "class_probability" : 0.9969992804311777, "start_pos" : 41, "end_pos" : 47 } ], "is_truncated" : true }] }