Elasticsearch:使用 Playground 与你的 PDF 聊天

LLMs作者:来自 Elastic Tomás Murúa

了解如何将 PDF 文件上传到 Kibana 并使用 Elastic Playground 与它们交互。本博客展示了在 Playground 中与 PDF 聊天的实用示例。

Elasticsearch 8.16 具有一项新功能,可让你将 PDF 文件直接上传到 Kibana 并使用 Playground 进行分析。在本文中,我们将了解如何通过上传 PDF 格式的简历然后使用 Playground 与其交互来使用此功能。

Playground 是一个托管在 Kibana 中的低代码平台,可让你创建 RAG 应用程序并与你的内容聊天。你可以在这篇文章中阅读有关它的更多信息,甚至可以使用此链接对其进行测试。

更多阅读 “在不到 5 分钟的时间内将威胁情报 PDF 添加为 AI 助手的自定义知识”。

使用 Playground 与你的 PDF 聊天

提示:你可以根据文章 “如何在 Linux,MacOS 及 Windows 上进行安装 Elasticsearch” 及 “Kibana:如何在 Linux,MacOS 及 Windows 上安装 Elastic 栈中的 Kibana” 在本地部署自己的 Elastic Stack。你需要针对 Kibana 进行如下的配置。你需要使用命令 bin/kibana-encryption-keys generate 来生成 keys,并把结果拷贝到 kibana.yml 里进行配置。
 

$ bin/kibana-encryption-keys generate
Kibana is currently running with legacy OpenSSL providers enabled! For details and instructions on how to disable see https://www.elastic.co/guide/en/kibana/8.17/production.html#openssl-legacy-provider
## Kibana Encryption Key Generation UtilityThe 'generate' command guides you through the process of setting encryption keys for:xpack.encryptedSavedObjects.encryptionKeyUsed to encrypt stored objects such as dashboards and visualizationshttps://www.elastic.co/guide/en/kibana/current/xpack-security-secure-saved-objects.html#xpack-security-secure-saved-objectsxpack.reporting.encryptionKeyUsed to encrypt saved reportshttps://www.elastic.co/guide/en/kibana/current/reporting-settings-kb.html#general-reporting-settingsxpack.security.encryptionKeyUsed to encrypt session informationhttps://www.elastic.co/guide/en/kibana/current/security-settings-kb.html#security-session-and-cookie-settingsAlready defined settings are ignored and can be regenerated using the --force flag.  Check the documentation links for instructions on how to rotate encryption keys.
Definitions should be set in the kibana.yml used configure Kibana.Settings:
xpack.encryptedSavedObjects.encryptionKey: 089ece1da90e06979df869aeea056c0d
xpack.reporting.encryptionKey: 33f894a54859d35e719c313f50092997
xpack.security.encryptionKey: c4442e114df718c8176eace3347dff0c

步骤

  1. 配置 Elasticsearch 推理服务端点
  2. 将 PDF 上传到 Kibana
  3. 与 Playground 中的数据交互

配置 Elasticsearch 推理服务端点

要运行语义搜索,我们必须首先配置一个推理端点(inference endpoint)。在此示例中,我们将使用 Elasticsearch 推理端点。此端点提供:

  • 重新排序
  • 稀疏嵌入
  • 文本嵌入

在此示例中,让我们选择稀疏嵌入(sparse embedding):

PUT _inference/sparse_embedding/my-elser-model
{"service": "elasticsearch","service_settings": {"adaptive_allocations": {"enabled": true,"min_number_of_allocations": 1,"max_number_of_allocations": 10},"num_threads": 1,"model_id": ".elser_model_2"}
}

配置完成后,通过检查 Kibana UI 中的 Search > Relevance > Inference Endpoint 来确认模型已正确加载到 Kibana 中。

你也可以进行手动加载。详细步骤请参阅文章 “Elasticsearch:部署 ELSER - Elastic Learned Sparse EncoderR”。

将 PDF 上传至 Kibana

我们将上传初级开发人员的简历,以了解如何使用 Kibana 上传文件功能。

转到 Kibana UI 并按照以下步骤操作:

接下来,对于 Import Data,我们有两个选项:

Simple:这是默认选项,它允许我们快速将 PDF 上传到索引中,并自动使用索引信息创建数据视图。

Advanced:此选项允许我们自定义映射或添加摄取管道。在这些设置中,你可以:

  • 添加 semantic text 类型的字段。
  • 索引设置:如果你想要配置分片或分析器等内容。
  • 索引映射:如果你想要更改字段类型或定义数据的方式。
  • 摄取管道:如果你想在索引数据之前对其进行更改。

转到 “Advanced” 并选择 “Add additional field”:

选择字段 attachment.content;在 “copy to field” 中输入 “content”,并确保推理端点是 my-elser-model:

