准备好,开始构建:由 Elasticsearch 向量数据库驱动的 Red Hat OpenShift AI 应用程序

news2025/5/23 16:45:49

作者:来自 Elastic Tom Potoma

Elasticsearch 向量数据库现在被 “基于 LLM 和 RAG 的 AI 生成” 验证模式支持。本文将指导你如何开始使用。

Elasticsearch 已原生集成业内领先的生成式 AI 工具和服务提供商。欢迎观看我们的网络研讨会,了解如何突破 RAG 基础,或在 Elastic 向量数据库上构建可投入生产的应用程序。

为了为你的使用场景构建最佳搜索解决方案,现在就开始免费的云试用,或在本地机器上试用 Elastic 吧。

Red Hat 验证模式框架使用 GitOps,实现 Red Hat OpenShift 上所有操作器和应用的无缝部署。Elasticsearch 向量数据库现已被 “基于 LLM 和 RAG 的 AI 生成” 验证模式正式支持。这使开发者能够利用 Elastic 的向量数据库,在 OpenShift 上快速启动检索增强生成(RAG)应用的开发,结合 Red Hat 容器平台的优势和 Elastic 的向量搜索能力。

在验证模式中开始使用 Elastic

我们来一步步讲解如何使用 Elasticsearch 作为向量数据库来设置该模式:

先决条件

  • 本地系统已安装 Podman

  • 在 AWS 上运行的 OpenShift 集群

  • 你的 OpenShift 拉取密钥

  • 已安装 OpenShift CLI(oc)

  • 安装配置文件

步骤 1:Fork 仓库

创建 rag-llm-gitops 仓库的一个 Fork。

步骤 2:克隆 Fork 后的仓库

克隆你 Fork 的仓库,并进入仓库的根目录。

git clone git@github.com:your-username/rag-llm-gitops.git 
cd rag-llm-gitops

步骤 3:配置并部署

创建 secret 值文件的本地副本:

cp values-secret.yaml.template ~/values-secret-rag-llm-gitops.yaml

通过编辑 values-global.yaml 文件,配置该模式使用 Elasticsearch:

# Open the file in your favorite editor
vi values-global.yaml

# Look for the 'db' section under 'global':
# global:
#   db:
#     type: DEFAULT_VALUE

# Change the db.type from "EDB" (default) or "REDIS" to "ELASTIC"

如果需要:配置 AWS 设置(如果你的集群位于不支持的区域):

mkdir -p ~/.aws
echo -e "[default]\nregion = <your-region>" > ~/.aws/config

向你的集群添加 GPU 节点:

./pattern.sh make create-gpu-machineset

安装该模式:

./pattern.sh make install

安装过程会自动部署:

  • 模式操作器组件

  • 用于密钥管理的 HashiCorp Vault

  • Elasticsearch 操作器和集群

  • RAG 应用的 UI 和后端

步骤 4:验证部署

安装完成后,检查所有组件是否正常运行。

在 OpenShift Web 控制台中,进入 Workloads > Pods 菜单。从下拉框中选择 rag-llm 项目。

以下 pod 应该处于运行状态:

或者,你可以通过 CLI 检查:

oc get pods -n rag-llm

你应该能看到以下 pod:

  • elastic-operator — Elasticsearch 操作器

  • es-vectordb-es-default-0 — Elasticsearch 集群

  • ui-multiprovider-rag-redis — RAG 应用的 UI(尽管名字带有 redis,但它使用的是配置的数据库类型,这里是 Elastic)

步骤 5:试用应用程序

在浏览器中打开 UI,开始使用由 Elasticsearch 支持的 RAG 应用生成内容。

在 OpenShift 控制台的任意页面,点击Application/应用菜单,选择该应用:

然后:

  • 选择你配置好的 LLM 提供商,或者自行配置
    • 使用 OpenAI 时,应用会自动添加合适的接口地址。因此,在 “URL” 字段填写 https://api.openai.com/v1’,而不是 ‘https://api.openai.com/v1/chat/completions'
  • 输入 “Product” 为 “RedHat OpenShift AI”
  • 点击“Generate”
  • 实时观看系统为你创建提案

那么刚才发生了什么?

当你部署带有 Elasticsearch 的模式时,后台发生了以下事情:

  • 部署了 Elasticsearch 操作器来管理 Elasticsearch 资源

  • 配置了具有向量搜索能力的 Elasticsearch 集群

  • 处理示例数据,并将其作为向量嵌入存储在 Elasticsearch 中

  • 配置 RAG 应用以连接 Elasticsearch 进行检索

  • 生成内容时,应用会查询 Elasticsearch,找到适合 LLM 的相关上下文

接下来呢?

