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.mzph.cn/pingmian/67163.shtml

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

相关文章

[免费]SpringBoot+Vue新能源汽车充电桩管理系统【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的SpringBootVue新能源汽车充电桩管理系统,分享下哈。 项目视频演示 【免费】SpringBootVue新能源汽车充电桩管理系统 Java毕业设计_哔哩哔哩_bilibili 项目介绍 随着信息化时代的到来&#xff0…

《拉依达的嵌入式\驱动面试宝典》—操作系统篇(二)

《拉依达的嵌入式\驱动面试宝典》—操作系统篇(二) 你好,我是拉依达。 感谢所有阅读关注我的同学支持,目前博客累计阅读 27w,关注1.5w人。其中博客《最全Linux驱动开发全流程详细解析(持续更新)-CSDN博客》已经是 Linux驱动 相关内容搜索的推荐首位,感谢大家支持。 《拉…

ffmpeg7.0 aac转pcm

#pragma once #define __STDC_CONSTANT_MACROS #define _CRT_SECURE_NO_WARNINGSextern "C" { #include "libavcodec/avcodec.h" }//缓冲区大小(缓存5帧数据) #define AUDIO_INBUF_SIZE 40960 /*name depthu8 8s16 …

【Uniapp-Vue3】pages.json页面路由globalStyle的属性

项目的全局配置在pages.json中。 一、导航栏设置 二、下拉刷新设置 下拉就可以看到设置的样式 三、上拉触底 这个页面中,向下滑动页面到底部就会输出“到底了” 现在将触底距离设置为500 走到半路就会输出“到底了”

openGauss 6.0 LTS 实现高可用性部署

openGauss 6.0 LTS是华为开发的企业级分布式数据库:高性能、高可用性、强扩展性,基于PostgreSQL,支持SQL和JSON数据类型,提供高并发、高吞吐量的处理能力,适合金融、电信、政府等行业使用,6.0版本主要增强了…

LeetCode 热题 100_腐烂的橘子(52_994_中等_C++)(图;广度优先遍历(队列))

