多轮对话的实现方式如下:
三亿:Arthur:这个好。Arthur:请上Prompt。三亿:不是指定风格prompt画出来的,而是通过对它进行理解诱导,然后迭代出来的三亿:我发一下过程吧Arthur:多轮对话,迭代调整模式。三亿:是一个互相启发的过程,核心思路是AI和你对目标的理解共识要一致(对齐),然后再开始创作,这样可以增加创作的可控性三亿:我用的是诱导,因为是有预设意图的对话,而不是纯粹的开放性讨论三亿:其实“鼓励”本身并不是有效手段,这个只是个人化的表达风格(生活中就是这样的,和AI对话只是保持了一致性),用不同的对话风格依然能达成目的有效的部分主要在于:1.约束的弹性(探索阶段给AI一定自由空间,而prompt一般是强约束的,更适合确定性的目标或者用于总结阶段)2.情绪(群主之前分享过很多次,还有群里分享过的一些论文观点,情绪化能局部提升AI效能)3.共识(你的理解和AI的理解要高度一致,在高共识性的背景下,调整和控制会更有效)Arthur:字如其人
如果经历很多轮的对话,会导致此次对话超过模型的token限制,那么ChatGPT会遗忘之前的内容.所以我建议当经历多轮对话后,可以新建一个聊天窗口,把完整的代码和需求背景输入给chatgpt,重新开启新的提问.这是一种有效的措施.
在先前的讨论中,我们主要关注的是单轮问答的情境。然而,在现实世界的对话中,我们往往需要处理连续的多轮对话。在自然的人类语言交流中,多轮对话常常伴随着指代问题的产生,例如使用代词“它”、“他们”、“我们”等。在这种情况下,如果仅仅依据用户的原始提问来检索相关知识片段,可能会导致检索结果的不精确或者无法检索到相关信息。此外,由于我们对模型的回复内容施加了限制,使得模型不再依赖其内部知识库来生成答案,有时这可能会导致多轮对话的流畅性受到影响,甚至出现对话中断的情况。因此,为了提升对话系统的性能和用户体验,我们需要开发提示词来解决多轮对话中的指代消解问题,并确保模型能够在连续的交流中提供准确、连贯的回答。不过,由于“指代消解”需要多轮对话来完成,单次交互是无法达成的(至少目前看来是这样),所以我们需要将测试形式进行转换。首先解决”指代消解“的问题,然后再进行下一轮答复。首先,我们准备指代消解所需的提示词:大家可以看到,这里使用的“指代消解”提示词是使用CoT写出的思维链,我们在这个思维链中列举了不同情况的推理情景,目的就是让模型能够适应并成功推理出需要消解的代词,然后根据消解代词的结果重新组织问题。接着我们开始尝试复现指代消解的步骤:步骤1:进行第一轮对话在第一轮对话中,我们提出问题”尼罗河是什么?“,接着,系统成功召回了关于“尼罗河“的知识片段,并做出了回复。步骤2:开始指代消解