这次初步集成只是展示了将 Elasticsearch 向量搜索与 OpenShift AI 结合的可能性开端。Elastic 提供丰富的信息检索能力,非常适合生产环境的 RAG 应用。我们正在考虑未来的改进方向:

  • 高级语义理解 — 利用 Elastic 的 ELSER 模型实现更精准的检索,无需微调

  • 使用 Elastic 原生的文本分块和预处理功能进行智能数据处理

  • 混合搜索优势 — 将向量嵌入与传统关键词搜索和 BM25 排名结合,获取最相关结果

  • 生产就绪的监控 — 利用 Elastic 全面的可观测性堆栈,监控 RAG 应用性能,洞察 LLM 使用模式

我们欢迎反馈和贡献,持续为 OpenShift AI 应用带来强大的向量搜索功能!如果你参加 Red Hat Summit 2025,欢迎来 Booth #1552 了解更多 Elastic 信息!

资源链接

  • AI Generation with LLM and RAG | Validated Patterns
  • Deploying a different database | Validated Patterns

原文:Get set, build: Red Hat OpenShift AI applications powered by Elasticsearch vector database - Elasticsearch Labs

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

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

相关文章

RNN神经网络

RNN神经网络 1-核心知识 1-解释RNN神经网络2-RNN和传统的神经网络有什么区别&#xff1f;3-RNN和LSTM有什么区别&#xff1f;4-transformer的归一化有哪几种实现方式 2-知识问答 1-解释RNN神经网络 Why&#xff1a;与我何干&#xff1f; 在我们的生活中&#xff0c;很多事情…

Linux | 开机自启动设置多场景实现

注&#xff1a;本文为“Llinux 设置开机自启”相关文章合辑。 略作重排&#xff0c;未整理去重。 如有内容异常&#xff0c;请看原文。 Linux 设置开机自启动的三种方法 幽夜卡尔 2022-10-22 一、在 /etc/rc.local 文件中添加自启动命令 编辑文件&#xff1a;执行以下命令&a…

杨校老师竞赛课之青科赛GOC3-4年级组模拟题

1.山峰&#xff08;程序填空&#xff09;程序填空题 题目描述 编程画出山峰。 要求&#xff1a;两个正三角形&#xff0c;三角形边长分别是200、100&#xff0c;山峰的颜色为8号色。 int main() {// 绘制等边三角形&#xff08;边长100&#xff09;&#xff1a;右转30度调整…

SC3000智能相机-自动存图

1、需求:SC3000智能相机开机自动存图。相机自带的相机存储空间有限,预留存图需要开启SCMVS、并手动点存图。如果工人忘了开启则不会存图,导致生产严重失误! 2、方法:利用相机提供的FTP协议,将图自动存到本地。 1、在本地建立FTP服务器。 (1)win10默认开启了FTP服务器…

【Java高阶面经:微服务篇】5.限流实战:高并发系统流量治理全攻略

一、限流阈值的三维度计算模型 1.1 系统容量基准线:压测驱动的安全水位 1.1.1 压力测试方法论 测试目标:确定系统在资源安全水位(CPU≤80%,内存≤70%,RT≤500ms)下的最大处理能力测试工具: 单机压测:JMeter(模拟10万并发)、wrk(低资源消耗)集群压测:LoadRunner …

2025中青杯数学建模B题思路+模型+代码

本文将为大家带来2025年中青杯的选题建议&#xff0c;旨在十分钟内帮助大家快速了解每个题目具体难点、涉及模型等。初步预估赛题难度 A:B:C4:5:3初步预测选题人数 A:B:C2:1:0.6 首先是C题&#xff0c;忧郁症的双重防线&#xff1a;精准预测与有效治疗&#xff0c;这个题目涉及…

记录:uniapp 上线部署到微信小程序vendorjs包过大的问题

问题&#xff1a; 在代码依赖分析图中&#xff0c;可以看到主包的容量已经超过了2M了&#xff0c;分包没有超&#xff01; 根据网上的资料的解决方案&#xff0c;当前我已经做了以下相关的配置&#xff1a; 1.分包 2.在manifest.json的&#xff08;mp-weixin&#xff09;节点…

asp.net core 添加 EntityFrame

1&#xff1a;Nuget 引入程序集 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.SqlServer Microsoft.EntityFrameworkCore.SqlServer.Design Microsoft.EntityFrameworkCore.Tools 2&#xff1a;执行脚本 Scaffold-DbContext "Data Source.;Initial Ca…

微软全新开源的Agentic Web网络项目:NLWeb,到底是什么 ?

目录 1、背景 2、NLWeb是什么&#xff1f; 3、NLWeb是如何工作的&#xff1f; 3.1 技术原理 3.2 对发布者的价值 3.3 核心团队与合作伙伴 4、快速入门指南 5、延伸阅读 Agentic&#xff1a;Agent的形容词&#xff0c;Agentic指系统由大型语言模型&#xff08;LLM&#…

