使用 Vertex AI Gemini 模型和 Elasticsearch Playground 快速创建 RAG 应用程序

作者:来自 Elastic Jeff Vestal

在这篇博客中,我们将使用 Elastic 的 Playground 和 Vertex AI API 将 Elasticsearch 连接到 Google 的 Gemini 1.5 聊天模型。将 Gemini 模型添加到 Playground 使 Google Cloud 开发人员能够快速建立 LLM、测试检索、调整分块并使用 Elastic 将 gen AI 搜索应用程序交付到生产环境。

你需要一个启动并运行的 Elasticsearch 集群。我们将在 Elastic Cloud 上使用 serverless 项目。如果你没有帐户,可以注册免费试用。

你还需要一个启用了 Vertex AI 的 Google Cloud 帐户。如果你没有 Google Cloud 帐户,可以注册免费试用。

配置 Vertex AI

首先,我们将配置一个 Vertex AI 服务帐户,这将允许我们安全地从 Elasticsearch 向 Gemini 模型进行 API 调用。你可以按照此处 Google Cloud 文档页面上的详细说明进行操作,但我们将介绍要点。

转到 Google Cloud 控制台的 “ Create Service Account” 部分。在那里,选择已启用 Vertex AI 的项目。

接下来,为你的服务帐户命名,并可选地提供描述。点击 “Create and Continue”。

为你的项目设置访问控制。对于本博客,我们使用了 “Vertex AI User” 角色,但你需要确保你的访问控制适合你的项目和帐户。

单击 “Done”。

Google Cloud 中的最终设置是为服务帐户创建 API 密钥并以 JSON 格式下载。

单击服务帐户中的 “KEYS”,然后单击 “ADD KEY” 和 “Create New”。

确保选择 “json” 作为密钥类型,然后单击 “CREATE”。

密钥将被创建并自动下载到你的计算机。我们将在下一节中需要此密钥。

从 Playground 连接到你的 LLM

配置 Google Cloud 后,我们可以继续在 Elastic 的 Playground 中配置 Gemini LLM 连接。

本博客假设你已经在 Elasticsearch 中拥有要与 Playground 一起使用的数据。如果没有,请按照搜索实验室博客 Playground:在几分钟内使用 Elasticsearch 试验 RAG 应用程序以开始使用。

在 Kibana 中,从侧面导航菜单中选择 Playground。在 Serverless 中,它位于 “Build” 标题下。首次打开时,你可以选择 “Connect to an LLM”。

选择 “Google Gemini”

填写表格以完成配置。

打开上一节创建并下载的 JSON 凭证文件,复制完整的 JSON,并将其粘贴到 “Credentials JSON” 部分。然后点击 “Save

现在是 Playground 时间!

Elastic 的 Playground 允许你在集成到完整代码之前尝试 RAG 上下文设置和系统提示。

通过在与模型聊天时更改设置,你可以看到哪些设置将为你的应用程序提供最佳响应。

此外,配置搜索 Elasticsearch 数据中的哪些字段以将上下文添加到你的聊天完成请求中。添加上下文将有助于巩固模型并提供更准确的响应。

此步骤使用 Elastic 的 ELSER 稀疏嵌入模型(内置),通过语义搜索检索上下文,并将其传递给 Gemini 模型。

就这些(目前)

对话式搜索是一个令人兴奋的领域,开发人员正在使用强大的大型语言模型(例如 Google Vertex AI 提供的模型)来构建新的体验。Playground 简化了原型设计和调整过程,使你能够更快地交付应用程序。

探索更多使用 Elasticsearch 和 Google Vertex AI 构建的想法,祝你搜索愉快!

准备好自己尝试一下了吗?开始免费试用。
想要获得 Elastic 认证吗?了解下一期 Elasticsearch 工程师培训何时开始!

原文:Quickly iterate chat apps on Elasticsearch playground with Google Cloud Gemini models — Search Labs

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

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

相关文章

算法闭关修炼百题计划(四)

仅供个人复习 1.两数相加2.寻找峰值6.岛屿的最大面积3.最大数4.会议室5.最长连续序列6.寻找两个正序数组的中位数 1.两数相加 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请…

滑动窗口_⽔果成篮找到字符串中所有字⺟异位词

⽔果成篮 904. 水果成篮 - 力扣(LeetCode) 相当于求数字种类不超过2的最长字字符串 我们先看一看例4.从第一个元素开始最长字符串3331,下一次从第二个位置数吗?没必要,因为只有当字符串中数字种类变为1时,…

pycharm里debug时如何看到数据的维度

