chatgpt-on-wechat
chatgpt-on-wechat copied to clipboard
关于GPT-3模型上下文对话 和 ChatGPT接入问题
目前 GPT3模型中已经实现了会话上下文,只需要拉取最新代码即可生效。
同时新增了两个可选配置:
-
conversation_max_tokens
:表示能够记忆的上下文最大字数(一问一答为一组对话,如果累积的对话字数超出限制,就会优先移除最早的一组对话)。 该配置默认为1000,不建议超过 2000,否则对话可能超长。 -
character_desc
:配置中保存着你对机器人说的一段话,他会记住这段话并作为他的人格设定,你可以为他塑造任何形象
config.json 中的示例如下:
{
"conversation_max_tokens": 1000,
"character_desc": "你叫李华,是一个25岁的程序员,你性格活泼开朗,爱好登山"
}
效果如下:

关于对话模型选择问题的讨论:https://github.com/zhayujie/chatgpt-on-wechat/issues/40
大佬,最新的代码模型依然是text-davinci-003,我试了下依然无法关联上下文,我改为text-chat-davinci-002-20221122后也一样无法关联上下文,请问是还需要什么额外的配置吗?
大佬,最新的代码模型依然是text-davinci-003,我试了下依然无法关联上下文,我改为text-chat-davinci-002-20221122后也一样无法关联上下文,请问是还需要什么额外的配置吗?
拉取最新的代码了吗, 代码里有实现
大佬,求教一下,人格设定最多可以使用多少个字啊?1000,100,还是没有限制
大佬,求教一下,人格设定最多可以使用多少个字啊?1000,100,还是没有限制
设定 + 上下文 + 回复 一起要小于 4096token
大佬,我根据公司常用FAQ案例训练了下机器人。我在https://platform.openai.com/playground页面可以选择到自己训练的模型,输出问题能得到对应的答复。但是在我们这个代码里面需要怎么配置下才能读到我训练后的model?
@jayhwqjay 不知道openai的官方接口能否调用自定义的模型,这个要研究下
扫码后手机提示登录验证需要等待5s,而终端的二维码再次刷新并提示 Please scan QR code to log in.这个怎么解决啊
拉取了最新的,发现"character_desc"不起作用了,无论怎么设置,一直是默认的 “我是一个AI语言模型,可以进行对话交流,提供各种信息和解答问题的帮助。”
拉取了最新的,发现"character_desc"不起作用了,无论怎么设置,一直是默认的 “我是一个AI语言模型,可以进行对话交流,提供各种信息和解答问题的帮助。”
是的,最新的模型3.5的,人格描述已经不受控制了,看作者能不能修一下了
IndexError: tuple index out of range 一直提示上面的错误?
但是程序还能正常运行
我按照如上图中的设置,但是并未生效, 我向bot询问你是谁,他只是说他是人工智能模型 model版本 3.5-trube
通过railway 一键部署了新的代码,现在无法关联上下文了
这个character description不起作用。3.5和4应该是把其中的内容设到 “role“:”system“, ”content“, ”你的description“,没看到你在哪里设的这个系统指令。我在Playground里设都很好,放到你这个config.json的character description里就不起作用了。
感觉你用OpenAI API时构造的Prompt和OpenAI官方的例子不一样啊,而且后边超过字节极限的处理里你也没有考虑system prompt。
# 构造对话模型的输入
"""
e.g. Q: xxx
A: xxx
Q: xxx
"""
prompt = ""
for item in self.messages:
if item["role"] == "system":
prompt += item["content"] + "<|endoftext|>\n\n\n"
elif item["role"] == "user":
prompt += "Q: " + item["content"] + "\n"
elif item["role"] == "assistant":
prompt += "\n\nA: " + item["content"] + "<|endoftext|>\n"
if len(self.messages) > 0 and self.messages[-1]["role"] == "user":
prompt += "A: "
return prompt
官方的是: openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Who won the world series in 2020?"}, {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."}, {"role": "user", "content": "Where was it played?"} ] ) 我觉得这可能是character desc里面的内容没有起作用的原因。