Idea出现 100% classes 等

总是误点出来&#xff0c;每次又忘了怎么消除&#xff0c;在这里记录一下。 出现这样&#xff1a; 操作idea界面的&#xff1a;点击View->Tool Windows ->Coverage&#xff0c;然后关掉

【学习笔记】计算机操作系统(五)—— 虚拟存储器

第五章 虚拟存储器 文章目录 第五章 虚拟存储器5.1 虚拟存储器概述5.1.1 常规存储管理方式的特征和局部性原理5.1.2 虚拟存储器的定义和特征5.1.3 虚拟存储器的实现方法 5.2 请求分页存储管理方式5.2.1 请求分页中的硬件支持5.2.2 请求分页中的内存分配5.2.3 页面调入策略 5.3 …

乘最多水的容器 | 算法 | 给定一个整数数组。有n条垂线。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

在我们日常生活中&#xff0c;蓄水似乎是一个极为朴素的物理行为&#xff1a;两堵墙之间&#xff0c;注入水&#xff0c;看谁能装得更多。可如果换个角度&#xff0c;从算法的视角去看这个问题&#xff0c;它会变得怎样&#xff1f;你是否意识到&#xff0c;这样一个简单的问题…

【Java高阶面经:数据库篇】19、分库分表查询困境:无分库分表键时的高效应对

一、分库分表下的无分片键查询困境 在分布式数据库架构中,分库分表通过分片键(如买家ID)将数据分散存储,显著提升了单表性能和系统扩展性。然而,当业务需要从非分片键维度(如卖家ID)进行查询时,传统架构暴露出以下核心问题: 1.1 跨分片扫描的性能灾难 数据分散性:以…

spring中的BeanFactoryAware接口详解

一、接口定义与核心作用 BeanFactoryAware 是 Spring 框架提供的一个回调接口&#xff0c;允许 Bean 在初始化阶段获取其所属的 BeanFactory 实例。该接口定义如下&#xff1a; public interface BeanFactoryAware {void setBeanFactory(BeanFactory beanFactory) throws Bea…

Unity Hub打不开项目一直在加载

Unity Hub打不开项目&#xff0c;一直在加载。 运行环境&#xff1a;win10 解决方法&#xff1a;退还个人许可证&#xff0c;退出UnityHub重新登录后,再次获取个人许可证 Tips&#xff1a; 国内连续超过三天不登陆就需要激活一次。&#xff08;每天登陆一次会自动续时间吗&…

蓝桥杯19681 01背包

问题描述 有 N 件物品和一个体积为 M 的背包。第 i 个物品的体积为 vi​&#xff0c;价值为 wi​。每件物品只能使用一次。 请问可以通过什么样的方式选择物品&#xff0c;使得物品总体积不超过 M 的情况下总价值最大&#xff0c;输出这个最大价值即可。 输入格式 第一行输…

ElasticSearch导读

ElasticSearch 简介&#xff1a;ElasticSearch简称ES是一个开源的分布式搜素和数据分析引擎。是使用Java开发并且是当前最流行的开源的企业级搜索引擎&#xff0c;能够达到近实时搜索&#xff0c;它专门设计用于处理大规模的文本数据和实现高性能的全文搜索。它基于 Apache Luc…

【机器学习】 关于外插修正随机梯度方法的数值实验

1. 随机梯度下降&#xff08;SGD&#xff09; 迭代格式&#xff1a; x k 1 x k − η k ∇ f i ( x k ) x_{k1} x_k - \eta_k \nabla f_i(x_k) xk1​xk​−ηk​∇fi​(xk​) 其中&#xff0c; η k \eta_k ηk​ 为步长&#xff08;可能递减&#xff09;&#xff0c; ∇ f…

结构型:组合模式

目录 1、核心思想 2、实现方式 2.1 模式结构 2.2 实现案例 3、优缺点分析 4、适用场景 1、核心思想 目的&#xff1a;将总是在重复、迭代地显示的某种自相似性的结构&#xff08;部分与整体结构特征相似&#xff09;&#xff0c;例如树形结构&#xff0c;以统一的方式处…

windows 删除文件夹提示“操作无法完成,因为其中的文件夹或文件已在另一程序中打开”

windows 删除文件夹提示“操作无法完成&#xff0c;因为其中的文件夹或文件已在另一程序中打开” tomact已经关闭了&#xff0c;刚开始怀疑是tomcat关闭不彻底&#xff0c;但是任务管理器–》进程里根本没有java的进程了&#xff0c;由于是医院服务器、不方便重启 解决方法&am…