求教如何在 chatgpt 的交互中精确回退到某一对话

2023-11-13 08:46:53 +08:00
 happyn
有两个场景:

1. 我跟 chatgpt 一顿交流后,它输出了一个不错的代码模板,我想以后的各种修改尝试都根据这个模板来;于是我告诉 chatgpt ,"刚才你生成的代码为 Version1.0 ,之后我的修改都基于这个版本";然后后面我跟它又一顿交流,很长很长的对话后我又问他,"请根据 Version1.0 的代码 巴拉巴拉",他就傻了。。。怎么破;

2. 与 DALLE 多模态对话,我跟他一顿交流,输出了一张比较好的图片,我就说"这是图片 A ,我们就在它的基础上做修改",同样的,一顿交流之后,它又忘了图片 A 了,或者总是有细微的遗忘细节现象,如何解决?


这个需求我统一描述为,对话到某个时间,可以打个 tag ,然后告诉 GPT ,回到某个 tag 对话节点;

请问有什么技巧可以解决此类问题吗?
1745 次点击
所在节点    OpenAI
12 条回复
ihmily
2023-11-13 09:05:52 +08:00
”然后后面我跟它又一顿交流,很长很长的对话后我又问他,"请根据 Version1.0 的代码 巴拉巴拉",他就傻了。。。怎么破“

因为它记忆能力有限,经过长段对话后,最初的内容已经超出记忆范围之外了,或者记忆能力已经减弱。解决方法是只能你自己不断把 version1.0 的代码发给他,让他记住上下文。
anmie
2023-11-13 09:15:04 +08:00
新的模型应该好些了,主要就是上下文长度的问题
TimePPT
2023-11-13 09:16:23 +08:00
开头告诉 GPT 请对生成的代码/图片分配一个唯一的 id 号
scalaer
2023-11-13 09:17:27 +08:00
api 是可以的, 建议用 langchain 去实现

```
messages = [SystemMessage(content=""), ....]

response = llm(messages)

***
# 循环 chat
messages.append(response.conten)
response = llm(messages)
```

messages 里面的内容你可以自己调整, 它是个数组, 把需要的留着
chitanda
2023-11-13 09:49:23 +08:00
找到你想回溯的那段话,下面有个笔一样的图标,点一下就可以重新修改问题
renmu
2023-11-13 09:54:10 +08:00
有个 parent_id 可以用,但是网页端我倒不清楚怎么做
itskingname
2023-11-13 10:02:48 +08:00
DALL.E 这个我有办法。你点击左下角用户名-Custom Instructions 。设定开头的 system:

```
在生成图片时,请按顺序为每张图片添加编号,例如:

<图片>--001
<图片>--002
```

然后当你想要精确基于某次结果进一步修改时,就让他基于 00N 图片进行修改
renmu
2023-11-13 10:04:45 +08:00
@renmu 网页端点击提问右侧的一个编辑按钮
yinmin
2023-11-13 10:13:07 +08:00
代码 version 的一个变通解决方案是找到 gpt 给出代码的下一条提问,点击编辑按钮,重新递交问题,gpt 会产生一个问答分支。

dalle 画图后,你问他要这个图片的 seed id ,之后基于这 seed id 画新图。
happyn
2023-11-13 10:22:33 +08:00
我是 chatgpt4 付费用户;刚刚按照大家的方法尝试了;

似乎即使指定让 DALLE 生成图片 ID ;它答应的时候好好的,但是让它调用的时候又发傻了:

```
你好,DALLE ,请把我跟你对话生成的所有图片编号,这样我们交流的时候,我只要说出图片编号,就能精准的指示内容生成

GPT
DALL·E
你好!很高兴帮助你。每当我为你创建一幅图片时,系统会自动生成一个独特的编号,称为“gen_id”。当你想参考之前生成的图片时,只需告诉我那张图片的“gen_id”,我就能准确地知道你指的是哪一张图片。如果你有任何图片生成的需求,随时告诉我!
..........................

GPT
DALL·E
很抱歉,但是我无法为你提供已经存在的图片的"gen_id"。"gen_id"仅适用于通过这个系统生成的图片。当我生成一张新图片时,系统会自动为其分配一个"gen_id",那时我才能为你提供。如果你需要创建一张新的图片,请告诉我你的要求,我会帮你生成并提供一个新的"gen_id"
```

然后似乎-Custom Instructions 也是一样的;

另外我并没有在网页界面的提问右侧发现编辑按钮;

@yinmin 这个问答分支我是知道的;但是不够好;比如我想说,基于 Version1 的代码模板,然后加入 Version2 的 xx 功能,合并为新的代码。。这就不行了
TimePPT
2023-11-13 11:59:56 +08:00
会话开始时跟它约定好。
```
你将扮演一名图片生成机器人。当我给出要求时,你需要:
1. 按照要求生成一组图片。
2. 生成的每张图片需将结果的唯一识别码显示出来。
3. 当我指定某个已生成内容的 ID 时,你将在 ID 对应的结果上进行修改。
```
lookStupiToForce
2023-11-14 15:07:33 +08:00
这就是 GPTs 的用处了,你把模板搞成文件,每次更新一下就行(。
不像手动或者什么其他插件管理 prompts 那样那么麻烦

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/991311

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX