Elastic Blog

Generative AI using Elastic and Amazon SageMaker JumpStart

8.5内容质量

TL;DR · AI 摘要

Elasticsearch与AWS SageMaker JumpStart结合实现生成式AI解决方案,通过RAG技术提升搜索效率并保障数据安全。

核心要点

  • 使用RAG技术结合Elasticsearch和SageMaker JumpStart可构建生产级AI应用
  • Elasticsearch支持BM25算法和kNN向量搜索,实现精准自然语言查询
  • AWS与Elastic合作方案确保企业数据在AI应用中的安全性

结构提纲

按章节快速跳转。

  1. 介绍生成式AI在企业应用中的重要性及数据安全需求。

  2. ·ElasticsearchAWS合作方案

    通过SageMaker JumpStart和Elasticsearch集成实现AI模型部署。

  3. RAG技术实现

    详细说明基于Elasticsearch的检索增强生成技术实施步骤。

  4. 解析BM25算法、kNN向量搜索等关键技术特性。

  5. 展示在对话、文档检索等场景中的实际应用效果。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • 生成式AI解决方案
    • 技术架构
      • Elasticsearch向量搜索
      • SageMaker模型库
    • 核心能力
      • BM25算法
      • kNN近似搜索
    • 应用场景
      • 智能问答系统
      • 文档检索增强

金句 / Highlights

值得收藏与分享的关键句。

#Generative AI#Elasticsearch#Amazon SageMaker#RAG#向量搜索
打开原文

使用 Elastic 与 Amazon SageMaker JumpStart 实现生成式人工智能(GAI) - Elasticsearch Labs

Elasticsearch 与行业领先的生成式人工智能工具和提供商具备原生集成能力。观看我们的网络研讨会,了解如何超越 RAG 基础知识,或使用 Elastic 向量数据库构建生产就绪的应用程序。

要为您的特定用例构建最佳搜索解决方案,请立即开始免费云试用,或在本地机器上尝试 Elastic。

在人工智能快速发展的世界中,最引人注目且具有变革性的进展之一是生成式人工智能(GAI)。GAI 代表了人工智能能力的重大飞跃,使机器能够跨多个领域(包括对话、故事、图像、视频和音乐)生成原创且富有创意的内容。企业不仅需要高性能的基础设施,还需要一个安全的平台,以在不泄露敏感数据和知识产权的情况下充分利用 GAI 的力量。大型语言模型(LLMs)致力于理解和生成类似人类语言的文本,利用自然语言的结构、含义和上下文。

Elastic 与亚马逊网络服务(AWS)深知这一迫切需求,并率先提供创新解决方案以满足这些需求。通过结合 Amazon SageMaker JumpStart 与 Elasticsearch 的能力,企业现在可以自信地探索并采用最适合其特定用例的人工智能模型,同时保持成本效益、安全性和隐私性。

Elasticsearch 与先进的人工智能模型集成进一步增强了其能力。通过利用 Elasticsearch 的强大检索能力,LLMs 可以访问最相关的文档,从而提供准确且最新的响应。这种 Elasticsearch 与 LLMs 之间的协同作用确保用户获得上下文相关且事实正确的答案,为信息检索和人工智能辅助服务树立了新标准。

Elasticsearch 是一个可扩展的数据存储和向量数据库,提供多种功能以确保卓越的搜索性能。它支持使用 BM25 算法的传统关键词和文本搜索,以及具备精确匹配和近似 kNN(k-最近邻)搜索功能的 AI 就绪向量搜索。这些高级功能使 Elasticsearch 能够检索出与自然语言查询高度相关的结果。通过结合传统、向量或混合搜索方法,Elasticsearch 提供精确的结果,使用户轻松找到客户所需的信息。

Elasticsearch 平台无缝整合了强大的机器学习和人工智能功能,直接嵌入其解决方案中,使您能够创建备受追捧的应用程序,并以显著的效率完成任务。通过利用这些先进技术,您可以充分发挥 Elasticsearch 的潜力,提供卓越的用户体验并加快工作流程。

使用 Elasticsearch 和 Amazon SageMaker JumpStart 中的开源 LLM 实现 RAG

以下解决方案说明了如何使用检索增强生成(RAG)通过 Elasticsearch、Amazon SageMaker JumpStart 和您选择的开源 LLM,在特定领域业务数据上启用 GAI 功能。

解决方案概述

我们将从下图的架构图开始回顾。该图解释了如何通过RAG(检索增强生成)技术,从Amazon SageMaker JumpStart托管的LLM中获取针对特定领域的响应,该响应基于Elasticsearch中托管的企业数据。

