微信公众号接入ChatGpt、文心一言等【完整流程】

AIGC 0

关注公众号[桃李开发]体验效果

在这里插入图片描述

1. 首要条件:

  • 公网服务器一台
  • 公众号(订阅号、服务号都可)一个
  • 注册LinkAI(有国外服务器的可不考虑使用)
  • 开源项目chatgpt-on-wechat

2.服务器选择

建议国外服务器,使用openai 无需代理,域名也不需要备案。我当时购买时没注意,选的国内服务器,导致域名备案备案花了很长时间。后续对接gpt也只能选择其他方案。

没有国外服务器的建议使用开源项目chatgpt-on-wechat内置的插件LinkAI 官网地址

3. 开源项目

微信公众接入gpt项目开发就不重复做工了,git上有很多大佬写的很完善的项目,这里我使用的是chatgpt-on-wechat(项目地址:https://github.com/zhayujie/chatgpt-on-wechat),

项目简介:

使用大模型搭建微信聊天机器人,基于 GPT3.5/GPT4.0/Claude/文心一言/讯飞星火/通义千问/LinkAI,支持个人微信、公众号、企业微信、飞书部署,能处理文本、语音和图片,访问操作系统和互联网,支持基于知识库定制专属机器人。

目前支持:多端部署、基础对话、语音能力、图像能力、丰富插件、工具知识库等。

项目配置项说明请移步官网地址,尽可能简单的阐述配置部署流程。

chatgpt-on-wechat官网配置阅读完后继续向下看

4. 项目配置

项目根目录配置文件config.json

# config.json文件内容示例{  "open_ai_api_key": "YOUR API KEY",                          # 填入上面创建的 OpenAI API KEY  "model": "gpt-3.5-turbo",                                   # 模型名称, 支持 gpt-3.5-turbo, gpt-3.5-turbo-16k, gpt-4, wenxin, xunfei  "proxy": "",                                                # 代理客户端的ip和端口,国内环境开启代理的需要填写该项,如 "127.0.0.1:7890"  "single_chat_prefix": ["bot", "@bot"],                      # 私聊时文本需要包含该前缀才能触发机器人回复  "single_chat_reply_prefix": "[bot] ",                       # 私聊时自动回复的前缀,用于区分真人  "group_chat_prefix": ["@bot"],                              # 群聊时包含该前缀则会触发机器人回复  "group_name_white_list": ["ChatGPT测试群", "ChatGPT测试群2"], # 开启自动回复的群名称列表  "group_chat_in_one_session": ["ChatGPT测试群"],              # 支持会话上下文共享的群名称    "image_create_prefix": ["画", "看", "找"],                   # 开启图片回复的前缀  "conversation_max_tokens": 1000,                            # 支持上下文记忆的最多字符数  "speech_recognition": false,                                # 是否开启语音识别  "group_speech_recognition": false,                          # 是否开启群组语音识别  "use_azure_chatgpt": false,                                 # 是否使用Azure ChatGPT service代替openai ChatGPT service. 当设置为true时需要设置 open_ai_api_base,如 https://xxx.openai.azure.com/  "azure_deployment_id": "",                                  # 采用Azure ChatGPT时,模型部署名称  "azure_api_version": "",                                    # 采用Azure ChatGPT时,API版本  "character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。",  # 人格描述  # 订阅消息,公众号和企业微信channel中请填写,当被订阅时会自动回复,可使用特殊占位符。目前支持的占位符有{trigger_prefix},在程序中它会自动替换成bot的触发词。  "subscribe_msg": "感谢您的关注!/n这里是ChatGPT,可以自由对话。/n支持语音对话。/n支持图片输出,画字开头的消息将按要求创作图片。/n支持角色扮演和文字冒险等丰富插件。/n输入{trigger_prefix}#help 查看详细指令。",# linkAi配置  "use_linkai": false,                                        # 是否使用LinkAI接口,默认关闭,开启后可国内访问,使用知识库和MJ  "linkai_api_key": "xxx",                                       # LinkAI Api Key  "linkai_app_code": "xxx"                                       # LinkAI 应用code# 微信一言配置  "baidu_wenxin_model": "eb-instant",  "baidu_wenxin_api_key": "xxx",  "baidu_wenxin_secret_key": "xxx"# 微信公众号配置:  "wechatmp_app_id": "xxx",									  # 微信公众号appid  "wechatmp_app_secret": "xxx",						# 微信开发者密码  "wechatmp_aes_key": "xxx",							# 微信加密串  "wechatmp_token": "xxx",									# 随便填 与 微信开发放平台一致即可  "wechatmp_port": 80,									项目端口号微信只支持80 (http)443(https) 端口}

所有key、code值如何获取下面第五步有具体步骤

如何配置?
  1. 有国外服务器
    有国外服务器的可直接将openAi key添加到配置项open_ai_api_key即可
  2. 国内服务器
    使用LinkAi 将配置项use_linkai改为true填入linkai_api_keylinkai_app_code

基于LinkAi使用文心一言
将配置项use_linkai改为false,model改为wenxin,配置项加入baidu_wenxin_modelbaidu_wenxin_api_keybaidu_wenxin_secret_key

5.如何获取配置项值?
  1. 获取openAI key(需要魔法)
    打开官网,注册账号方面有问题的可私聊我,可解决注册短信验证问题
    (1)点击左侧菜单API keys新建key,复制到项目配置文件即可使用ChatGpt
    在这里插入图片描述

  2. 获取linkAi配置项
    (1)打开LinkAi官网创建新应用
    在这里插入图片描述

(2)填入应用信息后点击创建按钮在这里插入图片描述
(3)进入应用后可选择应用的功能及默认的模型
在这里插入图片描述
(4)点击左侧菜单应用接入->创建api key 即可获得LinkAi key
在这里插入图片描述

  1. 获取文心一言配置项
    (1)打开文心一言(千帆大模型)官网注册登录后点击左侧菜单应用接入
    在这里插入图片描述
    (2)填写应用基础信息后即可看到api_keysecret_key填入配置项即可

  2. 获取微信公众号配置项
    (1)打开微信公众平台点击左侧菜单中设置与开发中基本配置在这里插入图片描述
    (2)复制appid和appSecret到项目配置文件即可
    (3)启动服务器配置在服务器地址中填入项目部署到的服务器,固定写法为服务器地址+/wx,如果是ip地址端口仅支持80,域名则默认访问443端口,token填入配置项中的wechatmp_token,消息加解密密钥(EncodingAESKey)对应配置项wechatmp_aes_key随机生成即可,仅在安全模式下生效。

至此 项目使用的大模型及配置项获取已全部介绍完毕,对应选择配置即可

项目部署后 打开公众号就可以体验啦!有什么问题尽情打扰我,如有帮助点个赞吧👍

也许您对下面的内容还感兴趣: