ChatGPT作为一个语言模型,实际上没有真正的记忆功能。所谓的对话记忆只是开发者将对话历史向GPT发送消息时将最近的对话历史通过提示工程组发送给ChatGPT。换句话说,如果对话历史超过了大模型的最大上下文,GPT会忘记之前的部分,这是大语言模型共有的局限性。

不同模型目前对于token的限制也不同。例如,gpt-4的限制是32K tokens,而Claude模型则达到了100K tokens,这意味着可以输入约75000字的上下文给GPT,甚至可以直接让GPT理解整部《哈利波特》并回答相关问题。然而这并不能解决所有问题。以Claude模型为例,处理72K tokens上下文的响应速度为22秒。如果我们拥有 GB 级别或更大的文档需要进行 GPT 理解和问答,目前的算力很难带来良好体验,更关键的是目前大语言模型API 的价格是按照 tokens 来收费的,所以输入的上下文越多,其价格越昂贵。

在大模型面对token限制的挑战之外,它对专业领域知识的训练缺乏也是非常明显的短板。尽管这些模型在理解和生成自然语言方面有极高的性能,但它们在处理专业领域的问答时,却往往不能给出明确或者准确的回答。在医学、法律、工程等领域,人工智能可能被要求要理解和运用相当复杂和专业化的知识,然而这在目前的模型中仍是一个巨大的挑战。



在大模型的限制下,开发者们不得不寻找其他的解决方案,而向量数据库就是其中之一。向量数据库的核心思想是将文本转换成向量,然后将向量存储在数据库中,当用户输入问题时,将问题转换成向量,然后在数据库中搜索最相似的向量和上下文,最后将文本返回给用户。这就像我们去参加一场考试一样,如果依赖以往学过的知识去解题,就像我们使用大模型的通用能力去做回答一样。如果我们为大模型搭载了向量数据库,就像我们带着课本去考试一样,遇到用户的问题,就先翻书查找参考资料,找到相关资料再结合问题进行回答。