我们使用了以下AWS和第三方服务:

  • 使用Amazon SageMaker和Amazon SageMaker JumpStart托管来自Hugging Face的开源LLM
  • 使用Hugging Face的Falcon 40B Instruct和Flan-T5 XL LLM
  • 使用Elasticsearch存储企业知识库的嵌入向量,并对用户问题进行相似性搜索
  • 使用Python、LangChain和Streamlit构建RAG应用
  • 使用Amazon EC2托管Streamlit应用
  • 使用AWS Identity and Access Management角色和策略进行访问管理

分步说明

离线数据摄入阶段:

我们从企业知识库中摄入数据——例如,这可以是内部网页、描述公司流程的文档或企业财务数据。

  • 文档通过网络爬虫或其他摄入机制进行摄入。
  • 文本内容通过句向量转换器类型的机器学习模型转换为向量,并存储在dense_vector字段中。

用户查询实时流程:

  • 用户通过RAG(检索增强生成)网页应用提交问题。
  • RAG应用根据用户问题生成针对Elasticsearch的混合搜索请求并发送至Elasticsearch。混合搜索请求对文本字段执行BM25匹配,对dense_vector字段执行kNN搜索。
  • Elasticsearch将文档正文和源URL(如适用)返回给RAG应用。RAG应用仅接受得分最高的文档。
  • RAG应用将最高得分文档正文(上下文)与用户问题(提示)一起传递给作为Amazon SageMaker端点托管的LLM。
  • Amazon SageMaker端点生成文本响应并将其发送回RAG应用。
  • RAG应用执行任何必要的后处理任务。例如,它会将源URL添加到从LLM生成的响应中。用户在网页应用中查看响应。

现在让我们查看创建可运行搜索解决方案所需的几个设置步骤和实现步骤:

设置步骤:

  • 在Elastic Cloud上注册一个Elasticsearch集群的免费试用。
  • 按照以下步骤在AWS上创建新部署。
  • 按照以下步骤添加新机器学习节点。这将使您能够在部署中运行机器学习模型。
  • 在左侧导航栏的部署名称下点击“编辑”。
  • 向下滚动到“机器学习实例”框。
  • 点击“+ 添加容量”。
  • 在“每个区域的大小”下,点击并选择“2GB内存”。
  • 点击“保存”然后点击“确认”。
  • 按照以下步骤重置并下载elastic用户密码。
  • 从部署概述页面的部署名称下复制部署ID。
  • 将嵌入模型加载到Elasticsearch中。此处我们使用了托管在Hugging Face模型库中的all-distilroberta-v1模型。您可以根据具体情况选择其他句向量转换器类型。在此处的Amazon SageMaker中导入并运行这个Python笔记本。当提示时提供Cloud Id、Elasticsearch用户名和Elasticsearch密码。这将从Hugging Face下载模型,对其进行分块处理,加载到Elasticsearch中,并将模型部署到Elasticsearch集群的机器学习节点上。
  • 通过从 Elastic Cloud 控制台打开 Kibana 并导航到 Enterprise Search - Overview,创建一个 Elasticsearch 索引。点击 "Create an Elasticsearch Index"。选择 "Web Crawler" 作为摄取方法。输入合适的索引名称并点击 "Create Index"。
  • 通过点击 "Pipelines" 选项卡 > 在 "Ingest Pipeline Box" 中复制并自定义管道配置,添加一个推理管道。在 "Machine Learning Inference Pipelines" 区域点击 "Add Inference Pipeline"。为新管道输入名称。选择第 6 步加载的训练模型,并选择 "title" 作为源字段。在两个后续界面点击 "Continue",在 "Review" 阶段点击 "Create Pipeline"。
  • 通过点击 "Dev Tools" 并运行以下代码,更新密集向量的映射。这将使您能够对 "title" 字段向量执行 kNN 搜索。从 Elasticsearch 8.8+ 版本开始,此步骤将由系统自动处理。
  • 配置网络爬虫以爬取 Elastic Docs(您可以将其替换为自己的企业域语料库)。点击 "Available indices" 下的相关索引。点击 "Manage Domains" 选项卡。点击 "Add domain"。输入 https://www.elastic.co/guide/en 并点击 "Validate Domain"。点击 "Add domain" 然后 "Add Crawl rules"。添加以下规则。点击 "Crawl" 然后 "Crawl all domains on this index"。这将启动 Elasticsearch 的网络爬虫,爬虫将爬取目标文档,为 "title" 字段生成向量,并对文档和向量进行索引。

