系列教程 | 用Jina搭建PDF搜索引擎Part 1

本教程介绍了如何使用Jina和DocArray从PDF中提取和处理文本及图像,为构建PDF搜索引擎做准备。首先,创建PDF并使用Jina Hub的PDFSegmenter提取内容。接着,对文本进行分句处理,并对图像进行归一化。最后,通过ChunkMerger将文本和图像块整合。Part 2将涉及使用CLIP进行语义相似性搜索。
摘要由CSDN通过智能技术生成

PDF Search 系列教程来咯,在 Part 1 中,我们将演示如何从 PDF 中提取、处理并存储图像及文本。

随着神经搜索 (Neural Search) 技术的普及,越来越多开发者,开始尝试用 Jina 解决非结构化数据的索引和搜索问题。本系列教程中,我们将演示如何用 Jina 搭建一个PDF 搜索引擎

具体内容如下:

* Part 1 将介绍如何从 PDF 中提取、处理并存储图像及文本

* Part 2 将演示如何将这些信息输入到 CLIP 中(CLIP 是一个可以理解图像及文本的深度学习模型)。提取 PDF 图像及文本信息后,CLIP 将生成索引,输入图像或文本,即可进行语义相似性搜索。

* Part 3 通过客户端及 Streamlit 前端,对索引进行搜索。

* Part 4 为其他相关演示,如提取元数据等。

前序简介:预期目标 & 技术栈

预期目标:搭建一个 PDF 搜索引擎,用户输入文本或上传图片,搜索引擎即可返回类似的图片和文本片段,并附带原始 PDF 链接。

本文将着重讲解如何将一个 900 多页的 PDF 处理成可供搜索的向量。

本教程将涉及以下技术栈:

DocArray:a data structure for unstructured data. 通过这个工具可以封装 PDF 文件、文本块、图像块以及搜索引擎的其他输入/输出。

Jina为 DocArray Document 搭建流水线及神经搜索引擎,并将其扩展到云端。

Jina Hub无需逐一创建处理单元,可直接使用云端可复用模块。

教程详解:提取 PDF 中的文本及图像

提取 PDF 中的文本及图像,有以下方法可供选择:

1. 用 Jina Hub 上的 PDFSegmenter Executor,提取 PDF 中文本块和图像块。

2. 用 ImageMagick 和 OCR 对 PDF 中的每一页进行截图。

3. 将 PDF 转换为 HTML,图片提取到目录,再次将 HTML 转换为文本(这里我们使用的是 Pandoc )。

本文将使用方法 1,提取 PDF 中的文本及图像。

 

1、创建 PDF(也可使用已有文件) 

首先,我们需要一个示例文件,从维基百科中选择一个词条,并导出为 PDF 作为示例文档。本教程中我们用到的是

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
搭建 Jina 搜图,需要遵循以下步骤: 1. 安装 Jina 首先,你需要安装 Jina。你可以通过 pip 安装它: ``` pip install jina ``` 2. 准备数据 接下来,你需要准备一些数据,以便 Jina 可以对其进行搜索。数据可以是图像、文本或任何其他类型的数据。你需要将这些数据存储在一个文件夹中。 3. 编写 Flow 使用 Jina 搜图的核心是创建一个流程(Flow)。流程定义了如何处理和搜索数据。你可以使用 Jina 的 Python API 来定义流程。 例如,要创建一个简单的流程,可以使用以下代码: ```python from jina import Flow f = Flow().add(name='my_encoder', uses='jinahub+docker://MyAwesomeEncoder') ``` 在这个示例中,我们定义了一个流程,它使用名为 `my_encoder` 的编码器,并从 `jinahub` 中下载 Docker 镜像。 4. 运行 Flow 在定义了流程后,你可以使用以下命令运行它: ``` f.run() ``` 这将启动流程,并开始处理和搜索数据。 5. 搜索数据 一旦流程启动,你可以使用 Jina 的客户端 API 来搜索数据。例如,要搜索一个图像,可以使用以下代码: ```python from jina import Client, Document client = Client() image = Document(uri='path/to/image.jpg') response = client.search(inputs=[image]) ``` 在这个示例中,我们定义了一个 Jina 客户端,并搜索了一个名为 `image.jpg` 的图像。 这些是搭建 Jina 搜图的基本步骤。你可以根据自己的需求和数据类型来进一步定制和优化流程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值