ChatGpt这么火,你知道如何在公众号接入Chatgpt吗?
::: block-1
要说近期最火爆的项目是什么,
ChatGPT
当之无愧,其上线两个月,活跃用户已经超过1亿人。抖音也是一度霸占热榜好几天了。 :::
关于ChatGPT
,马斯克在去年12月就曾公开表示称:ChatGPT
好得吓人,我们离强大到危险的人工智能不远了。
什么是ChatGpt
ChatGPT
,美国“开放人工智能研究中心”研发的聊天机器人程序 ,于2022年11月30日发布。ChatGPT
是人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码等任务。
如果要使用ChatGpt
首先要有一个账号,但是,国内目前还是不能访问ChatGpt
的网站,需要科学上网才可以,不过有些国内的技术大牛通过某种技术也可以让国内的用户正常访问,而且不用注册账号。例如:chat.forchang.cn
今天我们来聊聊如何把ChatGpt
接入微信公众号吧。这样,无聊的时候可以找它聊聊天。其实,接入公众号并不难,几十行的代码。
在云服务器上部署自定义消息处理服务
这里需要我们自定义来处理用户发送过来的消息,首先需要导入werobot
这个依赖,这是微信公众号官方让我们自定义消息处理的模块。
pip install werobot
然后是一个样例,具体内容已经注释
import werobot
# token是微信公众号用来指定接入当前云服务器的服务的凭证,代表是自己人接入的,等一下就有什么用了
robot = werobot.WeRoBot(token='123456')
@robot.handler
def hello (messages):
# messages.content是用户发送的内容
print(messages.content)
return "hello!"
robot.config['HOST'] = '0.0.0.0'
robot.config['PORT'] = 80
robot.run()
以上的代码是用户在公众号发送什么消息是,都回复hello
。
整合进入chatgpt服务
这里整合chatgpt服务有两个前提:
- 要注册openai的账号,在账户下面生成api_key供程序调用
- 服务器能够访问外网,这样才能调用成功
import werobot
import openai
openai.api_key = "你的api_key"
robot = werobot.WeRoBot()
class RobotConfig(object):
HOST="0.0.0.0"
PORT= 80
TOKEN = "you token" # token是微信公众号用来指定接入当前云服务器的服务的凭证,代表是自己人接入的,等一下就有什么用了
robot.config.from_object(RobotConfig)
def generate_response(prompt):
response = openai.Completion.create(
model="text-davinci-003",
prompt=prompt,
temperature=0.7,
max_tokens=3000,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
message = response.choices[0].text
return message.strip()
@robot.handler
def hello (messages):
print(messages.content)
return generate_response(messages.content)
if __name__ == "__main__":
robot.run()
最后需要用python来启动起来
配置公众号相关信息
需要保证前面的服务已经启动!
- 修改消息服务器设置,让我们自定义来处理用户发送的消息
- 修改公众号服务器配置信息
- url:里面是你的云服务器的IP,后面加不了端口号,默认只能使用80端口,https默认就是443端口。/chatgpt可以随便写
- token:就是前面讲的自己的凭证,可以自己定义
- EncodingAESKey:随机生成就行
- 确定云服务器上的服务没有问题的话,就点提交就行了
最终的效果
不过唯一的缺陷是
api
方式访问被限制了访问次数,不能过于频繁。
转载自:https://juejin.cn/post/7198039436038701111