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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!