字段 copy_to 用于将内容从 attachment.content 复制到 (content) 的新 semantic_text 字段,该字段使用底层推理端点(本例中为 Elastic 的 ELSER)自动生成向量嵌入。这使语义和文本字段都可用,因此你可以运行全文、语义或混合搜索。

配置完所有内容后,单击 “Import”:

现在索引已经创建,我们可以使用 Playground 来探索它。

与 Playground 中的数据交互

连接到 Playground

配置索引并上传简历后,我们现在需要将索引连接到 Playground。单击 “Connect to an LLM” 并选择其中一个选项。

配置聊天机器人

配置完 Playground 并索引了 Alex Johnson 的简历后,我们就可以与数据进行交互了。使用语义搜索和 LLMs,我们可以使用自然语言提出问题并获得答案,即使文档中没有我们在查询中使用的关键字,如下例所示:

使用说明菜单,我们可以控制聊天机器人的行为并定义响应格式等功能。它还可以包含引用,以确保答案有充分依据。

如果我们转到 “Query” 选项卡,我们可以看到 Playground 生成的查询,并且我们添加了 text 和 semantic_text 字段,Playground 将自动生成混合查询以规范化不同类型的查询之间的分数。

Playground 不仅可以回答问题,还可以帮助我们了解 RAG 系统的内部组件,例如查询、检索阶段、上下文和提示说明。

试试看吧!

通过 Elasticsearch 8.16 更新,我们可以使用 Kibana UI 轻松上传 PDF/Word/Powerpoint 文件。它可以在简单模式下自动创建索引,你可以使用高级模式自定义索引并根据你的需求进行定制。

上传文件后,你可以访问 Playground 并快速轻松地与他们聊天,因为 Playground 将处理 LLM 交互并根据你要搜索的字段类型提供最佳查询。

想要获得 Elastic 认证?了解下一次 Elasticsearch 工程师培训的时间!

Elasticsearch 包含许多新功能,可帮助你为你的用例构建最佳搜索解决方案。深入了解我们的示例笔记本以了解更多信息,开始免费云试用,或立即在你的本地机器上试用 Elastic。

原文:Chatting with your PDFs using Playground - Elasticsearch Labs

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

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

相关文章

【C++】深入理解string相关函数:实现和分析

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯1. 使用 stoi 和 stol 函数1.1 stoi 和 stol 的基本概述参数说明进制支持示例代码与解析运行结果解析 异常处理 💯2. 使用 stod 和 stof 函数2.1 stod 和 stof …

“AI智能服务平台系统,让生活更便捷、更智能

大家好,我是资深产品经理老王,今天咱们来聊聊一个让生活变得越来越方便的高科技产品——AI智能服务平台系统。这个系统可是现代服务业的一颗璀璨明珠,它究竟有哪些魅力呢?下面我就跟大家伙儿闲聊一下。 一、什么是AI智能服务平台系…

回归预测 | MATLAB实MLR多元线性回归多输入单输出回归预测

回归预测 | MATLAB实MLR多元线性回归多输入单输出回归预测 目录 回归预测 | MATLAB实MLR多元线性回归多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 回归预测 | MATLAB实MLR多元线性回归多输入单输出回归预测。 程序设计 完整代码:回…

页面滚动下拉时,元素变为fixed浮动,上拉到顶部时恢复原状,js代码以视频示例

页面滚动下拉时,元素变为fixed浮动js代码 以视频示例 <style>video{width:100%;height:auto}.div2,#float1{position:fixed;_position:absolute;top:45px;right:0; z-index:250;}button{float:right;display:block;margin:5px} </style><section id"abou…

【Vim Masterclass 笔记09】S06L22:Vim 核心操作训练之 —— 文本的搜索、查找与替换操作(第一部分)

文章目录 S06L22 Search, Find, and Replace - Part One1 从光标位置起&#xff0c;正向定位到当前行的首个字符 b2 从光标位置起&#xff0c;反向查找某个字符3 重复上一次字符查找操作4 定位到目标字符的前一个字符5 单字符查找与 Vim 命令的组合6 跨行查找某字符串7 Vim 的增…

力扣 岛屿数量

从某个点找&#xff0c;不断找相邻位置。 题目 岛屿中被“0”隔开后 &#xff0c;是每一小块状的“1”&#xff0c;本题在问有多少块。可以用dfs进行搜索&#xff0c;遍历每一个点&#xff0c;把每一个点的上下左右做搜索检测&#xff0c;当检测到就标记为“0”表示已访问过&a…

Python学习(四)调用函数、定义函数、函数参数、递归函数

目录 一、调用函数1&#xff09;函数介绍2&#xff09;数据类型转换 二、定义函数1&#xff09;定义函数2&#xff09;空函数3&#xff09;参数检查4&#xff09;返回多个值 三、函数的参数1&#xff09;位置参数2&#xff09;默认参数3&#xff09;可变参数4&#xff09;关键字…

