chatgpt-on-wechat icon indicating copy to clipboard operation
chatgpt-on-wechat copied to clipboard

关于GPT-3模型上下文对话 和 ChatGPT接入问题

Open zhayujie opened this issue 2 years ago • 8 comments

目前 GPT3模型中已经实现了会话上下文,只需要拉取最新代码即可生效。

同时新增了两个可选配置:

  • conversation_max_tokens:表示能够记忆的上下文最大字数(一问一答为一组对话,如果累积的对话字数超出限制,就会优先移除最早的一组对话)。 该配置默认为1000,不建议超过 2000,否则对话可能超长。
  • character_desc:配置中保存着你对机器人说的一段话,他会记住这段话并作为他的人格设定,你可以为他塑造任何形象

config.json 中的示例如下:

{
    "conversation_max_tokens": 1000,
    "character_desc": "你叫李华,是一个25岁的程序员,你性格活泼开朗,爱好登山"
}

zhayujie avatar Feb 05 '23 15:02 zhayujie

效果如下:

image

zhayujie avatar Feb 05 '23 16:02 zhayujie

关于对话模型选择问题的讨论:https://github.com/zhayujie/chatgpt-on-wechat/issues/40

zhayujie avatar Feb 05 '23 16:02 zhayujie

大佬,最新的代码模型依然是text-davinci-003,我试了下依然无法关联上下文,我改为text-chat-davinci-002-20221122后也一样无法关联上下文,请问是还需要什么额外的配置吗?

lifeofbow avatar Feb 07 '23 10:02 lifeofbow

大佬,最新的代码模型依然是text-davinci-003,我试了下依然无法关联上下文,我改为text-chat-davinci-002-20221122后也一样无法关联上下文,请问是还需要什么额外的配置吗?

拉取最新的代码了吗, 代码里有实现

zhayujie avatar Feb 07 '23 11:02 zhayujie

大佬,求教一下,人格设定最多可以使用多少个字啊?1000,100,还是没有限制

hupojilulife avatar Feb 10 '23 17:02 hupojilulife

大佬,求教一下,人格设定最多可以使用多少个字啊?1000,100,还是没有限制

设定 + 上下文 + 回复 一起要小于 4096token

zhayujie avatar Feb 11 '23 07:02 zhayujie

大佬,我根据公司常用FAQ案例训练了下机器人。我在https://platform.openai.com/playground页面可以选择到自己训练的模型,输出问题能得到对应的答复。但是在我们这个代码里面需要怎么配置下才能读到我训练后的model?

jayhwqjay avatar Feb 15 '23 08:02 jayhwqjay

@jayhwqjay 不知道openai的官方接口能否调用自定义的模型,这个要研究下

zhayujie avatar Feb 15 '23 18:02 zhayujie

扫码后手机提示登录验证需要等待5s,而终端的二维码再次刷新并提示 Please scan QR code to log in.这个怎么解决啊

872695422 avatar Mar 03 '23 11:03 872695422

拉取了最新的,发现"character_desc"不起作用了,无论怎么设置,一直是默认的 “我是一个AI语言模型,可以进行对话交流,提供各种信息和解答问题的帮助。”

etianwang avatar Mar 06 '23 12:03 etianwang

拉取了最新的,发现"character_desc"不起作用了,无论怎么设置,一直是默认的 “我是一个AI语言模型,可以进行对话交流,提供各种信息和解答问题的帮助。”

是的,最新的模型3.5的,人格描述已经不受控制了,看作者能不能修一下了

hecarli555 avatar Mar 12 '23 06:03 hecarli555

IndexError: tuple index out of range 一直提示上面的错误?

但是程序还能正常运行

aric0001 avatar Mar 31 '23 01:03 aric0001

我按照如上图中的设置,但是并未生效, 我向bot询问你是谁,他只是说他是人工智能模型 model版本 3.5-trube

1299756312 avatar Apr 26 '23 07:04 1299756312

通过railway 一键部署了新的代码,现在无法关联上下文了

ckd123456 avatar May 14 '23 15:05 ckd123456

这个character description不起作用。3.5和4应该是把其中的内容设到 “role“:”system“, ”content“, ”你的description“,没看到你在哪里设的这个系统指令。我在Playground里设都很好,放到你这个config.json的character description里就不起作用了。

leo-usa avatar Jul 26 '23 21:07 leo-usa

感觉你用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里面的内容没有起作用的原因。

leo-usa avatar Jul 26 '23 23:07 leo-usa