腾讯云ES AI增强搜索:十分钟快速入门自然语言处理(NLP)与向量检索

【Elasticsearch】NLP简单应用 本文主要介绍了NLP在ES上的应用 阅读详情

| 导语 本文从腾讯云ES AI增强搜索相关能力介绍出发,通过集群部署、模型上传、效果验证等全流程演示,从零到一完成基于腾讯云ES的自然语言处理(NLP)与向量检索实践。

引言

腾讯云Elasticsearch Service近期上线的ES 8.8.1版本,提供了强大的云端AI增强能力,支持在统一技术栈中完成文本+向量的混合搜索,实现自然语言处理以及与大模型的集成,助力客户实现由AI驱动的高级搜索能力,为搜索与分析带来全新的前沿体验。本文将从集群部署、模型上传、效果展示等方面进行演示,基于腾讯云ES快速完成自然语言处理(NLP)与向量检索实践。

AI增强搜索能力

向量检索

除了经典的文本搜索以外,ES 8.8.1支持端到端的向量生成、向量索引、向量相似性比较,无需额外的平台进行向量推理。在生产中,企业可以将腾讯云ES作为向量数据库使用,有效地创建、存储和搜索密集向量,为用户提供更加智能的搜索功能。例如,企业可在腾讯云ES上传自定义大数据模型来做Embedding,如词嵌入模型(Word Embedding)或深度学习模型(如BERT),在读写过程中实时将图片、文本等数据转换为向量,然后存入Elasticsearch构建索引并进行相似度召回。

1ac76955de5591328fecf0b0f67a223a.png

图一

混合排序算法

腾讯云ES8.8.1版本使用最新的Reciprocal Rank Fusion (RRF) 混合排序算法,可同时支持全文检索和向量搜索,让开发人员更好地优化Al搜索引擎,实现语义和关键字的组合查询。

71b4d136fdbb55f6f54f21f5abfdbf85.png

图二

自然语言处理

腾讯云ES 8.8.1版本具备强大的自然语言处理能力,可以处理各种NLP任务和模型,使得搜索结果更加符合自然语言的语义。用户可以直接在 ES中使用 PyTorch机器学习模型(例如 BERT),并在 ES 中使用这些模型进行推理。

c534db51455f4cadee26995417363dd3.png

图三

与大语言模型的结合

LLM大语言模型虽然可以根据历史的数据生成连贯且与上下文相关的响应,但它无法访问特定领域的数据或提供独特知识库的个性化答案。因此,如果需要大语言模型更“懂”用户需要什么,与ES结合是最优的选择之一。具体而言,企业可将文本数据以及向量化后的数据存入ES构建索引并进行混合搜索。同时,在召回后,可选择将TOP n的结果集传入LLM大语言模型(如ChatGPT、混元) 等,对信息进行对话式结果整合,最终返回给用户,实现对话式搜索。

b1c3d981d87773bec2ad231944e9ada1.png

图四

快速实践

集群部署

在腾讯云Elasticsearch Service 上创建白金版 ES 8.8.1 集群。

3017b42e418336b9e121adbd1fa5ec7a.png

图五

为确保模型能正常上传以及加载,推荐购买4核8G以上的节点规格。

模型上传

ES 支持通过Eland进行模型上传,我们可通过 Pip或者Docker的方式从本地或者开源社区(例如Hugging Face)将模型上传至ES中。

ba9cbc406d7aa07727f6c1506e87eec3.png

图六

说明:Pip安装Eland对于python以及numpy等版本均有依赖,如果是从本地进行模型上传,推荐使用Docker的方式。

一、获取集群访问地址

通过「ES集群管理」-> 点击「集群名称」->「访问控制」路径,进入访问控制页面,获取用户名密码以及集群访问地址。

说明:如果是本地上传,需要使用公网访问地址,并将IP白名单设置为当前机器的IP地址;公网访问仅适用于测试环境,在生产环境中,推荐使用内网访问。

ee21f02d2be1cfe5bceada32c5fea7f5.png