汽车基础软件AutoSAR自学攻略(三)-AutoSAR CP分层架构(2)

汽车基础软件AutoSAR自学攻略(三)-AutoSAR CP分层架构(2) 下面我们继续来介绍AutoSAR CP分层架构&#xff0c;下面的文字和图来自AutoSAR官网目前最新的标准R24-11的分层架构手册。该手册详细讲解了AutoSAR分层架构的设计&#xff0c;下面让我们来一起学习一下。 Introductio…

Mac——Docker desktop安装与使用教程

摘要 本文是一篇关于Mac系统下Docker Desktop安装与使用教程的博文。首先介绍连接WiFi网络&#xff0c;然后详细阐述了如何在Mac上安装Docker&#xff0c;包括下载地址以及不同芯片版本的选择。接着讲解了如何下载基础镜像和指定版本镜像&#xff0c;旨在帮助用户在Mac上高效使…

Jenkins内修改allure报告名称

背景&#xff1a; 最近使用Jenkins搭建自动化测试环境时&#xff0c;使用Jenkins的allure插件生成的报告&#xff0c;一直显示默认ALLURE REPORT&#xff0c;想自定义成与项目关联的名称&#xff0c;如图所示&#xff0c;很明显自定义名称显得高大上些&#xff0c;之前…

ROS Action接口

实现自主导航是使用Action接口的主要目的 在实际使用navigation导航系统的时候&#xff0c;机器人需要自主进行导航。不能每次都手动设置导航的目标点。所以需要编写程序代码来实现导航控制。这就需要使用到navigation的导航接口。Navigation的这个导航接口有好几个。Rose官方…

【复习小结】1-13

数学追求更简洁的表达&#xff0c;计算机追求更简单的表达。数据结构把数学的逻辑结构放进计算器的存储器。 DAY4 闰年的计算 布尔类型是一种数据类型&#xff0c;用于表示逻辑值的简单类型&#xff0c;它的值只能是真&#xff08;true&#xff09;或假&#xff08;false&…

docker安装windows desktop后打开失败

解决&#xff1a;运行以下命令在windows上安装linux环境&#xff0c;然后设置用户名密码即可 wsl --install

H2数据库在单元测试中的应用

H2数据库特征 用比较简洁的话来介绍h2数据库&#xff0c;就是一款轻量级的内存数据库&#xff0c;支持标准的SQL语法和JDBC API&#xff0c;工业领域中&#xff0c;一般会使用h2来进行单元测试。 这里贴一下h2数据库的主要特征 Very fast database engineOpen sourceWritten…

计算机网络 (33)传输控制协议TCP概述

一、定义与基本概念 TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。它工作在OSI模型的第四层&#xff0c;即传输层&#xff0c;为用户提供可靠的、有序的和无差错的数据传输服务。TCP协议与UDP协议是传输层的两大主要协议&#xff0c;但两者在设计上有明显的不同&…

转运机器人在物流仓储行业的优势特点

在智能制造与智慧物流的浪潮中&#xff0c;一款革命性的产品正悄然改变着行业的面貌——富唯智能转运机器人&#xff0c;它以卓越的智能科技与创新的设计理念&#xff0c;引领着物流领域步入一个全新的高效、智能、无人的时代。 一、解放双手&#xff0c;重塑物流生态 富唯智能…

【论文阅读+复现】High-fidelity Person-centric Subject-to-Image Synthesis

以人物为中心的主体到图像的高保真合成&#xff0c;CVPR2024 code&#xff1a;CodeGoat24/Face-diffuser: [CVPR2024] Official implementation of High-fidelity Person-centric Subject-to-Image Synthesis. paper&#xff1a;2311.10329 背景 研究问题&#xff1a;这篇文…

做一个 简单的Django 《股票自选助手》显示 用akshare 库(A股数据获取)

图&#xff1a; 股票自选助手 这是一个基于 Django 开发的 A 股自选股票信息查看系统。系统使用 akshare 库获取实时股票数据&#xff0c;支持添加、删除和更新股票信息。 功能特点 支持添加自选股票实时显示股票价格和涨跌幅一键更新所有股票数据支持删除不需要的股票使用中…

USB学习——基本概念

文章目录 USB&#xff08;Universal Serial Bus&#xff09;概述USB系统的描述USB总线传输方式USB的拓扑结构 USB的连接模型USB控制器及分类USB描述符USB 端点USB枚举过程USB 四种传输类型USB 事务批量传输(Bulk)中断传输(Interrupt)等时传输(Isochronous)控制传输(Control)端点…

通信与网络安全之网络连接

一.传输介质类型 1.基本概念 计算机总是以二进制的数字&#xff08;0或1&#xff09;形式工作 1&#xff09;数字和模拟 模拟数据一般采用模拟信号(Analog Signal)&#xff0c;例如用一系列连续变化的电磁波(如无线电与电视广播中的电磁波)&#xff0c;或电压信号(如电话传…