该方案的实现步骤如下:

  • 选择您的 LLM。Amazon SageMaker JumpStart 提供了来自多个模型提供商的大量专有和公开基础模型。登录 Amazon SageMaker Studio,打开 Amazon SageMaker JumpStart,搜索您偏好的基础模型。请在此处查看每个任务可用的模型列表。
  • 部署您的 LLM。Amazon SageMaker JumpStart 还提供无代码界面来部署模型。您可以通过几次点击轻松部署模型。部署成功后,复制 "Endpoint Name"。
  • 下载并设置 RAG 应用程序。启动 EC2 实例并从此 GitHub 链接克隆代码。按照这些步骤设置虚拟环境。通过运行命令 pip install -r requirements.txt 安装所需的 Python 库。使用以下内容更新 config.sh 文件:
  • ES_CLOUD_ID: Elastic Cloud 部署 ID
  • ES_USERNAME: Elasticsearch 集群用户
  • ES_PASSWORD: Elasticsearch 用户密码
  • FLAN_T5_ENDPOINT: 指向 Flan T5 的 Amazon SageMaker 终端节点名称
  • FALCON_40B_ENDPOINT: 指向 Falcon 40B 的 Amazon SageMaker 终端节点名称
  • AWS_REGION: AWS 区域

使用命令 streamlit run rag_elastic_aws.py 运行应用程序。这将启动一个网络浏览器,URL 会打印到命令行。

  • 无上下文的 LLM 响应。
  • 基于 Elasticsearch 的上下文推导的 LLM 响应。

结论

在本文中,我们展示了如何结合 Elasticsearch、Amazon SageMaker JumpStart、Hugging Face 的开源 LLM 以及 LangChain 和 Streamlit 等开源 Python 包,创建基于检索增强生成(RAG)的搜索应用。

通过探索 JumpStart、Amazon Titan 模型、Amazon Bedrock 和 Elastic,您可以使用本文提供的示例实现和与业务相关的数据集构建解决方案。

或通过 AWS Marketplace 注册,立即开始您的 7 天免费试用,在全球 AWS 上的任何 Elastic Cloud 区域中,几分钟内即可快速启动部署。您在 AWS Marketplace 购买的 Elastic 服务将包含在您的月度合并账单声明中,并将抵扣您与 AWS 的承诺支出。

本文中描述的任何功能或功能的发布和时间安排均由 Elastic 单独决定。目前不可用的任何功能或功能可能无法按时或根本不会交付。

在本博客文章中,我们可能已使用或引用了第三方生成式 AI 工具,这些工具由其各自所有者拥有和运营。Elastic 对第三方工具没有任何控制权,我们对其内容、操作或使用不承担任何责任或义务,也不对因使用这些工具而可能产生的任何损失或损害负责。在使用 AI 工具处理个人、敏感或机密信息时请格外谨慎。您提交的任何数据可能用于 AI 训练或其他目的。无法保证您提供的信息将被安全或保密保存。在使用任何生成式 AI 工具之前,请熟悉其隐私政策和使用条款。

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

#### 常见问题

##### 什么是生成式人工智能(GAI)?

GAI 代表人工智能能力的重大飞跃,使机器能够跨多个领域(包括对话、故事、图像、视频和音乐)生成原创且富有创意的内容。

复制

分享

#### 这个内容对您有帮助吗?

😔

没有帮助

😐

有些帮助

😁

非常有帮助

报告问题

相关内容

AI

向量数据库

2026年7月7日

#### 短查询,正式文档:HyDE 如何在 Elasticsearch 中将语义搜索精度提升 50%

HyDE 在短查询上将语义搜索的精度和召回率提升 50%。以下是使用推理 API 和语义文本在 Elasticsearch 中实现它的方法。

JR

作者:

Jeffrey Rengifo

+

1

2026年6月24日

#### Elasticsearch DiskBBQ 在网络附加存储上实现的向量搜索速度比 Qdrant 快 7 倍

Elasticsearch DiskBBQ 在网络附加存储上实现的向量搜索吞吐量达到 Qdrant 的 7 倍,且召回率相当。探索基准测试方法和完整结果。

SF

Sachin Frayne

智能体 AI

2026年7月6日

#### 谁来评判评判者?Elasticsearch 工作流中的 LLM-as-a-Judge

了解您的 RAG 智能体是否已准备好发布。仅使用 Elasticsearch 工作流和两个 Claude 模型,即可根据正确性、忠实性和检索质量进行评分。

2026年6月15日

#### 您的搜索索引已经是智能体记忆系统:为 Claude Code 提供持久化智能体记忆的 Elasticsearch 方案

使用 Elasticsearch 为您的 AI 智能体提供跨会话的持久化记忆:混合召回、知识图谱和跨设备交接。只需三个命令即可安装。

JV

Jeff Vestal

集成

#### 您的 FAQ 机器人不需要博士学位:使用 Elastic 工作流进行 LLM 查询路由

通过 Elasticsearch 搜索元数据按复杂度路由 LLM 查询:Mistral Small 处理 FAQ 问题,Claude Sonnet 处理多源合成。