支持私有化部署
AI知识库

53AI知识库

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


还在靠 RAG 查文档?教你一招,AI 回答更靠谱!

发布日期:2025-04-12 15:39:53 浏览次数: 1543 作者:沉浸式学AI
推荐语

利用AI技术优化文档查询,让编程更高效!

核心内容:
1. AI编程中文档查询的挑战与现状
2. NotebookLM与Gemini引擎在文档查询中的应用实例
3. 利用大语言模型优化文档查询的策略与实战案例

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

Repomix:打包代码库为一个文本文件以便大模型检索-首席AI分享圈

在使用 AI 编程的过程中,你是否也遇到过这样一个问题——或者说是一种挑战:手上拥有一大堆文档,但却急需定位其中某条具体的信息。

几年前,答案很简单粗暴:看文档!

而如今,很多人已经转向更智能的做法:直接问 GPT!

更别提配合 Cursor、Cline 这类编程助手,查找答案变得更轻松了。

虽然在大多数情况下,这一方法都能奏效,但偶尔你会发现得到的答案并不全面,有时甚至只是一知半解,远不能满足需求。

实例解析:NotebookLM 的表现

让我以 NotebookLM(借助 Gemini 引擎)为例,讲讲我的亲身体验。

我把 dify 的文档(一款令人惊叹的开源大语言模型聊天工具)输入给 NotebookLM。在这个例子中,我问了怎么创建一个聊天助手,可惜它要么完全不知情,要么只是给出零散的信息。

为什么 AI 答案会显得“随机”?

其实,即便是 Cursor、Windsurf 等强大工具,也可能出现相当随机的回答。

为什么会这样?

主要原因在于:

  • 文档规模 vs. 模型容量
    根据文档的大小以及大语言模型(LLM)的 token 限制,这些模型往往会隐式使用检索增强生成(Retrieval-Augmented Generation),简称 RAG 的方式来处理文档。
  • 检索机制
    简单来说,系统会先构建一个向量化的数据库,然后基于这个数据库进行搜索。
  • 现阶段挑战
    尽管这种方法在不少场景下可以应急,但基于 RAG 的搜索质量,正是当前生成式 AI 领域的研究热点之一。
    因此,有时要在瞬间生成一个完整答案,其实并不容易。

一种更简洁的方案:让整个文档成为上下文

幸运的是,借助像 Gemini 这样支持高达 200 万 token 上下文的大语言模型,我们可以有一种更简单的方法。

具体来说:

  • 根据仓库的大小,你可以将整份文档作为上下文传递给 LL.M.
  • 这就相当于把完整的文档都粘贴到支持超大上下文窗口(例如 ChatGPT、Claude 或 Gemini)的对话框里,然后基于这份“完整”上下文进行提问。

这种方法不仅简单直观,还能大大降低因 RAG 检索偶发偏差而导致的信息丢失风险。

实战案例:Dify创建聊天助手

听起来是不是有点抽象?那我们就以实际项目为例,看看如何利用这种方案用 Dify 创建聊天助手。当然,这个方法同样适用于其他任何文档,只要你能获取到源文档的代码即可。

步骤一:寻找文档仓库与目录

开源项目通常都会有公开的文档。你可以通过点击文档页面上的“编辑”按钮迅速定位到对应的 Git 仓库和具体目录。

以 https://docs.dify.ai/为例,你很容易就能发现它们所在的文件夹。

注意:指定准确的文件夹,可以减少传给模型的文件量。


如果直接把整个仓库(包含大量不必要的源代码)作为上下文,往往是得不偿失。最理想的做法是,只提取出其中的 Markdown 文档。例如,在 Dify 的案例中,所有文档都集中在 指定 文件夹里。

步骤二:压缩文档

既然找到了文档目录,接下来就需要将整个目录中的 Markdown 文件“拼接”成一个单一的文件。

这时,一款名为 Repomix 的开源工具就能大显身手。你可以通过 npx repomix 命令运行它,或者直接访问它的在线版:https://repomix.com/。

操作流程大致如下:

  1. 复制 Git 仓库链接
    (无需包括路径)。
  2. 把需要包含的文件路径填入 “include pattern” 字段(如图所示),并选择 Markdown 作为输出格式。
  3. 最后,点击 “pack”。

短短几秒钟后,你就能得到一个文件,其中整合了所选文件夹中所有的内容,以一个长字符串形式呈现。你可以选择复制或下载该文件。

同时,在页面左侧还能看到这个压缩版本的 token 数量。在我的案例中,大约是 475000 token。

(虽然这一数值已经接近 Claude Sonnet 的上限,但与 Gemini 2x 的上百万甚至两百万 token 相比,仍然绰绰有余。)

步骤三:与文档“对话”

现在,将整份文档保存成文件或复制到剪贴板后,就可以前往 Gemini(或者当 token 数量未超限时的 Claude)中粘贴进去。

接下来,你就能基于这完整的文档上下文开始提问或让 AI 自动生成代码了。

在我的示例中,我使用的是 Gemini AI Studio 的免费版本。和之前不同,这一次,我再次询问关于如何添加助手,结果获得了极其全面且正确的答案!

总结

通过上述步骤,你就可以使用同一个提示(一整份文档作为上下文)来提问或生成代码,而不必再依赖那些敷衍的 RAG 检索结果,或是听起来合理却与真实文档不符的“凭空捏造”答案。

温馨提示:

  • 局限性在于 token 限制
    主要受制于你所使用模型的 token 限制。例如,Gemini 支持高达 100 万 token,这个容量非常大,能够容纳大量的文档。
  • 探索更多可能性
    此外,你也可以进一步探索在编程助手内查找其他相关工具的方法。

希望这篇文章能给大家在 AI 辅助编程的道路上提供一些有用的思路!未来,我们将继续探索更多高效工具和方法,帮你轻松驾驭 AI 编程的无限可能!

欢迎关注我的公众号,获取更多关于 AI 编程与技术前沿的精彩内容!


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

产品:场景落地咨询+大模型应用平台+行业解决方案

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

联系我们

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

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询