RAG 未来会支持 PDF 文件吗?

首先,你们的 AI 很棒!

其次,如果我们把 PDF、Word 或 PowerPoint 文件发布到论坛上,它也能读取这些文件并将它们分块成向量以用于 RAG 吗?

2 个赞

抱歉,我们目前还不支持 PDF 文件,但我们正在考虑中。在我们的 Persona 和 Tool RAG 实现中,我们支持 TXT 文件。因此,只要您能够将源材料转换为文本文件,就可以在 Persona 中使用它。

3 个赞

是的,我们就是这么做的,我们将附件转换为文本,并将它们与每个主题关联起来。

1 个赞

我们已经收到几次这样的反馈,并正在考虑在未来通过我们的人工智能机器人角色和工具RAG实现来扩展扩展支持。

4 个赞

作为临时的变通方法,我们只需将 PowerPoint、Word 或 PDF 文件转换为文本,然后将其附加到所属的同一主题。

1 个赞

PDF 支持对许多社区来说将是革命性的!鉴于它似乎是文档的通用标准,我们经常发现自己不得不将内容重新格式化为 .txt 以用于 RAG,这确实非常耗时 :face_with_spiral_eyes:

6 个赞

我们正在完成一些关于 Embeddings 的工作,一旦完成,下一步将是添加 PDF 支持。

5 个赞

太棒了,这真是太好了。为始终牢记社区需求的团队点赞!

JSON 文件呢?我有很多导出的 Discord 聊天记录,我们需要将其查询到 AI 中,这样就不会丢失这些信息 :slight_smile:

我曾考虑过微调模型,但我觉得将文件添加到 Discourse 对有类似用例的每个人来说会更好、更简单。

JSON 本身就是文本,所以我们已经支持了。

对于大型语言模型来说,它是一种效率低下的表示形式,因为该格式内部存在大量重复,会浪费一些 token,但总体上是可行的。我建议运行一个脚本对其进行处理并重新格式化,以提高 RAG 性能。

这很难自动完成,因为 JSON 可能嵌套很深,选择一种完美的特定领域文本表示形式高度依赖于该领域。

3 个赞

谢谢 Sam,关于您建议在添加约 150 MB 的 JSON(在 PDF 上)时保持性能和价格的平衡,我能问一下吗?

这是我第一次在我们的数据上使用 RAG,我很快就会开始学习这个过程。

我也很期待社区的任何见解。

我必须说,这次提交看起来相当不错 :heart_eyes:

这个功能完全发布有没有可能或时间表?我看到它目前是一个隐藏的网站功能。

5 个赞

这项工作背后的一项挑战是支持所有类型的 PDF。可以想象,有些 PDF 是纯文本,易于解析。然而,有些 PDF 包含自定义字体、图像、图形、非线性格式等……

我们正在努力寻找一种方法来让所有类型的 PDF 都能够正常工作,因此这可能需要一些时间。

4 个赞

说得非常好。我认为DeepSeek现在正在稍微改变这种格局。使用ollama在本地运行较小的DeepSeek模型现在可以提供高质量的推理,并解决这些担忧。

抱歉打扰您,@Saif,我能否在以下相关主题中获得您的帮助:How to properly debug AI Personas? 谢谢!

感谢您对这个已然很棒的插件进行如此惊人的增强。

PR 指出:

  • RAG 消化作业: DigestRagUpload 作业现在处理 PDF 和图像上传。它使用 PdfToImagesImageToText 来提取文本并创建文档片段。

这个作业实际何时运行?是我需要启动它吗?

我刚刚上传了一些 txt 文件和一个 PDF。txt 文件立即被索引,但 PDF 仍然显示“准备好被索引”。

谢谢。 :pray:

1 个赞

作业正在运行但遇到错误:

Jobs::HandledExceptionWrapper: Wrapped NameError: undefined local variable or method `temp_dir’ for an instance of DiscourseAi::Utils::PdfToImages

我自行托管。也许这是我可以深入研究的问题?

我建议暂时不要使用这个功能,因为它还没有正式上线。你在使用时可能会遇到问题

2 个赞

我在 PdfToImages 中找到了问题:

3 个赞

确认,给我几天时间,我也想尝试直接文本提取,这是我们可以默认启用的功能。

然后,“丰富”的基于 LLM 的提取可以放在标志后面。

许多 PDF 的麻烦在于它们非常大,并且可能非常消耗服务器资源。此外,像 tesseract 这样的东西可能有点难安装——它可以提高质量。

5 个赞

@sam,我自行托管,现在正在与 tesseract 搏斗。安装没问题,但它抛出的错误似乎不足以导致作业失败:

OCR 处理期间出错:/var/www/discourse/lib/discourse.rb:139:in `exec’: 使用 Tesseract OCR 图像失败
估计分辨率为 337

即使出现此错误,PDF 在 Persona 中仍显示已索引。

我不确定这对 RAG 有何影响。我将在周末深入研究。

感谢您如此迅速地回复。

2 个赞

[引用=“Chris, post:19, topic:335804, username:Yenwod”]
我不确定这意味着对RAG的影响。
[/引用]

我们有一个评估(我还想添加更多),但基本上,模型在图像转文本的质量会有很大差异,尤其是在没有基础的情况下。

不过好消息是,使用PDF我们可以进行无损文本提取,然后只在需要精装修(gold plate)时依赖于LLM来改进它。应该下周有些东西出来。

6 个赞