AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


不要将你的 RAG 知识库限制在文本上
发布日期:2024-09-12 08:22:59 浏览次数: 1713 来源:barry的异想世界


在构建知识库时,一个常见的挑战是将所有内容转换为纯文本。在处理幻灯片、PDF、图像等媒体源时,这可能会有限制。

那么,我们如何充分利用非纯文本的数据呢?

得益于最近的AI进展,现在变得比以往任何时候都更容易和便宜。通过使用具有视觉能力的大型语言模型(LLMs),我们可以转录成千上万的图像,不仅捕捉文本,还理解内容之间的关系。这些模型甚至可以在需要时描述图像中的视觉对象,提供比OCR更丰富、更详细的转录。

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

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

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

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

在设置好这些组件后,我们将讨论如何自动化整个过程,使在几分钟内转录数百张图像变得高效。

收集数据

首先,收集您将用作数据源的图像。

这些图像可以来自照片、幻灯片、PDF等。

尽量避免在单个图像中塞入大量信息——无论其来源是什么。这主要是为了避免给LLM带来负担,并减少出错或遗漏信息的可能性。

虽然自动化过程主要是为了处理如 .png、.jpg 和 .jpeg 等图像文件,但也可以适应其他文件类型。

上传数据

由于我们将使用基于云的 LLM,如 GPT-4o 进行转录 (您也可以使用其他模型),我们需要将所有图像上传到服务器。

最简单的方法之一是使用 AWS S3 存储桶,这允许我们几乎无限制地上传图像——与 Imgur 等提供商不同。

您使用哪个提供商并不重要,只需确保图像可以通过其链接公开访问。否则,基于云的 LLM 将无法访问它们。

如何创建一个 Amazon S3 存储桶

步骤 1:登录到 AWS 管理控制台

  1. 访问 AWS 管理控制台。

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

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

步骤 2:创建一个新存储桶

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

  1. 输入一个唯一的 存储桶名称 — 必须是全球唯一并符合 AWS 命名规范。

  2. 取消选中“阻止所有公共访问”复选框。

  1. 点击页面底部的 创建存储桶

步骤 4:配置存储桶以允许公共访问

  1. 转到新存储桶的 权限 标签。

  2. 点击 存储桶策略,并输入以下 JSON 策略以允许公共读取访问:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "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的模型。

自动化过程

现在设置过程已经完成,我们可以进入有趣的部分——节省数百小时的时间,并在此过程中使您的知识库提高十倍!

我花了相当长的时间来完善这个脚本,但现在我希望能为您节省大量的时间和精力。

您可以通过这个 GitHub 仓库 完全免费地 访问脚本提示模板 和 示例 ‘.env’ 文件。

https://github.com/MarcosSan4/ImageKB/tree/main

设置您的环境

在深入脚本之前,请确保您已:

  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' 文件中。该文件累积所有处理图像的转录,以分隔符分隔以便清晰,并在文件夹之间进行划分。

杂项功能

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

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

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

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

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

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

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

最后的想法

在一个知识就是力量的世界里,不要让您的数据仅限于纯文本。利用 AI 无缝转录并将图像整合到您的知识库中,将数小时的手动工作转变为高效的自动化流程。

无论您拥有一小部分图像还是庞大的集合,这种方法都将增强您数据的价值和可用性。

请记住,关键步骤是:

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

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

  3. 转录数据:使用 AI 生成详细描述。

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

那么… 就到这里吧!


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询