代码改变世界

RAG开发大模型应用掉进过的坑(1)——从讨论国内外大模型应用发展而起

2024-03-27 15:00  叶伟民  阅读(19)  评论(0编辑  收藏  举报

昨天在某个生成式AI微信群里面有一个讨论:为什么最近国外讨论的是suno,国内火的却是上下文?

我是这么看的:因为国内外的经济基础、文化等各种因素不同,同一时期在大模型这条赛道上讨论的具体东西不同是很正常的。但是有一点是始终不变的:就是无论如何不同,了解国外讨论的东西,取其精华、去其糟粕、为我所用。

另外去年是生成式AI爆发元年,包括我自己在内,很多人开发过很多大模型应用。一年下来,很多人发现,仅仅靠LangChain官网和各种国内信息源,是没有办法开发好一个大模型应用的,例如:

  1. 按块划分文本(chunk)会遇到的问题以及如何解决,LangChain官网没有讲,各种国内信息源也讲得不详细。
  2. 按句划分文本时,对中文数据经常划分出错,LangChain官网没有讲,各种国内信息源在这方面的资料也很少。
  3. 使用LangChain官网的各种PDF Reader,经常产生各种错误,LangChain官网没有讲,各种国内信息源在这方面的资料也很少。这点我在上一篇文章讨论过,这篇文章就作为《RAG开发大模型应用掉进过的坑》系列文章的第0篇吧(程序员从0开始)。
  4. 等等还有很多问题这里就不罗列了。

于是我萌生了一种想法:把这些(RAG)开发大模型应用掉进过的坑以及解决方案写成一系列文章,抛砖引玉,供大家共同思考。

在写这一系列文章之前,我想分享一点:为什么我能从这些坑里面爬出来,是因为我经常了解和借鉴国外在开发大模型应用方面的经验。当然,国外并没有直接可以用于解决中文RAG应用的解决方案,但是通过了解国外在开发大模型应用方面的经验,我想出了不少思路。

回到本文一开始的话题,国内外讨论的东西是不一样,但是我们可以了解国外的经验来想出解决国内问题的思路。以我翻译的《基于GPT-3、ChatGPT、GPT-4等Transformer架构的自然语言处理》为例,虽然里面的内容与国内的关注点不一样,但确实给我提供了不少解决开发国内大模型应用的解题思路。换句话说吧,这本书每一版都占据过Amazon畅销书第一名,作者Denis也有四万多个粉丝,不管里面的内容与我们的认知有多么不符,但是肯定有值得我们借鉴之处。

好了,说了这么多,接下来开始《RAG开发大模型应用掉进过的坑》系列文章的第2篇:按块划分文本(chunk)时掉进过的坑。