我希望 ChatGPT 记住过去的对话并进行一致(有状态)的对话。
我见过几个ChatGPT提示工程的代码。
有两种方法可以设计如下所示的提示(伪代码):
使用单个输入(便宜)<- 如果可能的话更好
堆叠所有以前的历史记录(昂贵,令牌限制)
def openai_chat(prompt):
completions = openai.Completion.create(
engine = "text-davinci-003",
prompt = prompt,
max_tokens = 1024,
n = 1,
temperature = 0.8,
)
response = completions.choices[0].text.strip()
return response
# 1. Use a single input
while True:
prompt = input("User: ")
completion = openai_chat(prompt)
# 2. Stack all of previous history (prompt + completion)
prompt = ""
while True:
cur_prompt = input("User: ")
prompt += cur_prompt # pseudo code
completion = openai_chat(prompt)
prompt …Run Code Online (Sandbox Code Playgroud)