ChatGPT是一个语言模型,而不是知识模型。
当我们觉得ChatGPT在胡说八道时,实际上是把它误认为知识模型,当认知为知识模型时,就不能出错,不能胡说八道。
事实上,GPT不可能获得完整的知识,无论技术如何发展,知识错误是必然会出现的,这是因为:
-
部分知识具有时效性,从GPT训练的周期来看,它的训练数据在使用时就已经过时。
-
由于隐私、合规等问题,GPT即使再发展和迭代,训练数据也不可能是全面的数据,它只能使用公开的数据,如果使用隐私的数据就会出现问题。
由于像ChatGPT这样的NLP大模型无法获得全部知识,我们就不能把它当成万能AI,而应该把它看成语言模型,语言模型就是可以理解自然语言,能够生成文字(对话),即它擅长做文字工作,于是对于普通用户和创业者的机会分别如下:
- 给普通用户的机会是生成文字(对话);
- 给创业者的机会:
- 在某个行业领域,增加行业知识后的生成文字(对话);
- 理解自然语言,然后调用某个特定插件,完成某个任务,并用自然语言输出结果;
下面介绍给创业者的这两个机会的实现思路:
增加行业知识后的对话
这个可以用“如何把自有数据接入GPT大模型? ”这篇文章里提到的两个方法:
-
在大模型基础上微调(Fine-tuning)注入专业领域知识,不过目前OpenAI只是开放了GPT3,建议等等再看,目前不推荐。
-
在Prompt中带入知识,这个受Token数的限制,可带入的知识有限,近一步解决方案就是使用Embedding接口,把行业知识向量化,存在本地向量数据库上,用户对话时,先查询下本地向量数据库,找出最相关的,把相关的这部分作为Prompt的知识带入。
理解自然语言
宝玉在微博中提到王建硕老师开发的补全一些ChatGPT缺失的能力机器人,就是用的这个方案。
比如我们要补充ChatGPT的报时、算复杂数学任务的能力。
我们知道ChatGPT是有能力理解用户的问题,并且有一定的逻辑能力可以基于用户的输入做出一些判断和数据提取。
所以要实现这样的机器人,首先你要定义好一些插件,比如我有两个插件,定义好名称、描述、执行程序
name: 报时
description:当用户咨询当前时间使用这个工具
run: () => 现在下午4:27分name: 计算器
description: 当用户询问数学计算时使用这个工具,并且把用户问题转换成可执行的python数学函数代码
run: (query) => eval(query)
当用户问
“29开根号等于多少?”
我们分两次OpenAI.ChatCompletion请求。
第一次请求判断用什么扩展工具?
第一次请求OpenAI的prompt会是这样:
你要帮助用户回答问题,这里有以下工具可供你选择:
报时:当用户咨询当前时间使用这个工具
计算器:当用户询问数学计算时使用这个工具,并且把用户问题转换成标准数学公式你需要根据用户的问题输出:
工具名称:从上面的工具中选择一个
输入:要传入工具的值下面是一个示例:
用户的问题是:59开根号等于多少?
你的输出结果:
工具名称:计算器
输入:math.sqrt(59)
拿到OpenAI返回的结果后,调用计算器的run函数,计算出来math.sqrt(29)的结果5.385。
第二次请求带上工具产生的知识
再次请求OpenAI的API,这次的Prompt看起来像这样:
已知math.sqrt(29)是5.385,
请回复用户的问题:
“29开根号等于多少?”
ChatGPT会返回:
“29开根号等于5.385”
这样基本上就实现了一个简单的可执行子任务的AI机器人。
小结
简单总结一下:
-
事先你需要定义一系列工具插件,每个工具包含明显的名称、描述和参数定义。
-
当用户问到一个复杂问题时,先让ChatGPT根据用户的问题,去选择你有的最合适的工具,并且从用户的输入中提取出你这个工具可以执行的参数。
-
然后根据ChatGPT返回的工具名称和参数去调用工具的代码去执行,得到运算结果。
-
上面两个步骤会反复执行,直到用户的所有问题都解决了,因为用户的问题可能需要多个工具或多次执行才能得到所有结果,当然ChatGPT会帮助你做出判断。
-
当拿到所有结果后,将结果和用户的问题再次给到ChatGPT,ChatGPT归纳整理后,将最终结果返回给用户。
总结
自从ChatGPT问世以来,人们开始在各种场景中与机器用自然语言进行对话。这一时代的开端标志着人工智能在语言理解和自然交流方面取得了重要的突破,为人类带来了前所未有的便利。在这个过程中,人与机器之间的交流逐渐变得更加智能化、高效且自然。
在这个人机交流的新时代,沟通的障碍将得到了有效的消除。可预计的未来,无论是来自不同文化背景的人们之间的交流,还是面对复杂的技术问题求助于机器,都能够通过自然语言轻松地实现。语言的难题不再是阻碍人们交流的屏障,反而成为了拉近彼此距离的桥梁。
这个语言交流新时代也带来了一定的挑战,如信息的真实性和隐私问题。为了应对这些挑战,相关企业和机构需不断加强对技术的监管和研究,以确保人们在享受便利的同时,也能够维护好个人隐私和信息安全。这也是创业者的机会,在特定领域,特定子任务上发力。
总之,ChatGPT开始的人与机器用自然语言对话的时代,为人类社会的发展带来了巨大的变革。在未来,这种交流方式将继续深入人们的生活,为我们带来更多的可能性和机遇。