
Yi Ding • 2023-09-01
ChatGPT 的知识是两年前的:如果你正在构建应用该怎么办?
官方消息:截至今天,ChatGPT 的知识截止日期已是两年前。
祝 ChatGPT 的知识截止日期两岁生日快乐!🎂 pic.twitter.com/O1cgRPSP3l
— Yi Ding -- prod/acc (@yi_ding) 2023 年 9 月 1 日
为什么 OpenAI 不直接更新它?
这有一些根本原因:训练新的大型语言模型(LLM)非常昂贵——至少需要数千万美元——而且过程并不一定成功。清理新的数据集用于训练也同样昂贵。
如果我正在构建一个需要更新数据的应用,该怎么办?
您可能会想直接将 2022 年和 2023 年的整个维基百科页面发送给 ChatGPT:https://en.wikipedia.org/wiki/2022 您很快就会遇到两个限制:1.您可以发送给大型语言模型(LLM)的词数是有限制的。这被称为“上下文窗口”。2. LLM API 按字收费,所以发送的越多,您的 API 调用就越昂贵。
标准的技术叫做“检索增强生成”(Retrieval Augmented Generation),简称 RAG。简单来说,它就是寻找正确上下文、将该上下文提供给大型语言模型(LLM),然后获得更好结果的过程。
什么是检索增强生成?搜索、提供、获取。
— Yi Ding -- prod/acc (@yi_ding) 2023 年 7 月 28 日
对于我们这些有传统软件开发背景的人来说,RAG 可能听起来令人望而生畏,但它实际上是一个简单的概念
搜索相关数据
将数据提供给 GPT
获得更好的回复
当然,……
在LlamaIndex,我们是 RAG 专家,但有一整个开源社区正在解决这个问题。我们已经与超过 20 个开源向量数据库集成,还有其他开源工具如 LangChain、Semantic Kernel、DSPy、Axilla 等(请在评论中写下您喜欢的!)正在以不同的方式解决这个问题。
另一种技术叫做微调(fine tuning)。在这里,您本质上是在现有的大型语言模型之上创建一个新的自定义模型。虽然 LlamaIndex 支持微调,但这通常需要更多的工作和数据。
我们非常喜欢微调和自定义模型,但了解何时使用 RAG、何时使用微调以及如何将它们结合使用至关重要。
— LlamaIndex 🦙 (@llama_index) 2023 年 8 月 18 日
关注此空间!https://#/vTpWauhj3C
如果我不需要更新的数据怎么办?
那完全没问题!不是每个应用都需要比 2021 年更新的数据。在使用 LlamaIndex 之前,我开发了一个开源的阅读教育工具,而自然拼读法在过去两年里肯定没有改变。如果您正在构建用于写睡前故事(❤️ Kidgeni https://kidgeni.com/)或说唱(看看 TextFX!https://textfx.withgoogle.com/)的应用
如果我只是想用更新的信息来使用 ChatGPT 怎么办?
目前有很多使用检索增强生成的聊天机器人。我个人尝试过的一些有 Metaphor https://metaphor.systems/、Perplexity https://www.perplexity.ai/ 和 Medisearch https://medisearch.io/,当然还有 Google Bard 和 BingGPT。