Elasticsearch:为现代搜索工作流程和生成式人工智能应用程序铺平道路

news2024/12/24 10:09:59

作者:Matt Riley

Elastic 的创新投资支持开放的生态系统和更简单的开发者体验。

在本博客中,我们希望分享 Elastic® 为简化你构建 AI 应用程序的体验而进行的投资。 我们知道,开发人员必须在当今快速发展的人工智能环境中保持灵活性。 然而,常见的挑战使得构建生成式人工智能应用变得不必要的僵化和复杂。 仅举几例:

  • 向量 — 从可以使用多少向量到可以使用哪些向量以及如何对大段文本进行分块
  • 评估、交换和管理大型语言模型 (LLM)
  • 设置有效的语义搜索(特别是如果你的开发团队资源有限或有技能上的差距)
  • 利用现有投资和当前架构,同时平衡技术债务
  • 从概念验证扩展到生产
  • 确保最终用户应用程序快速、经济高效,并在响应查询时反映安全、最新的专有数据
  • 实施分散且复杂

灵活的工具可帮助你快速适应、响应变化并加速你的项目。 这就是为什么 Elastic 建立在 Apache Lucene 的基础上,提供最好的开放代码向量数据库和搜索引擎。 Elastic 还积极与整个生态系统合作,以扩大对转换器(transformer)和基础模型的支持。

此外,我们还利用 Elastic 专有的 Learned Sparse EncodeR 模型 ELSER(现已已正式发布)让开箱即用的高度相关语义搜索变得更加容易。 我们正在减少与检索增强生成 (RAG) 相关的成本和处理时间,该检索过程为自定义用例的从专有数据源到 LLM 的自然语言查询提供相关响应。 而且,我们正在简化 Elasticsearch® 的开发人员体验,以便实现简单明了。

开发人员正在积极塑造生成式人工智能应用程序的未来。 Elastic 的突破性投资(以及即将到来的更多投资)反映了为什么我们的人工智能搜索分析平台是新一代搜索工作负载的最佳选择。

一切都在 Apache Lucene 上

这一切都始于 Apache Lucene,这是一个开源搜索引擎软件库,经受住了时间的考验,并为 Elasticsearch 提供了基础。 虽然 Elasticsearch 凭借其在向量搜索、可扩展性和性能方面的创新,已成为下载次数最多的向量数据库,但我们平台的优势源于 Elastic 和 Lucene 社区首先投资于 Apache Lucene 的这些进步。 事实上,Elastic 有着增强 Lucene 功能的历史,例如数字和地理空间搜索功能、Weak AND 支持以及改进的列式存储。 推动 Lucene 社区的发展意味着每个人都走得更远、更快。 作为这些投资的推动者意味着 Elastic 用户首先会获得根据其搜索需求量身定制的价值。

在 Elastic,我们知道 Lucene 具有超越全文搜索的潜力:开发人员需要全面的功能来构建搜索应用程序和生成式 AI 体验,包括聚合、过滤、分面等。最终,我们有望使 Lucene 成为最领先的 - 全球领先的向量数据库,并与全球数百万 Elasticsearch 用户分享其功能。 这就是为什么 Elastic 的开发人员定期向 Lucene 提交代码并利用其基础代码进行新项目的原因,例如:

  • 将最大内积引入 Lucene
  • 使用 SIMD 指令加速向量搜索
  • 提供完整的文档向量搜索,允许文档在一个字段内具有多个向量,并按最相似的向量进行排名 - 处理从长文本段落派生的正确评分向量的复杂性,以解决一个常见的挑战 - 当使用文本嵌入时,维护大型文本的整体上下文
  • Lucene 中的融合乘加 (FMA)

由于 Elasticsearch 构建在 Lucene 之上,因此当你升级到我们的最新版本时,你将自动受益于所有最新改进。 我们已经开始通过向 Lucene 添加标量量化支持(一项关键的成本节约功能)来贡献客户所需的下一个基础投资。

在语义搜索和 RAG 方面首屈一指