图七

二、获取模型地址

以 Hugging Face为例,我们可搜索所需的模型,进入对应页面后,点击复制按钮。

6338648f36963d75f4d2dcceeb6766da.png

图八

ES目前已支持NER、Text_Classification、Text_Embedding、Fill_Mask、Question_Answering 和 Zero_Shot_Classification等类型模型。

三、上传模型

格式如下:

docker run -it --rm docker.elastic.co/eland/eland  eland_import_hub_model --url ES集群访问地址 -u 用户名 -p 密码  --hub-model-id 模型名称 --task-type 任务类型 --start --insecure

任务类型可选为:fill_mask、ner、text_classification、text_embedding、question_answering 、 zero_shot_classification

例如,我将embbeding模型 sentence-transformers/msmarco-bert-base-dot-v5上传到ES中:

docker run -it --rm docker.elastic.co/eland/eland  eland_import_hub_model --url 我的集群访问地址 -u 用户名 -p 密码  --hub-model-id sentence-transformers/msmarco-bert-base-dot-v5 --task-type text_embedding --start --insecure

上传成功后,我们即可在Kibana中看到我们的模型:

2bb745f7e0216fa28ac1165266734a7c.png

图九

Eland更多使用方式,请参考https://github.com/elastic/eland#getting-started。

效果演示

本次演示,我分别上传了NER、Text_Classification、Fill_Mask、Text_Embedding四种类型的模型。我们可进入Kibana的Dev tools页面,进行相关验证。Kibana 公网访问需设置IP白名单,您可在界面「公网访问策略」进行设置,设置完成后,点击「Kibana公网访问地址」。

7c8a75d77c894d3226f8d6ec64f656a7.png

图十

进入Kibana后,在右侧选择「Dev tools」:

2a1a5820db3fdc0ff0d1a6824944b11c.png

图十一

一、命名实体识别(NER)

POST /_ml/trained_models/elastic__distilbert-base-cased-finetuned-conll03-english/deployment/_infer
{
  "docs": {
    "text_field": "Kevin said that Shenzhen is a vibrant city"
  }
}

该示例中,NER模型将“Kevin”识别成了“人”,将“Shenzhen”识别成了“地点”:

da36cfce18fdbc890c27b87cd85094e3.png

图十二

POST /_ml/trained_models/elastic__distilbert-base-cased-finetuned-conll03-english/deployment/_infer
{
  "docs": {
    "text_field": "Kevin said that Tencent was a great company in the world"
  }
}

该示例中,NER模型将“Kevin”识别成了“人”,将“Tencent”识别成了“组织”:

7eb0c4c39c39394d5035277daf4b3df2.png

图十三

二、情绪分析(Text_Classification)

POST _ml/trained_models/distilbert-base-uncased-finetuned-sst-2-english/deployment/_infer 
{
  "docs": { "text_field": "Tencent,I love you!"}
}

e87e238f91dca6a8b7bffbd05fa56731.png

图十四

POST _ml/trained_models/distilbert-base-uncased-finetuned-sst-2-english/deployment/_infer 
{
  "docs": { "text_field": "I do not like that model!"}
}

该示例中,情绪模型将"I do not like that model!"分类为消极情绪:

ba79c3b9f26a0e98310479946d258cfb.png

图十五

三、填空模型(Fill_Mask)

POST /_ml/trained_models/bert-base-uncased/deployment/_infer
{
  "docs": {
    "text_field": "Paris is the [MASK] of France"
  }
}

0a754e6e3a434d2fa655a54154a73328.png

图十六

POST /_ml/trained_models/bert-base-uncased/deployment/_infer
{
  "docs": {
    "text_field": "Beijing is the capital of [MASK]."
  }
}

2e0c7e20321727f08096b11cb17e436f.png

图十七

四、文本向量化(Text_Embedding)

all-MiniLM-L6-v2是一个用于文本的embedding模型,可将句子和段落映射到 384 维密集向量空间,进行聚类或语义搜索等任务。

