在使用GenAI回答有关数据的问题之前,重要的是首先评估所提出的问题。这是Miso.ai的首席执行官兼联合创始人Lucky Gunasekara对当今开发GenAI工具的团队的建议。
GenAI作为一种界面提供了巨大的潜力,使用户能够以独特的方式查询你的数据,以接收针对他们的需求的答案,例如,作为查询助手,GenAI工具可以帮助客户使用简单的问答格式更好地导航广泛的产品知识库。
但在使用GenAI回答有关数据的问题之前,重要的是首先评估所提出的问题。
这是Miso.ai的首席执行官兼联合创始人Lucky Gunasekara对当今开发GenAI工具的团队的建议。
出于对Miso.ai的产品Smart Answers如何展现其洞察力的兴趣,我要求Gunasekara更深入地讨论Miso.ai理解和回答用户问题的方法。
大型语言模型“实际上比我们想象的要幼稚得多”,Gunasekara说,例如,如果被问到一个有强烈观点的问题,大语言模型很可能会去寻找证实这个观点的精挑细选的数据,即使现有的数据表明这个观点是错误的。因此,如果被问到“为什么项目X失败了?”,大语言模型可能会列出一个项目失败的原因清单——即使它是成功的,而这不是你想要的一个面向公众的应用程序所做的事情。
Gunasekara指出,在所谓的RAG(检索增强生成)应用程序中,评估问题是一个典型的遗漏步骤,RAG应用程序将大语言模型指向特定的数据体,并告诉它仅根据该数据回答问题。
这类应用程序通常遵循以下(稍微简化的)设置模式:
- 将现有数据拆分成块,因为所有数据都太大,无法放入单个大语言模型查询中。
- 为每个块生成所谓的嵌入,将该块的语义表示为一串数字,并存储它们,在数据更改时根据需要进行更新。
然后是每一个问题:
- 生成嵌入。
- 使用基于嵌入的计算,找出在含义上与问题最相似的文本块。
- 将用户的问题输入大语言模型,并告诉它只根据最相关的块来回答。
这就是Gunasekara的团队采取不同方法的地方,他们增加了一个步骤,在搜索相关信息之前检查问题。“我们不会直接问这个问题,而是首先问这个假设是否正确”, Miso的首席技术官兼联合创始人Andy Hsieh解释说。
除了检查问题中固有的假设外,还有其他方法来加强基本的RAG管道,以帮助改进结果。Gunasekara建议超越基础,特别是在从实验阶段转向值得生产的解决方案时。
Gunasekara说:“有很多人强调‘建立一个矢量数据库,做一个RAG设置,一切都会开箱即用’,这是一种很好的概念验证方式,但如果你需要做一项不会产生意想不到的后果的企业级服务,那永远是上下文、上下文、上下文”。
这可能意味着除了使用文本的语义之外,还可以使用其他信号,如新近和流行。Gunasekara指出了Miso正在与一个烹饪网站合作的另一个项目,该项目解构了这个问题:“派对上最好的烘焙蛋糕是什么?”
他说,你需要区分出你真正需要什么信号来进行查询。“Make-Advance”蛋糕的意思是不需要马上端上,“for a party”的意思是它需要为不止几个人服务,还有一个问题是,大语言模型如何确定哪些食谱是“最好的”,这可能意味着使用其他网站数据,比如哪些食谱拥有最高的流量、最高的读者排名,或者被授予编辑的选择——所有这些都与查找和汇总相关文本块分开。
Gunasekara说:“把这些事情做好的许多窍门更多地体现在这些背景线索中”。
虽然大语言模型的质量是另一个重要因素,但Miso认为没有必要使用最高评级和最昂贵的商业大语言模型,相反,Miso正在为一些客户项目微调基于Llama 2的模型,这在一定程度上是为了降低成本,也是因为一些客户不希望他们的数据泄露给第三方,Miso之所以这么做,也是因为Gunasekara所说的“开源大语言模型现在正在涌现一股巨大的力量”。
“开源真的在迎头赶上”,Hsieh补充道,“开源模型非常可能会超越GPT-4”。