开发人员的任务是构建相关、高性能且经济高效的搜索和生成人工智能应用程序。 很简单,你需要能够从所有专有数据源检索数据来构建 RAG,从而提供最佳、最相关的结果。 为此,我们为企业数据库和流行的生产力工具以及 OneDrive、Google Drive、GitHub、ServiceNow、Sharepoint、Teams、Slack 等内容源添加了更多本机连接器和连接器客户端。

更值得注意的是,在 Elastic 8.11 版本中,我们宣布全面推出 Elastic Learned Sparse EncodeR (ELSER)。 这是我们专有的人工智能模型,用于提供世界一流的语义搜索。 ELSER 是一种预先训练的文本检索模型,可提供跨领域高度相关的结果,并允许你通过执行几个简单的步骤来实现语义搜索。 自 5 月份推出技术预览版以来,ELSER 已得到广泛采用,使我们能够根据客户反馈进行改进。 我们的正式版 ELSER 模型提高了相关性并减少了摄取和检索时间。 你现在可以升级以利用这些增强功能。

生成式人工智能领域面临的另一个障碍是:更高的计算成本和更慢的响应时间。 生成式 LLM 调用会产生每个 token 的成本,并且需要额外的处理,这需要时间。 然而,凭借嵌入和快速 k 最近邻算法 (kNN) 的强大功能,Elastic 可以用作生成式 AI 应用程序的缓存层,轻松识别类似的查询和响应,并提供更快、更具成本效益的答案。 就成本效率而言,在 AWS 上,我们现在还提供向量搜索优化的 Elastic Cloud 硬件配置文件,具有最佳的默认 RAM 比率,能够以经济高效的方式存储更多向量。

Elastic 在使语义搜索和 RAG 易于一起使用方面做得越好,开发人员就能越快地为最终用户打造出色的生成式 AI 体验。 这就是为什么我们专注于让开发人员能够轻松实用地使用该技术。

整个生态系统的选择和灵活性

通过开放平台帮助你快速响应人工智能时代的变化,你可以在其中使用各种工具和一致的标准,这是加速生成式人工智能项目的关键。 这就是为什么开发人员可以在 Elasticsearch 中灵活使用和托管各种 Transformer 模型,包括私有和公共 Hugging Face 模型。 你还可以将由 AWS SageMaker、Google Vertex AI、Cohere、OpenAI 等第三方服务生成的向量存储在 Elasticsearch 中。

我们还扩大了对生态系统工具的支持,以便你可以轻松地将 Elasticsearch 与 LangChain 和 LlamaIndex 一起用作向量数据库。 事实上,我们最近与 LangChain 团队就 LangChain Templates 进行了合作,以帮助开发人员构建可立即投入生产的生成式 AI 应用程序。 感谢我们的社区,Elastic 已经成为 LangChain 上最受欢迎的矢量商店之一。 现在,借助新的 RAG 模板,你可以使用 LangSmith 和 Elasticsearch 创建生产级功能。

简单的开发者体验

我们致力于打造简化的开发者体验。 我们正在发布简化的命令,这些命令抽象了推理和模型管理工作流的复杂性,你可以在一个简单的 API 后面使用这些工作流。 我们正在改进密集向量的默认设置,并提供自动映射。 通过一次调用,你可以总结结果或将文本嵌入任何模型的向量,从而减少构建和学习所需的时间。

很快,我们将推出 Elastic 的新无服务器(severless)架构,这是一个新的部署选项,适合那些想要专注于创造创新体验而不是管理底层基础设施的开发人员。 我们专注于为你提供所需的所有工具,因此我们在 Python、PHP、JavaScript、Ruby、Java、.Net 和 Go 的无服务器架构中添加新的语言客户端。

我们还清楚地意识到,开始使用快速变化的新技术可能具有挑战性,这就是为什么我们为每个 Elastic 部署选项提供简单的入门指导和代码,包括实际示例来帮助你快速启动新项目。

现在是成为一名 Elasticsearch 开发人员的最佳时机。 我们最近的研究和开发工作正在使 Lucene 成为世界上最好的向量数据库。 我们确保语义搜索和 RAG 在易用性、相关性、速度、规模和成本效率方面无与伦比。 我们将生态系统的开放性、灵活性和简单性作为开发者体验的核心。