98f5c5aca32329ce1c27ce7d13b10342.png

图十八

POST /_ml/trained_models/sentence-transformers__all-minilm-l6-v2/deployment/_infer
{
  "docs": {
    "text_field": "Elasticsearch"
  }
}

从返回中可以看出,文本“Elasticsearch”最终被映射为384维的向量数据。

03f5396d87b31c34d2e00539d79fc6ae.png

图十九

总结

腾讯云ES 8.8.1版本支持在单一端到端搜索与分析平台中实现自然语言处理、向量搜索以及与大模型的集成,支持高达十亿级向量检索,平均响应延迟控制在毫秒级。使用该服务,我们可以轻松便捷地创建集群、部署NLP模型,并进行搜索和推理任务。

本文从腾讯云ES AI增强搜索相关能力介绍出发,通过集群部署、模型上传、效果验证等全流程演示,从零到一完成了基于腾讯云ES的自然语言处理(NLP)与向量检索实践。

在未来,我们也将继续优化腾讯云ES,以满足企业级生产环境的更多需求,并为用户提供更好的使用体验。我们将不断努力,为人工智能助手的开发和应用带来更多创新和便利。

欢迎扫码加入腾讯云ES AI增强与向量检索交流群:

3cb7db646b58487baaaec5b56c2a3de9.png

推荐阅读

8a9cf875146c7c364c7809146a0311f0.jpeg

a93e1d382a784e4eaa95c97cda140fff.jpeg

c0c8eb314b055bc9d0220f542871a34d.jpeg

关注腾讯云大数据公众号

邀您探索数据的无限可能

37fe0b85f82ac9477b778c6428efc1f5.png

点击阅读原文,了解更多资讯

↓↓↓

Enterprise Architect 中文经典教程 本文使用到的EA工程文件下载 一、Enterprise Architect简介 Enterprise Architect是一个对于软件系统开发有着极好支持的CASE软件(Computer Aided Software Engineering)。EA不同于普通的UML画图工具(如VISIO),它将支撑系统开发的全过程。在需求分析阶段,系统分析与设计阶段,系统开发及部署等方面有着强大的支持,... 阅读详情

相关推荐

Android应用之【巧妙隐藏桌面图标的进阶方案】

本文详细探讨了Android应用中隐藏桌面图标的进阶方案,解决了传统方法在Android 10及以上版本中出现的黑色图标残留问题。通过Intent-Filter配置和厂商适配技巧,实现子应用真正隐身,同时确保主应用正常启动。适用于企业工具套件、模块化系统等场景,提升用户体验和安全性。

weixin_28363123的博客 507

阿里云Elasticsearch AI搜索实践

本文介绍了阿里云 Elasticsearch 在AI 搜索方面的技术实践与探索。

科技很有意思 1882

机器学习模型系列:随机森林的原理和示例介绍

让我们总结一下与其他监督式机器学习模型相比,随机森林的优缺点。优点在许多真实数据集上已知能提供高度准确的模型。通过结合多个决策树的预测,可以捕捉数据集中的复杂交互和模式。通过自动选择相关特征,可以有效处理高维数据集。与单个决策树相比,不容易过拟合。自助采样和每个节点的随机特征选择有助于减少过拟合并改善泛化能力。可以处理包括数值和分类特征在内的异构数据类型。可以处理缺失值而不需要填充。提供特征重要性的度量。集成中的树可以并行训练,因为每个决策树可以独立构建。模型的泛化误差具有理论上的界限。

数智笔记 1万+

es混合检索与langchain检索增强

Elasticsearch全文检索,混合检索,向量检索,语义检索,kNN检索,rrf重排,langchain检索增强

峰 2859

向量化和向量数据库的开发步骤,以及本地docker下载Redis-stack-server,以及如何将文本转成向量,以及文本向量化成功后将数据存入到Redis-stack-server这个向量数据库

