开发文档 RAG 的 GPTs 如何更高效地帮你 AI 编程?

(注:本文为小报童精选文章。已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费)

某些看似门槛很高的专业技能,在 AI 冲击下居然那么脆弱。

需求

自从有了ChatGPT,我拿它编程很久了。今年春季学期的《深度学习》课,它至少帮我剩下了50%的备课写代码时间。我和ChatGPT切磋讨论,交互过程非常愉快。

但用 ChatGPT/GPT-4 编程,有个非常明显的痛点 ------ 模型知识的滞后性。

对于那些许久不更新 API 的软件包来说,ChatGPT 用起来太棒了。写出来的程序保证能用,用户(例如我)非常开心。但是如果勤劳的开发者不断更新 API 的调用方式,甚至连 API 的名称都时常发生变化,ChatGPT 很多情况下就搞不定了。

ChatGPT 依照自己的记忆来给出代码,我拿过来本地执行 ------ 报错了。当然,我一定会把报错信息甩回给 ChatGPT。可是它挣扎半天,最后只得放弃,提示你可能是因为 API 发生了变化。因此要让 ChatGPT 辅助编程更加顺畅,你就得让模型了解最新的开发文档。

怎么才能做到呢?最简单的办法,就是检索增强生成 (RAG) 。考虑到你可能对这个名词未必很熟悉,我让 perplexity.ai 帮我写了个介绍:

RAG(检索增强生成)是一种用于大型语言模型(LLM)的技术,它通过结合外部信息来提高模型响应的质量。LLM 通常是基于固定数据集进行训练的,这意味着它们可能没有最新或特定的信息。RAG 通过使用外部数据存储来寻找相关信息并将其纳入模型的响应中,帮助解决这个问题。
可以用一个简单的比喻来理解:想象 LLM 的上下文窗口就像是其在特定时刻的视野。RAG 就像是拿着一张写有关键点的提示卡供 LLM 查看,帮助它产生更准确的响应。

但是这个方法说起来容易,操作起来还是要注意方式方法的。例如说,你想要让 ChatGPT 了解 fast.ai 最新的 API ,可以让它去学习 fast.ai 的最新教程,地址在这里。

我让 GPT-4 访问这个链接来学习。

看起来,它掌握了你给定的这一页上面的内容。但是,你让它具体编程,对不起,它还是不会。因为它只看过这一页而已。

这里我翻译一下 ChatGPT 的回答:

为了查看使用 FastAI 进行表格协同过滤的最新文档和示例程序,您可以访问 FastAI 文档网站。遗憾的是,我无法直接转录或根据其内容创建示例程序。然而,FastAI 的文档是全面的,包括您可以参考以开发自己的协同过滤模型的示例和代码片段。您可以通过访问 FastAI 文档找到相关信息和示例。

这...... 我用你说?!这就是我在之前使用 GPT-4 编程的时候,经常遇到的窘境。

好在,我们现在有了 GPTs 。根据之前《如何用 GPTs 构建自己的知识分身?(进阶篇)》一文的介绍,你应该已经了解,在构建 GPTs 的时候,你可以给它上传知识库。想想看,一个定制 GPT 有 GPT-4 自带的编程能力,又了解了某个软件包的最新 API 文档,那岂不是如虎添翼?

可是,我们该如何整理知识库,上传给 ChatGPT 呢?

最为简单粗暴的方法,是我们手动打开全部的文档页面,然后分别拷贝粘贴到一个新的文件里,再把它保存上传。不过,这显然不是个好方法。且不说将来文档还要更新,单让我做这一次,我都觉得不胜其烦。

幸好,我发现了有开发者帮助咱们解决了这个痛点。这篇文章,咱们就来介绍一下利用这款工具帮助咱们构建开发文档 RAG 增强 GPTs ,并且实际检验一下它辅助编程的效果。

相关推荐
无所畏俱的老尹8 小时前
Agent 落地为什么需要影子对照:同输入只读双跑、写动作变提案、差异报警,比直接切全量更安全
人工智能·机器学习·云计算·aigc·devops
神鹰手哥_起飞版9 小时前
深度研判任务里,开思考、换更强的模型、套方法论,哪个更有用?
人工智能
ObserverX219 小时前
我是如何用 13KB 纯 Python,发现本地 RAG 的“隐式递归记忆”的
人工智能
Jason_gao9999 小时前
Github Copilot 新手极速上手指南
人工智能·github·copilot
用户360055579009 小时前
Kestrel_VLLM - 35 · 把 m 循环搬进内核:一次「先量发射、再合并发射」的完整回合
人工智能
Linye9 小时前
为什么让 AI 修个小 Bug 却把底层全重写了?聊聊 Coding Agent 的最小修改边界
人工智能·架构
深度开源9 小时前
我扫了自己电脑里的 402 个 AI 技能,光目录就吃掉 4.5 万 token
人工智能
skywalk81639 小时前
hive 常驻集群:像 OSPF 一样在线,像 git 一样可信
运维·人工智能·hive
王中阳Go9 小时前
你那条三跳链路的单跳超时,是按压测的 p95 定的,还是拍出来的?
人工智能·后端·架构
方方洛9 小时前
ray教程-27-附录F-RayClient与runtime_env与多语言
人工智能·分布式·机器学习