准备好开始在 Elasticsearch 上构建下一代搜索了吗? 尝试 Elasticsearch Relevance Engine™,这是我们用于构建 AI 搜索应用程序的开发人员工具套件。

本文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。 当前不可用的任何特性或功能可能无法按时交付或根本无法交付。

在这篇博文中,我们可能使用或引用了第三方生成人工智能工具,这些工具由其各自所有者拥有和运营。 Elastic 对第三方工具没有任何控制权,我们对其内容、操作或使用不承担任何责任,也不对你使用此类工具可能产生的任何损失或损害负责。 使用人工智能工具处理个人、敏感或机密信息时请务必谨慎。 你提交的任何数据都可能用于人工智能培训或其他目的。 无法保证你提供的信息将得到安全或保密。 在使用之前,你应该熟悉任何生成式人工智能工具的隐私惯例和使用条款。

Elastic、Elasticsearch、ESRE、Elasticsearch Relevance Engine 和相关标记是 Elasticsearch N.V. 在美国和其他国家/地区的商标、徽标或注册商标。 所有其他公司和产品名称均为其各自所有者的商标、徽标或注册商标。

原文:Paving the way for modern search workflows and generative AI apps | Elastic Blog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1275647.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【沐风老师】3DMAX一键多曲线生成工具ChaosLine插件使用方法详解

3DMAX一键多曲线生成工具ChaosLine插件使用教程 3DMAX一键多曲线生成工具ChaosLine插件,沿着引导线路径形状生成规则(螺旋线等)和不规则(随机)形状的曲线。它允许你沿着任何引导形状创建有趣的图案和效果。这包括电线、…

【寒武纪(6)】MLU推理加速引擎MagicMind,最佳实践(一)

文章目录 MagicMind 依赖 示例C 编程模型sample_ops/sample_add 算子操作 混合精度部署多模型部署单模型多实例部署多卡部署 最佳实践1、性能指标吞吐率延时工具 mm_run性能优化 2内存工具Profiler工具3性能和精度差异说明 MagicMind 依赖 MM 是将训练好的模型转换成统一计算图…

异常详解~

Java提供的异常机制使程序的变得更加健壮【健壮性】,程序不会那么容易崩溃 异常详解 1.异常的基本概念 Java语言中,将程序执行过程中发生的不正常的情况称为异常 注:程序中的语法错误和逻辑错误不是异常 2.一个小case快速了解异常 public c…

FileInputStream 与 FileOutputStream

IO流:存贮和解决数据的存储方案 以上都是抽象类,不能创建实例 FileOutputStream 操作本地的文件,把文件写入本地磁盘 步骤: 1.创建字节输出流对象 参数是字符串表示的路径或者是File对象都是可以的如果文件不存在会创建一个新的…

ChatGPT探索:提示工程详解—程序员效率提升必备技能【文末送书】

文章目录 一.人工智能-ChatGPT1.1 ChatGPT简介1.2 ChatGPT探索:提示工程详解1.2 提示工程的优势 二.提示工程探索2.1 提示工程实例:2.2 英语学习助手2.3 Active-Prompt思维链(CoT)方法2.4 提示工程总结 三.文末推荐与福利3.1《Cha…

防孤岛装置在光伏发电、燃气发电等新能源并网供电系统的应用

• AM5SE-IS防孤岛保护装置主要适用于35kV、10kV及低压380V光伏发电、燃气发电等新能源并网供电系统。 • 当发生孤岛现象时,可以快速切除并网点,使本站与电网侧快速脱离,保证整个电站和相关维护人员的生命安全**。 保护功能** ● 三段式过流…

【2024年趋势】推荐5个好用的产品手册制作工具

随着科技的快速发展,人们对于网站产品手册的需求也日益增加。一份详细且易用的产品手册可以帮助用户更好地了解和使用产品,提高用户满意度和忠诚度。之前整理了一期关于2023年我推荐的一些知识库软件,已经12月了,最近我也去关注了…

Ranger安装和使用

Ranger部署 1.准备 1.1 编译 Ranger编译(已经编译过的话,直接看1.2) 1.1.1 准备到Ranger官网下载ranger的源码:http://ranger.apache.org/download.html 1.1.2 Ranger编译的过程实在非虚拟机环境下完成的,下载好r…