内存可以作为向量数据库,但是一重启一断电数据就没了这了选择RedisStack作为向量数据,用来向量的存储,未来会改名成Redis8,也就是在原本的Reids的功能上增加了新的特性,本质上还是Redis向量数据库还可以用ElaticSearch、MongoDB等。

qq_61723836的博客 1082

ECMWF等大气数据批量下载(Python API)详细步骤

ECMWF等大气数据批量下载(Python API) 遥感方向做热红外温度反演,不可避免的要用到大气廓线数据,大气数据具有实时性,比如2018年9月1日的早上8点的影像,为了提高反演精度就需要用到时间上与其相差尽可能接近的大气数据,用于消除大气的影响,如果数据量较少我们可以查看影像的时间和空间范围进行下载,但是如果处理某个较大区域时可能涉及到大量的影像,如果一景一景对应查找去下载会很麻烦,因此针对大量数据的自动批量下载很有必要。本文根据 https://cds.climate.copernicus.eu/#

liuxiaojiangtobeno1的博客 1万+

Elatstic search 8.0 在nlp任务中的实践

文章目录NLP模块介绍支持的任务实践模型加载模型部署NLP任务创建pipline总结 Elastic search 8.0 在今年2月份更新,涉及nlp方面的有两个大的功能点,分别为: 向量检索提高搜索相关性 NLP组件支持NLP任务 向量检索已在博客Elatstic search 8.0 在knn检索中的实践 中介绍 这里讨论NLP相关任务模块。 NLP模块介绍 elastic search8.0在NLP任务上的基本框架有了如下变化: es内置工具eland 在8.0之前支持数据统计和数据挖掘功

loveitlovelife的博客 2555

CAN XL和10Base-T1S全对比:在区域架构中如何选择最适合的车载通信协议?

本文深入对比了CAN XL和10Base-T1S在车载网络架构中的性能差异,通过实测数据和典型应用场景分析,为区域架构设计提供选型指南。重点探讨了带宽、延迟、成本等关键指标,帮助工程师在ADAS传感器部署和车身控制网络优化中做出明智选择。

pear55的博客 595

NLP专题之一:初探ES与NLP

7与8都支持NLP,区别是:8.0集成度高,支持度更好。

u022726741的博客 266

Microsemi Libero系列教程(全网首发)

关于Libero IDE和Libero SoC Libero分为Libero IDE和Libero SoC,Libero IDE最新版本是v9.2 SP3(2016年4月4日)已经不再更新维护了,而Libero SoC是Libero IDE的升级版,官方推荐的开发工具,文中的Libero指的是Libero SoC。 Libero SoC Libero® SoC是Microsemi(美高森美)官方...

whik1194的博客 2万+

Cursor自动生成测试用例

或者把你已有的规则直接复制粘贴到这个文档内(这里我用的是Markdown格式和CSV格式的测试用例生成规则,可以同时生成Markdown和CSV格式的测试用例)。在AI对话框这里,我们可以看到Cursor会逐步来帮我们生成测试用例,先分析识别需求文档,然后生成测试用例,最后会进行质量检查,确保生成的用例符合规范。生成的Markdown格式,可直接导入Xmind,生成思维导图,对应到具体的功能模块看具体的测试点,逻辑会更直观一些。(1)选中规则文档和需求文档:@你的测试用例规则文档@你的需求文档。

十二测试录 2432

基于腾讯云ES混合搜索与DeepSeek,十分钟构建RAG 应用