LeetCode 热题 100_腐烂的橘子(52_994) 题目描述:输入输出样例:题解:解题思路:思路一(广度优先遍历(队列)): 代码实现代码实现(思路一…

C#,图论与图算法,输出无向图“欧拉路径”的弗勒里(Fleury Algorithm)算法和源程序

1 欧拉路径 欧拉路径是图中每一条边只访问一次的路径。欧拉回路是在同一顶点上开始和结束的欧拉路径。 这里展示一种输出欧拉路径或回路的算法。 以下是Fleury用于打印欧拉轨迹或循环的算法(源)。 1、确保图形有0个或2个奇数顶点。2、如果有0个奇数顶…

[文献精汇]使用 LSTM Networks 的均值回归交易策略

Backtrader 策略实例 [Backtrader]实例:均线策略[Backtrader] 实例:MACD策略[Backtrader] 实例:KDJ 策略[Backtrader] 实例:RSI 与 EMA 结合[Backtrader] 实例:SMA自定义数据源[Backtrader] 实例:海龟策略[Backtrader] 实例:网格交易[Backtrader] 实例: 配对交[Backtrader] 机…

WeakAuras NES Script(lua)

WeakAuras NES Script 修星脚本字符串 脚本1:NES !WA:2!TMZFWXX1zDxVAs4siiRKiBN4eV(sTRKZ5Z6opYbhQQSoPtsxr(K8ENSJtS50(J3D7wV3UBF7E6hgmKOXdjKsgAvZFaPTtte0mD60XdCmmecDMKruyykDcplAZiGPfWtSsag6myGuOuq89EVDV9wPvKeGBM7U99EFVVVV33VFFB8Z2TJ8azYMlZj7Ur3QDR(…

【江协STM32】11-2/3 W25Q64简介、软件SPI读写W25Q64

1. W25Q64简介 W25Qxx系列是一种低成本、小型化、使用简单的非易失性存储器,常应用于数据存储、字库存储、固件程序存储等场景存储介质:Nor Flash(闪存)时钟频率:80MHz / 160MHz (Dual SPI) / 320MHz (Quad SPI)存储容…

沸点 | 聚焦嬴图Cloud V2.1:具备水平可扩展性+深度计算的云原生嬴图动力站!

近日,嬴图正式推出嬴图Cloud V2.1,此次发布专注于提供无与伦比的用户体验,包括具有水平可扩展性的嬴图Powerhouse的一键部署、具有灵活定制功能的管理控制台、VPC / 专用链接等,旨在满足用户不断变化需求的各项前沿功能&#xff0…

Elasticsearch入门学习

Elasticsearch是什么 Elasticsearch 是一个基于 Apache Lucene 构建的分布式搜索和分析引擎、可扩展的数据存储和矢量数据库。 它针对生产规模工作负载的速度和相关性进行了优化。 使用 Elasticsearch 近乎实时地搜索、索引、存储和分析各种形状和大小的数据。 特点 分布式&a…

重邮+数字信号处理实验六:用 MATLAB 设计 IIR 数字滤波器

一、实验目的 1、加深对 IIR 数字滤波器设计方法和设计步骤的理解; 2、掌握用模拟滤波器原型设计 IIR 数字滤波器的方法; 3、能编写 MATLAB 函数,掌握设计 IIR 数字滤波器的函数调用方法; 4、根据不同的应用场景&#xff0…

mac intel芯片下载安卓模拟器

一、调研 目前主流两个模拟器: 雷神模拟器 不支持macosmumu模拟器pro版 不支持macos intel芯片 搜索到mumu的Q&A中有 “Intel芯片Mac如何安装MuMu?” q&a🔗:https://mumu.163.com/mac/faq/install-on-intel-mac.html 提…

fast-crud select下拉框 实现多选功能及下拉框数据动态获取(通过接口获取)

教程 fast-crud select示例配置需求:需求比较复杂 1. 下拉框选项需要通过后端接口获取 2. 实现多选功能 由于这个前端框架使用逻辑比较复杂我也是第一次使用,所以只记录核心问题 环境:vue3,typescript,fast-crud ,elementPlus 效果 代码 // crud.tsx文件(/.ts也行 js应…

【伪随机数】关于排序算法自测如何生成随机数而引发的……

以 Random 开始 可能一开始&#xff0c;你只是写到了排序算法如何生成随机数 public static void main(String[] args) {Random random new Random();int[] nums new int[10];for (int i 0; i < nums.length; i) {nums[i] random.nextInt(100);}System.out.println(&q…

项目概述、开发环境搭建(day01)

软件开发整体介绍 软件开发流程 第1阶段: 需求分析 需求规格说明书&#xff0c; 一般来说就是使用 Word 文档来描述当前项目的各个组成部分&#xff0c;如&#xff1a;系统定义、应用环境、功能规格、性能需求等&#xff0c;都会在文档中描述。产品原型&#xff0c;一般是通过…

1Hive概览

1Hive概览 1hive简介2hive架构3hive与Hadoop的关系4hive与传统数据库对比5hive的数据存储 1hive简介 Hive是基于Hadoop的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张数据库表&#xff0c;并提供类SQL查询功能。 其本质是将SQL转换为MapReduce/Spark的任务进…

Hive迁移,小表(10G以下的),分区快速修复批量脚本

hive迁移要迁移元数据&#xff08;mysql&#xff09;&#xff0c;要迁移实际数据hdfs&#xff0c;迁移完后如果有分区&#xff0c;通常是不能访问的。 这里就要修复分区了&#xff0c;如果是大表&#xff0c;几十T这种&#xff0c;迁移可能花了24小时&#xff0c;那么你修复分…

Vulnhub DC-9靶机实战

前言 这里说一下这个靶机的难点 1.这次sql注入是两个库的&#xff0c;在不使用sqlmap的情况下很多人直接database()看数据库&#xff0c;另一个库反倒没关注 2.nmap的扫描方式如果用-sT的tcp连接扫端口的话是扫不到那些被防火墙过滤的端口的&#xff0c;直接nmap ip就可以 3…