简单了解下IP的全球划分【笔记】

国际互联网号码分配机构 (The Internet Assigned Numbers Authority,简称IANA)。它是互联网名称与数字地址分配机构(The Internet Corporation for Assigned Names and Numbers,简称ICANN)旗下的一个机构,主…

wpf devexpress 使用IDataErrorInfo实现input验证

此处下载源码 当form初始化显示,Register按钮应该启动和没有输入错误应该显示。如果用户点击注册按钮在特定的输入无效数据,form将显示输入错误和禁用的注册按钮。实现逻辑在标准的IDataErrorInfo接口。请查阅IDataErrorInfo接口(System.Com…

机器学习(2)回归

0.前提 上一期,我们简单的介绍了一些有关机器学习的内容。学习机器学习的最终目的是为了服务我未来的毕设选择之一——智能小车,所以其实大家完全可以根据自己的需求来学习这门课,我做完另一辆小车后打算花点时间去进行一次徒步行&#xff0…

【ONNX】多个ONNX 模型合并为一个模型

ONNX 模型直接合并,输入和输出不一致也可以,各自输入输出各自的 示例代码 import onnxruntime# version : 1.16.0 import onnxdef log_model(model):model_1_outs {o.name for o in model.graph.output}model_1_ins {i.name for i in model.graph.in…

【Web】NISACTF 2022 个人复现

目录 ①easyssrf ②babyupload ③ level-up ④bingdundun~ 明天就新生赛了,练套题保持下手感吧 (文章只选取了一部分) ①easyssrf 输入/flag 输入file:///fl4g 访问/ha1x1ux1u.php ?filephp://filter/convert.base64-encode/resource/…

PyQt基础_012_对话框类控件QInputDialog

基本操作 import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class InputdialogDemo(QWidget):def __init__(self, parentNone):super(InputdialogDemo, self).__init__(parent)layout QFormLayout()self.btn1 QPushButton(&qu…

YOLOv8改进 | 2023 | AKConv轻量级架构下的高效检测(可变核卷积)

一、本文介绍 本文给大家带来的改进内容是AKConv(可变核卷积)是一种创新的卷积神经网络操作,它旨在解决标准卷积操作中的固有缺陷(采样形状是固定的),AKConv的核心思想在于它为卷积核提供了任意数量的参数…

Android超简单实现-即时更新Toast(可直接复制)

效果 实现 第一步、封装个工具类ToastUtil.class(可直接复制拿走) public class ToastUtil {private static Toast mToast null; // toast对象,用于判断是否第一次使用/*** 即时更新Toast* param content content* param message 消息内容…

FLASK博客系列4——再谈路由

最近好像拖更有点久了。抱歉抱歉~ 今天我们继续来聊聊路由(其实就是我上次偷懒剩下一点没讲完)。 通过上次的文章,我们基本了解了Flask中的路由,是不是比较简单呢?别急,今天来点猛料。 一、路由之HTTP方法绑…

在CentOS系统下的Tomcat8.5或9安装SSL证书

您可以在CentOS系统下的Tomcat服务器安装SSL证书,实现通过HTTPS安全访问Web服务。本文介绍如何CentOS系统下Tomcat 8.5或9安装SSL证书。 环境准备 操作系统:CentOS 7.6 64位 Web服务器:Tomcat 8.5或9 说明 Tomcat服务器需要提前安装JDK环…

C++基础 -25- 动态多态

静态多态在程序编译的时候,确定将要执行的状态。 动态多态在程序运行的时候,才能确定执行的状态。 下面举例实现动态多态 work函数接口通过传参不同做不同的工作 #include "iostream"using namespace std;class person {public:person(){}vi…

10个让UI设计更轻松的工具

UI设计软件对设计师来说非常重要。UI设计工具的使用是否直接影响到最终结果的质量,然后有人会问:UI界面设计使用什么软件?这里有一些UI设计师和那些对UI设计感兴趣的朋友列出了10个易于使用和免费的UI设计软件。 即时设计 即时设计是一款免…