点击蓝字⬆ 关注我们本文共计1669字 预计阅读时长6分钟随着数据智能技术的不断发展,以大语言模型(LLM)驱动的AIGC为代表的内容生成技术已经成为企业数据智能能力中不可或缺的一部分,但传统的内容生成技术存在信息更新不及时、垂直领域知识匮乏、模型幻觉等问题,如何推进大模型在各行业、各业务场景落地是各方普遍关注的问题,而检索增强生成(Retrieval-Augmented Generation,R...

cloudbigdata的博客 2587

【数字孪生与仿真技术】10:半导体制造中的虚拟量测技术深度解析:从多尺度建模到工业级应用

摘要:半导体制造过程中,晶圆加工需实时监测300+关键参数,传统物理量测技术面临产能损耗、延迟检测等痛点。本文系统阐述虚拟量测(Virtual Metrology)技术的完整解决方案,通过多尺度混合建模实现物理机理与数据驱动的深度融合。内容涵盖等离子体刻蚀、薄膜沉积等关键工艺的物理模型构建,LSTM神经网络的数据校正算法,以及边缘-云协同的实时部署架构。某12英寸晶圆厂实践表明,虚拟量测技术可减少70%物理量测频次,异常漏检率从18%降至3%,机台利用率提升11%。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2552

RAG 实践:腾讯云ES&混元,十分钟构建你的专属 AI 助手

背景概述随着数据智能技术的不断发展,以大语言模型(LLM)驱动的 AIGC 为代表的内容生成技术已经成为企业数据智能能力中不可或缺的一部分,但传统的内容生成技术存在信息更新不及时、垂直领域知识匮乏、模型幻觉等问题,如何推进大模型在各行业、各业务场景落地是各方普遍关注的问题,而检索增强生成(Retrieval-Augmented Generation,RAG)技术则为此提供了有效的解决方案,成为数据...

cloudbigdata的博客 1184

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Elasticsearch:使用 Streamlit、语义搜索和命名实体提取开发 Elastic Search 应用程序

一切都是一个搜索问题。我在 Elastic 工作的第一周就听到有人说过这句话,从那时起,这句话就永久地印在了我的脑海中。这篇博客的目的并不是我出色的同事对我所做的相关陈述进行分析,但我首先想花点时间剖析一下这个陈述。自成立以来,Elasticsearch 一直处于技术前沿 - 打破软件领域的模式,为世界各地家喻户晓的公司的技术支柱提供动力。我们倾向于将 Elastic 的产品分为几个 “OTB” 解决方案 - 安全性、可观察性等,但剥离这些,我们正在解决的问题基本上是面向搜索的。

Elastic 中国社区官方博客 4838

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Elasticsearch:使用向量搜索来查询及比较文字 - NLP text embedding

文本嵌入(text embedding)是一项产生称为嵌入的文本数学表示的任务。机器学习模型将文本转换为数值数组(也称为向量)。具有相似含义的内容片段具有相似的表示。这意味着可以通过使用数学相似性函数来确定不同的文本片段在语义上是否相似、不同甚至相反。此任务仅负责生成嵌入。创建嵌入时,可以将其存储在字段中并在搜索时使用。例如,你可以在k-nearest (kNN) 搜索中使用这些向量来实现语义搜索功能。

Elastic 中国社区官方博客 7922

Elasticsearch:如何通过 3 个简单步骤从 Elastic 数据中删除个人身份信息

Redact 处理器使用 Grok 规则引擎来模糊输入文档中与给定 Grok 模式匹配的文本。该处理器可用于通过配置检测电子邮件或 IP 地址等已知模式来隐藏个人识别信息 (PII)。与 Grok 模式匹配的文本将替换为可配置字符串,例如匹配电子邮件地址的 ,或者如果愿意,只需将所有匹配项替换为文本 。

Elastic 中国社区官方博客 1570

Elasticsearch:利用搜索提高医疗保健公平 - 用多语言 NLP 模型和分析来改善最终用户体验

随着更高生产力和更健康的人群寿命更长,医疗保健将成为社会最重要的方面之一。COVID-19 大流行加速了现代技术的采用,并凸显了患者体验的重要性。随着越来越多的消费者开始控制他们的数据,医疗保健系统变得捉襟见肘。根据发布的一项研究,92% 的医疗保健技术领导者将数字能力视为实现更好患者体验的途径。在这篇博文中,我们将探讨 Elastic 的搜索功能如何帮助解决健康公平的潜在障碍,正如医疗保险和医疗补助服务中心 (CMS)中概述的那样 — 特别是如何向受益人提供医疗信息的。

Elastic 中国社区官方博客 2910

elasticsearch 内网下如何以离线的方式上传任意的huggingFace上的NLP模型(国内避坑指南)

es自2020年的8.x版本以来,就提供了机器学习的能力。我们可以使用es官方提供的工具eland,将hugging face上的NLP模型,上传到es集群中。利用es的机器学习模块,来运维部署管理模型。配合es的管道处理,来更加便捷的处理数据。但是在国内操作,根据官方文档或者根据官方博客操作,有无穷无尽的坑。看着官方的文档写的很清楚,实际上操作的时候,还是操作不下来。这里写一个闭坑指南。在你上车体验ES的机器学习之前,看看我这篇文章,肯定是会有收获的。因为我已经花了时间,踩了坑,并解决了它。

Angus 3882

ChatGPT 和 Elasticsearch:OpenAI 遇见私有数据(二)

结合 Elasticsearch 的搜索相关性和 OpenAI 的 ChatGPT 的问答功能来查询你的数据。 在此博客中,你将了解如何使用 Elasticsearch 将 ChatGPT 连接到专有数据存储,并为你的数据构建问答功能。

Elastic 中国社区官方博客 5445

使用ElasticSearch 和 BERT进行NLP文本分析

docker官方的镜像库比较慢,在进行镜像操作之前,需要将镜像源设置为国内的站点。sudo gpasswd -a docker。如何在wsl2 下面安装docker,可以参考我之前的博客。新版es 新增的 机器学习 算法(比如异常检测)...

m0_67393593的博客 561

Elasticsearch:NLP 和 Elastic:入门

自然语言处理 (Natural Language Processing - NLP) 是人工智能 (AI) 的一个分支,专注于尽可能接近人类解释的理解人类语言,将计算语言学与统计、机器学习和深度学习模型相结合。

Elastic 中国社区官方博客 3755

基于Es和智普AI实现的语义检索

语义检索是一种利用自然语言处理(NLP)和人工智能(AI)技术来理解搜索查询的语义,以提供更准确和相关搜索结果的搜索技术,语义检索是一项突破性的技术,旨在通过深入理解单词和短语的含义及上下文来提供更为准确的搜索结果。与传统的基于关键词的搜索不同,语义检索侧重于查询的意图和语境,而不仅仅是关键词的直接匹配。

qq_17805707的博客 1910

在 Elasticsearch Serverless 上使用 Eland

本博客将向你展示如何使用 Eland 将机器学习模型导入 Elasticsearch Serverless,然后如何使用类似 Pandas 的 API 探索 Elasticsearch。

Elastic 中国社区官方博客 1901

Elasticsearch的机器学习与自然语言处理

1.背景介绍 1. 背景介绍 Elasticsearch是一个基于分布式搜索的开源搜索引擎,它提供了实时、可扩展和高性能的搜索功能。在大数据时代,Elasticsearch在各种应用场景中发挥着重要作用。然而,在处理自然语言处理(NLP)和机器学习(ML)方面,Elasticsearch的表现并不理想。因此,本文旨在探讨Elasticsearch在NLP和ML领域的应用,并提出一些改进方法。 ...

AI天才研究院 1147

自然语言处理:Elasticsearch的自然语言处理

1.背景介绍 自然语言处理(Natural Language Processing,简称NLP)是一门研究如何让计算机理解、生成和处理人类自然语言的科学。自然语言处理是人工智能的一个重要分支,涉及语言理解、语言生成、语言翻译、情感分析、语音识别、语音合成等多个领域。 Elasticsearch是一个开源的搜索引擎,基于Lucene库,提供了实时搜索和分析功能。Elasticsearch的自然语...

AI天才研究院 1186
上一篇: 腾讯云ES RAG最佳实践:百行代码轻松实现帮助文档的智能问答
下一篇: 腾讯云ES RAG最佳实践:向量+文本混合搜索的相关性调优
腾讯云大数据
博客等级 码龄6年 348粉丝 218原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值