OpenAI GPT-3 API:如何让模特记住过去的对话?

h9vpoimq  于 2023-03-24  发布在  其他
关注(0)|答案(1)|浏览(459)

有没有一种方法可以训练一个大型语言模型(LLM)来存储一个特定的上下文?例如,我有一个很长的故事,我想问一些问题,但我不想把整个故事放在每个提示中。我如何才能让LLM“记住这个故事”?

0s7z1bwu

0s7z1bwu1#

考虑到GPT-3模型没有能够记忆过去对话的参数,目前“记忆”过去对话的唯一方法似乎是将过去对话包括在提示中
如果我们看一下下面的example

You are a friendly support person. The customer will ask you questions, and you will provide polite responses

Q: My phone won't start. What do I do? <-- This is a past question
A: Try plugging your phone into the charger for an hour and then turn it on. The most common cause for a phone not starting is that the battery is dead.

Q: I've tried that. What else can I try? <-- This is a past question
A: Hold the button in for 15 seconds. It may need a reset.

Q: I did that. It worked, but the screen is blank. <-- This is a current question
A:

遵循的规则:

  • 在提示中包含提示-完成对,最早的对话位于顶部。
    您将面临的问题:
  • 您将在某个时间点达到令牌限制(如果你聊天的时间足够长的话)。每个GPT-3模型都有一个maximum number of tokens可以传递给它。对于text-davinci-003,它是4096令牌。当你达到这个限制时,OpenAI API将抛出一个错误。当这种情况发生时,你需要减少过去提示-完成对的数量(例如,仅包括最近4个过去的提示-完成对)。
    优点:
  • 通过在提示中包含过去的提示-完成对,我们能够为GPT-3模型提供对话的上下文。
    缺点:
  • 如果用户问的问题与4个以上提示-完成对之前发生的对话有关,该怎么办?
  • 在提示中包含过去的提示-完成对将花费(很多)金钱!

相关问题