不要将你的 RAG 知识库限制在文本上

窃取这个即插即用的 Python 脚本,轻松将图像实现到聊天机器人的知识库中

添加图片注释,不超过 140 字(可选)

  我们将从以下三个简单步骤开始:

  1. 收集数据:收集您计划使用的图像,确保它们组织良好且信息量不过大。

  2. 上传数据:设置一个 AWS S3 存储桶来存储您的图像,确保基于云的 AI 模型以后可以访问它们。

  3. 转录数据:配置 OpenAI API(或任何其他 LLM API)来处理图像的转录。

设置这些组件后,我们将介绍如何自动化整个过程,从而只需几分钟即可高效地转录数百张图像。

收集数据 首先,收集您将用作数据源的图像。 这些可以来自照片、幻灯片、PDF 等等。 尽量避免在一张图片中塞入大量信息——无论其来源是什么。这主要是为了避免压倒 LLM,并减少出现错误或丢失信息的可能性。 虽然自动化过程主要用于处理 .png、.jpg 和 .jpeg 等图像文件,但它也可以适用于其他文件类型。

添加图片注释,不超过 140 字(可选)

上传数据 由于我们将使用基于云的 LLM(例如 GPT-4o)进行转录(您也可以使用其他模型),因此我们需要将所有图像上传到服务器。 最简单的方法之一是使用 AWS S3 存储桶,它允许我们几乎不受速率限制地上传图像 — — 与 Imgur 等提供商不同。 无论你使用哪个提供商,只要确保图像可以通过其链接公开访问即可。否则,基于云的 LLM 将无法访问它们。 如何创建 Amazon S3 存储桶 步骤 1:登录 AWS 管理控制台

  1. 转到AWS 管理控制台。

  2. 使用您的 AWS 凭证登录。

  3. 在 AWS 管理控制台中,在搜索栏中输入“S3”,然后从服务列表中选择S3 。

步骤 2:创建新存储桶

  1. 单击创建存储桶按钮。

添加图片注释,不超过 140 字(可选)

2. 输入唯一的Bucket 名称 —必须是全局唯一的并符合 AWS 命名约定。 3. 取消选择“阻止所有公共访问”复选框。

添加图片注释,不超过 140 字(可选)

4. 单击页面底部的创建存储桶。 步骤 4:配置存储桶以供公开访问

  1. 转到新存储桶的“权限”选项卡。

  2. 单击“Bucket Policy”并输入以下 JSON 策略以允许公共读取访问:

{ “版本” : “2012-10-17” , “声明” : [ { “Sid” : “PublicReadGetObject” , “效果” : “允许” , “主体” : “*” , “操作” : “s3:GetObject” , “资源” : “arn:aws:s3 :::{enter_bucket_name} / *” } ] } 重要提示!请确保将{enter_bucket_name}替换为您自己的存储桶名称。 存储桶设置现已完成! 这将在转录过程本身中发挥关键作用,您将在稍后看到一切如何结合在一起。

转录数据 如前所述,我们将在此示例中通过 OpenAI 的 API 使用 GPT-4o。 为此,请确保您已遵循以下步骤: 步骤 1:创建 OpenAI 帐户

  1. 访问 OpenAI 网站:前往OpenAI 的 API 密钥部分。

  2. 注册:点击注册按钮并创建一个新帐户。如果您已有帐户,只需登录即可。

第 2 步:获取 API 访问权限并获取 API 密钥

  1. 注册 API 访问权限:按照说明注册 API 访问权限。您可能需要提供一些账单信息。

  2. 转到 API 密钥部分:设置并获得批准后,返回 OpenAI 仪表板中的 API 密钥部分(上面提供的链接)。

  3. 生成 API 密钥:单击“创建 API 密钥”按钮以生成新的 API 密钥。请确保安全存储此密钥,因为您稍后会需要它。

太棒了!现在我们有了自己的 API 密钥,稍后我们将使用它来处理图像。 注意:如果您刚刚创建帐户,您可能无法访问 GPT-4o 等模型。在这种情况下,您可以选择使用 GPT-4o Mini 或通过 Azure 的 API 访问 OpenAI 的模型。

流程自动化

现在设置过程已完成,我们可以进入有趣的部分 - 节省数百小时并使您的知识库在此过程中提高十倍! 我花了很长时间来完善这个脚本,但现在我希望能为您节省大量的时间和精力。 设置你的环境 在深入研究脚本之前,请确保您已:

  1. 在' .env '中设置的环境变量(GitHub 存储库上有一个示例文件)。

  2. 已安装所有要求(可在‘requirements.txt’中找到)。

图像转录——核心功能 该脚本的核心功能是处理图像、将其上传到 AWS S3 存储桶,然后将图像发送到 GPT-4o 进行转录。它的工作原理如下:

  1. 将图像上传到 S3:脚本将遍历指定“ folder_path ”内的所有文件夹,并将指定文件夹中的每个图像上传到 AWS S3 存储桶。它还确保图像可公开访问。

  2. 使用 GPT-4o 转录图像:将图像上传到 S3 后,其 URL 会与预定义的提示一起发送到 OpenAI 的 GPT-4o 模型。GPT-4o 处理图像并返回其内容的详细转录。

  3. 存储转录:收到的转录将附加到相应图像文件夹中的“ transcriptions.txt ”文件中。此文件累积了所有已处理图像的转录,为清晰起见,用分隔符分隔并划分到各个文件夹中。

添加图片注释,不超过 140 字(可选)

其他功能 除了主要的图像处理工作流程之外,该脚本还包括几个附加功能以增强其实用性:

  1. 总结和向量化:在收集转录内容后,脚本可以将内容总结为总体概念并创建新的向量,以确保最大程度地覆盖内容。这些向量对于将数据集成到知识库中至关重要。

  2. 文件夹处理:脚本以递归方式处理指定目录内的所有子文件夹,确保处理每个图像。这使得组织和管理大型数据集变得容易。

  3. 更新转录文件名:为了跟踪每个转录文件中的向量数量,脚本可以更新文件名以包含此信息。

  4. 合并转录:它提供将文件夹内的所有转录合并到一个文件中的选项,该文件可以在各自的主文件夹中合并,也可以合并到根目录下的一个合并文件中。

  5. 计数向量:脚本计算每个主文件夹中的向量,快速概览数据量并确保完整性。

  6. 将向量上传至 Qdrant:最后,脚本将所有向量上传至 Qdrant 向量存储。您可以通过修改代码随意使用其他数据库提供商。

在知识就是力量的世界里,不要让你的数据局限于纯文本。利用人工智能将图像无缝转录并集成到你的知识库中,将数小时的手动工作转化为高效的自动化流程。 无论您拥有少量图像还是大量图像,这种方法都会提高数据的价值和可用性。 请记住,关键步骤是:

  1. 收集数据:收集您的图像。

  2. 上传数据:将其存储在云服务中。

  3. 转录数据:使用人工智能生成详细的描述。

  4. 组织和矢量化:确保您的知识库全面而高效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值