Skip to content
forked from tomatocuke/openai

ChatGPT 微信公众号自动回复

Notifications You must be signed in to change notification settings

recan-li/openai

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于GPT-3.5的公众号自动回复机器人

持续优化中,喜欢的同学给个🌟关注一下

一、介绍

  • 说明

    • 这是一个用于公众号自动回复机器人的项目。需要你有 OpenAI 账号、公众号、海外服务器或代理。
    • 花费。OpenAI账号赠送18$,限期使用。按字算钱,0.002刀 /1000 tokens 。
    • 观点。我觉得公众号不是一个好的使用场景,订阅号入口麻烦,服务号需要资质且风险更大。所以如果你只是玩玩可以部署。
    • 公众号的局限性。(1) 被动回复超时时间 5s*3。 (2) 最大返回字数限制,约600-700字。 (3) 不支持打字机效果
    • 体验。关注公众号杠点杠尝试提问,这仅是个人娱乐号,不推送。 别问预测和实事问题,它不会。
  • 优点:

    • 减少微信限制。 公众号被动回复有超时限制,5s * 3。 本项目已经做最大化约15s,如果超时,自动缓存结果,可稍候再问直接返回结果。
    • 支持设置代理,支持参数调节,日志有对token消耗的计算。
    • 敏感词检测。不清楚这样是否降低风险。代码内置隐藏了一些敏感词,你也可以启动时在根目录添加keyword.txt自定义敏感词。 如有敏感词误杀,你可以向我反馈。
  • 缺点:

    • 不支持上下文。 其实开发也不算难。你需要知道,OpenAI不记录会话,上下文的本质是讲之前的QA都作为新的参数传过去。这会叠加消耗token。
    • 没做数据库记录。

二、部署

  1. 获取API_KEYOpenAI (如果访问被拒绝,注意全局代理,打开调试,Application清除LocalStorage后刷新,实测可以)
  2. 获取微信公众号令牌Token微信公众平台->基本配置->服务器配置->令牌(Token)
  3. 克隆项目,修改配置文件 config.yaml
  4. 两种方式部署。(简单举例占用80端口,如果需要别的端口自己配置nginx等)
  • 直接二进制启动 (Linux amd64)
    mkdir log
    
    # 尝试启动
    ./openaiBin 
    
    # 守护进程启动
    nohup ./openaiBin >> log/data.log 2>&1 &
  • 使用Docker启动服务
    # 注意这里会拷贝配置到容器里,如果修改配置,需到容器内修改,或者启用新的容器
    docker run -d -p 80:80 -v $PWD/log:/app/log -v $PWD/config.yaml:/app/config.yaml tomatocuke/openai
    # 查看状况
    docker logs 容器ID 
  1. 服务器地址(URL)填写 http://服务器IP/wx,设置明文方式传输,提交后,点击「启用」。

三、QA

  • 出现报错 connection reset by peer 答:是否使用了代理呢? 大概率是IP被多人使用的结果,换个IP,但是整体不建议使用代理的方式,不稳定。
  • 服务正常,但是公众号无响应? 答:初次设置生效要等一会,过几分钟把公众号的服务器设置按钮关闭再启用试试。
  • 文档真特么烂,我部署不成功! 答:别github提问,我很少看。加我QQ:772532526,不收费。

About

ChatGPT 微信公众号自动回复

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 98.5%
  • Dockerfile 1.5%