赞
踩
向量检索已在博客Elatstic search 8.0 在knn检索中的实践 中介绍
这里讨论NLP相关任务模块。
elastic search8.0在NLP任务上的基本框架有了如下变化:
目前支持:fill_mask, ner, text_classification, text_embedding和 zero_shot_classification这几类任务,因此transformer模型需要基于以上任务进行预训练或者微调。
从github 直接下载eland源码,进入bin文件夹,输入如下命令:
eland_import_hub_model --url <clusterUrl> \
--hub-model-id <id-name> \
--task-type ner
*** windows当中以上命令行报错,把eland_import_hub_model 添加.py后缀改成一个python脚本然后运行python脚本即可。***
这里<clusterUrl>为 elasticsearch 的http地址本地为:http://localhost:9200/
hub-model-id 为hugging face的 模型id ,进入模型界面复制过来即可:
task-type 为任务名称,即为目前支持的几类任务名称。
*** 出现模型加载界面即为成功 ***
加载完成以后可以在kibana上看自己的模型名称,在** Analytics-Machine Learning-Model Management**中可以看到:
然后输入如下api命令行:
POST _ml/trained_models/<model_id>/deployment/_start
model_id为模型名称,完成部署,在kibana模型下拉菜单可以看到模型支持的状态、任务和相关参数:
以上过程完成以后可以做一些NLP任务,我加载了两个模型,分别用来作中文的fill-mask和英文的情感分类,这一块我直接在kibana中完成,用postman也是可以的。
label 0对应sadness标签。
在Stack Management > Ingest Pipelines中创建和编辑pipline
具体步骤参见:Add NLP inference to ingest pipelines
然后就可以实现对检索结果的NLP任务。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。