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

2024-04-24

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


考虑到 GPT-3 模型没有能够记忆过去对话的参数,看来目前“记忆”过去对话的唯一方法是在提示中包含过去的对话.

如果我们看一下以下内容example https://thoughtblogger.com/continuing-a-conversation-with-a-chatbot-using-gpt/:

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 模型都有一个最大代币数量 https://platform.openai.com/docs/models/gpt-3你可以传递给它。如果是text-davinci-003, it is 4096代币。当达到此限制时,OpenAI API 将抛出错误。发生这种情况时,您需要减少过去的提示-完成对的数量(例如,仅包括最近的 4 个过去的提示-完成对)。

Pros:

  • 通过在提示中包含过去的提示-完成对,我们能够给出 GPT-3 对对话的上下文进行建模。

Cons:

  • 如果用户提出的问题与超过 4 个提示完成对之前发生的对话相关怎么办?
  • 在提示中包含过去的提示完成对将花费(很多)金钱!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenAI GPT-3 API:如何让模型记住过去的对话? 的相关文章

随机推荐

  • cxApi.chooseVariation() 始终返回 0

    我的网站是一个单页网络应用程序 我正在使用我的实验 ID 加载实验代码 加载完所有内容后 在显示页面时 我通过调用执行以下操作的函数来选择正确的模板 ga set expId experiment id var variation cxAp
  • 将 AdMob 插件添加到 Ionic 项目时出现 Xcode 错误

    我有一个 Ionic 3 项目 它在 Ionic DevApp 和 Xcode 上正常运行 但是当我添加 AdMob Plugin 时 它正常运行 Ionic DevApp 但它不在 Xcode 上运行 我尝试了模拟器和真实设备 但我都遇到
  • 将二进制文件读入结构体

    我正在尝试使用 C 读取二进制数据 我拥有有关我想要读取的文件中的数据布局的所有信息 我能够 逐块 读取数据 即将前 40 个字节的数据转换为字符串 然后获取接下来的 40 个字节 由于数据至少有三个略有不同的版本 我想将数据直接读入结构中
  • 为什么我应该将 IHttpContextAccessor 作为单例注入

    在我见过的所有例子中IHttpContextAccessor注入时 它被设置为单例 例子 如何在ASP NET Core 1 0中的DI中的Startup类中添加IHttpContextAccessor https stackoverflo
  • 使用 AppleScript 和 Automator 在带有键盘的 Mac 上显示上下文菜单

    我正在尝试找到一种方法 在使用 Yosemite 的 Mac 上的 Finder 中调出上下文菜单without触摸鼠标 触摸板 A context menu 经过对此问题的广泛研究 唯一可能的途径似乎是使用 AppleScript 和 A
  • 从 Webview 获取源代码(VB for Metro)

    我正在制作一个 Windows Phone 的应用程序 我可以从名为 DebWeb 的网络视图获取特定班级的 ClassRoom DebWeb 加载所有教室所在的网站 但我想让我的应用程序搜索只是我的班级 之前我制作了一个具有几乎相同目标的
  • 如何传递具有动态参考 angular2 的元素?

    我里面有元素ngFor环形 每个元素都像这样得到引用 f floor b 如你所见floor是一个变量 我想将这些元素传递给函数 代码
  • Findbugs 和 Maven 3.x

    有没有人设法让 findbugs 2 3 1 2 3 2 SNAPSHOT 或 2 4 SNAPSHOT 与 Maven 3 x 项目一起使用 我总是最终得到 错误 未能执行目标 org codehaus mojo findbugs mav
  • 因为它违反了以下内容安全策略指令:“style-src 'self'”

    我有一个带有此标题的网页 这是一个非交互式页面 只有 twitter bootstrap js
  • 从 takeOrdered 返回一个 RDD,而不是一个列表

    我正在使用 pyspark 进行一些数据清理 一个非常常见的操作是获取文件的一小部分并将其导出以供检查 self spark context textFile old filepath filename takeOrdered 100 sa
  • 强制 TeamCity 基于特定代理进行构建

    是否可以在不禁用所有其他连接的代理的情况下强制 TeamCity 在特定代理计算机上构建 Under Build Configuration Settings go to Agent Requirements并设置一个Explicit Re
  • 在 PHP 中,某些浮点值的总和应为零,但并非如此 [重复]

    这个问题在这里已经有答案了 可能的重复 浮点不准确示例 https stackoverflow com questions 2100490 floating point inaccuracy examples 它将显示 2 30926389
  • Android RecyclerView 与 GridLayoutManager 使项目跨越多行

    I have a collection of photos and I m using a RecyclerView to display them I want to have the first element in my Recycl
  • 简单的程序崩溃

    所以我已经使用 MinGW GCC 版本 4 4 有一段时间了 并决定是时候升级了 我去MinGW网站下载了最新版本的GCC 4 7 0 删除以前的版本并安装最新版本后 即使是最简单的程序也会崩溃 例如 如果我编译这个程序 include
  • 通过日期时间列表根据日期列更新 pandas 数据框列

    老问题 https stackoverflow com q 73168797 15975987 详情请参考上述问题 我需要添加 0 5 个工作日business days第二个列表中不在第一个列表中的每个假期的列 这是一个名为 df 的示例
  • 值的 Ocaml 表示 - 原子

    我查看了一些 OCaml 值的内部表示 空数组的表示是atom 0 即一个块tag 0 and size 0 空浮点数数组由atom 0 too 是否存在由原子表示的任何 OCaml 值tag gt 0 如果不是 OCaml 字节码集包含以
  • AWS Kinesis ShardIteratorType TRIM_HORIZON 的预期行为

    Context 我不一定指的是基于 KCL 的应用程序 只是纯粹的 Kinesis API 调用 是否使用TRIM HORIZON分片迭代器类型立即为您提供流中最早发布的记录 即 Kinesis 内置 24 小时窗口内最早可用的记录 或者只
  • 初始化类和实例化对象之间的区别?

    我尝试通过搜索引擎搜索这个问题 但可以找到一个主题来解释初始化类和实例化对象之间的区别 有人可以解释一下它们有何不同吗 与该主题相关的三个术语是 声明 初始化和实例化 从后到前工作 实例化 这是为对象分配内存的时候 这就是new关键字正在做
  • 在 F# 中的 Choice 之上构建 Either(或 Result)

    我根据 Scott Wlaschin 中的信息构建了一个成功 失败的 monadblog http fsharpforfunandprofit com posts computation expressions wrapper types
  • OpenAI GPT-3 API:如何让模型记住过去的对话?

    有没有办法训练一个大语言模型 法学硕士 存储特定的上下文 例如 我有一个很长的故事 我想提出问题 但我不想把整个故事放在每个提示中 如何才能让LLM 记住这个故事 考虑到 GPT 3 模型没有能够记忆过去对话的参数 看来目前 记忆 过去对话