使用表达式计算(Evaluate Expression) 调试时,使用 PyCharm 的 “Evaluate Expression” 功能可以动态查看或修改数据。具体步骤如下: 在调试模式中按 Alt F8(Windows)或 Option F8(Mac&…

机器学习 | 特征选择如何减少过拟合?

在快速发展的机器学习领域,精确模型的开发对于预测性能至关重要。过度拟合的可能性,即模型除了数据中的潜在模式外,还拾取训练集特有的噪声和振荡,这是一个固有的问题。特征选择作为一种有效的抗过拟合武器,为提高模型…

JAVA科技赋能共享台球室无人系统小程序源码

科技赋能共享台球室无人系统 —— 智慧台球新体验 🎱 科技引领,台球室迎来无人新纪元 在这个日新月异的科技时代,共享经济的浪潮席卷而来,为我们的生活带来了诸多便利。而今天,我要为大家介绍的,正是科技…

【高等代数笔记】线性空间(十九-二十四上半部分)

课程视频剪辑得太抽象了,一节课不能完整学完,拆的零零散散得。 3. 线性空间 3.19 满秩矩阵 【推论4】设 rank ( A ) r \text{rank}(\boldsymbol{A})r rank(A)r,则 A \boldsymbol{A} A的不为0的 r r r阶子式所在的列(行&#x…

2.3MyBatis——插件机制

2.3MyBatis——插件机制 1.基本用法2.原理探究2.1加载过程2.2执行过程2.2.1 插件的执行点2.2.2 SQL执行的几个阶段2.2.3 如何梳理出执行流程 合集总览:Mybatis框架梳理 插件机制是一款优秀框架不可或缺的组成部分,比如spring、dubbo,还有…

链表(2)_两两交换链表中的节点_面试题

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 链表(2)_两两交换链表中的节点_面试题 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌…

T11:优化器对比实验

T11周:优化器对比实验 **一、前期工作**1.设置GPU,导入库 **二、数据预处理**1.导入数据2.检查数据3.配置数据集4.数据可视化 **三、构建模型****四、训练模型****五、模型评估**六、总结 🍨 本文为🔗365天深度学习训练营 中的学习记录博客&a…

【前端碎片记录】大文件分片上传

大文件分片上传,主要是为了提高上传效率,避免网络问题或者其他原因导致整个上传失败。 HTML部分没什么特殊代码,这里只写js代码。用原生js实现,框架中可参考实现 // 获取上传文件的 input框 const ipt document.querySelector(…

aws(学习笔记第五课) AWS的firewall SecurityGroup,代理转发技术

aws(学习笔记第五课) AWS的firewall– SecurityGroup,代理转发技术 学习内容: AWS的firewall– SecurityGroup代理转发技术 1. AWS的filewall– SecurityGroup 控制进入虚拟服务器的网络流量 通常的firewall(防火墙)配置 AWS上使用安全组进行网络流量…

息肉检测数据集 yolov5 yolov8适用于目标检测训练已经调整为yolo格式可直接训练yolo网络

息肉检测数据集 yolov5 yolov8格式 息肉检测数据集介绍 数据集概述 名称:息肉检测数据集(基于某公开的分割数据集调整)用途:适用于目标检测任务,特别是内窥镜图像中的息肉检测格式:YOLO格式(边…

Transactional注解导致Spring Bean定时任务失效

背景 业务需要定时捞取数据库中新增的数据做数据处理及分析,更新状态,处理结束。而我们不能随意定义线程池,规定使用统一的标准规范来定义线程池。如在配置文件中配置线程池的属性:名称,线程核心数等,任务…

04-SpringBootWeb案例(中)

3. 员工管理 完成了部门管理的功能开发之后,我们进入到下一环节员工管理功能的开发。 基于以上原型,我们可以把员工管理功能分为: 分页查询(今天完成)带条件的分页查询(今天完成)删除员工&am…

Linux_kernel内核定时器14

一、内核定时器 1、内核定时器 使用方法: 2、系统时钟中断处理函数 1)更新时间 2)检查当前时间片是否耗尽 Linux操作系统是基于时间片轮询的,属于抢占式的内核 3)jiffies 3、基本概念 1)HZ HZ决定了1秒钟产…

OCP迎来新版本,让OceanBase的运维管理更高效

近期,OceanBase的OCP发布了新版本,全面支持 OceanBase 内核 4.3.2 及更低版本。新版本针对基础运维、性能监控、运维配置、外部集成等多个方面实现了 20余项的优化及强化措施,增强产品的易用性和稳定性,从而帮助用户更加高效地管理…

中国地级市生态韧性数据及城市生态韧性数据(2000-2022年)

一测算方式: 参考C刊《管理学刊》楚尔鸣(2023)老师的做法,城市生态韧性主要衡量一个城市在面临生态环境系统压力或突发冲击时,约束污染排放、维护生态环境状态和治理能力提升的综合水平。 参考郭海红和刘新民的研究&a…

Redis持久化机制(RDBAOF详解)

目录 一、Redis持久化介绍二、Redis持久化方式1、RDB持久化(1) 介绍(2) RDB持久化触发机制(3) RDB优点和缺点(4) RDB流程 2、AOF(append only file)持久化(1) 介绍(2) AOF优点和缺点(3) AOF文件重写(4) AOF文件重写流程 三、AOF和RDB持久化注意事项 一、Redis持久化介绍 Redis…

【小工具分享】下载保存指定网页的所有图片

一、保存百度首页所有的图片 先看一下保存的图片情况 二、思路 1、打开网页 2、获取所有图片 3、依次下载保存图片到指定路径 三、完整代码 from selenium import webdriver from selenium.webdriver.common.by import By b webdriver.Firefox() import urllib.request…

C++系统教程004-数据类型(03)

一 .变量 变量是指在程序运行期间其值可以发生改变的量。每个变量都必须有一个名称作为唯一的标识,且具有一个特定的数据类型。变量使用之前,一定要先进行声明或定义。 1.变量的声明和定义 C中,变量声明是指为变量提供一个名称&#xff0c…