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

作者: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.mzph.cn/news/196617.shtml

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

相关文章

JavaEE之多线程编程(一):基础篇

文章目录 一、关于操作系统一、认识进程 process二、认识线程三、进程和线程的区别(重点!)四、Java的线程和操作系统线程的关系五、第一个多线程编程 一、关于操作系统 【操作系统】 驱动程序: 如:我们知道JDBC的驱动程…

Python 潮流周刊#29:Rust 会比 Python 慢?!

△请给“Python猫”加星标 ,以免错过文章推送 你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿[1]。另有电报频道[2]作为副刊,补充发布更加丰富的资讯。 &#x1f43…

【数据结构】手撕排序NO.1

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 一、排序的概念及其运用1.1 排序的概念1.2 常见的算法排序 二、 冒泡排序三、直接插入排…

【电源专题】什么是电源管理

电源管理为什么重要? 在电子系统和电路的设计中,负载往往需要恒定的电流电压,所以最先考虑的就是电源电路的设计。电源管理所考虑的问题是如何将电源有效分配给系统的不同组件,保障系统不同的负载正常运行。 如电源的输入是交流 (AC) 或直流 (DC)?输入电压是高于或低于输…

RedHat8 安装部署DzzOffice协同办公平台+onlyoffice(docker)以及问题解决(亲测可用,花费2天)

一、基础配置(MysqlDzzoffice) 1:安装软件需要的环境,我们用LAMP的环境。基本上CentOS8自带的软件版本都达到安装DzzOffice的要求。 2:关闭防火墙(不关的话需要开放80端口自行决定)。 systemctl disable --now fire…

HarmonyOS引入其他包,以引入请求axios为例

安装文件 安装文件位置: 总目录的oh-package.json5文件 dependencies:生产环境–上线运行时候必须需要的包 devDependencies:开发环境–开发适合为了方便提高效率的包。 包管理工具 OHPM CLI 作为鸿蒙生态三方库的包管理工具,支持OpenHar…

Facebook引流怎么做?写个脚本就好!

在当今的数字化时代,流量对于任何一个网站或应用程序来说都至关重要,Facebook,作为全球最大的社交网络平台,无疑是一个获取流量的绝佳场所,但是,如何有效地从Facebook引流呢?写个脚本就好了! 在本文中&am…

Python字符串模糊匹配工具:TheFuzz 库详解

更多资料获取 📚 个人网站:ipengtao.com 在处理文本数据时,常常需要进行模糊字符串匹配来找到相似的字符串。Python的 TheFuzz 库提供了强大的方法用于解决这类问题。本文将深入介绍 TheFuzz 库,探讨其基本概念、常用方法和示例代…

什么是Overlay网络?Overlay网络与Underlay网络有什么区别?

你们好,我的网工朋友。 在传统历史阶段,数据中心的网络是以三层架构(核心、汇聚、接入)为基本标准。 但是随着技术的发展,不同的厂家有不同的组建方式,比如说在核心层、汇聚层和接入层增加虚拟化技术。 …

Maven项目目录结构

项目结构 目录说明.ideaIDEA工具的配置文件.mvn用于运行Maven项目src源码文件夹target字节码文件夹.gitignore配置git忽略文件HELP.md自述文件mvnw运行Maven命令(Linux)mvnw.cmd运行Maven命令(Windows)pom.xml依赖管理文件 如图…

从零开始入门Zapier:与ChatGPT双剑合璧,手把手教程让你进入AI与自动化新纪元

coments 1. 1. 打开Zapier的官方界面 登录之后,会出现一个调查表,可以根据自己的情况进行选择。 第一次注册成功,会送你14天的免费体验

经验分享|MySQL分区实战(RANGE)

概述 分区概述 在 MySQL 中, InnoDB存储引擎长期以来一直支持表空间的概念。在 MySQL 8.0 中,同一个分区表的所有分区必须使用相同的存储引擎。但是,也可以为同一 MySQL 服务器甚至同一数据库中的不同分区表使用不同的存储引擎。 通俗地讲…

网络初识:局域网广域网网络通信基础

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、局域网LAN是什么?二、广域网是什么:三. IP地址四.端口号五.认识协议5.1五元组 总结 前言 一、局域网LAN是什么? 局域网…

flask web开发学习之初识flask(三)

文章目录 一、flask扩展二、项目配置1. 直接配置2. 使用配置文件3. 使用环境变量4. 实例文件夹 三、flask命令四、模版和静态文件五、flask和mvc架构 一、flask扩展 flask扩展是指那些为Flask框架提供额外功能和特性的库。这些扩展通常遵循Flask的设计原则,易于集成…

CUDA简介——Grid和Block内Thread索引

1. 引言 前序博客: CUDA简介——基本概念CUDA简介——编程模式CUDA简介——For循环并行化 Thread Index: 每个Thread都有其thread index。 在Kernel中,可通过内置的threadIdx变量来获取其thread index。threadIdx为三维的,有相…

Leetcode每日一题学习训练——Python版(从二叉搜索树到更大和树)

版本说明 当前版本号[20231204]。 版本修改说明20231204初版 目录 文章目录 版本说明目录从二叉搜索树到更大和树理解题目代码思路参考代码 原题可以点击此 1038. 从二叉搜索树到更大和树 前去练习。 从二叉搜索树到更大和树 给定一个二叉搜索树 root (BST),请…

【c++|SDL】二、读取图片、显示图片、动画制作

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 读取图片,显示图片,动画 SDL中有两种在屏幕上显示的方法 SDL_Surface: 使用软件渲染处理SDL_Texture: 使用硬件加速渲染处理 1.…

iOS代码安全加固利器:深入探讨字符串和代码混淆器的作用

​ 在网上搜“代码混淆”关键词,可以看到n多教程。包括本篇博客,大部分重要内容也是从网上各位大神的博客里面看到然后摘取和总结出来的。虽然网上都有,但是对于我个人来说,很难找到一篇博客概括完全的,所以还是总结一…

现在的00后,实在是太卷了......

现在的小年轻真的卷得过分了。前段时间我们公司来了个00年的,工作没两年,跳槽到我们公司起薪18K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。 最近和他聊了一次天,原来这位小老弟家里条…