00.前言

随着大模型的应用越来越广泛,相信大家都对拥有一个自己的私人AI助手越来越感兴趣。但是也许大家都听说过,大模型有一个“scaling law”,也就是越大的模型效果越好。如果让每个人都自己长期维持一个不断运行的服务器去部署一个大模型,不仅费用高,运维和技术门槛也很高。比如,要部署一个模型,需要了解什么是“部署”,什么是“ollama”,什么是“量化”,还要知道哪些模型更适合自己的环境。即使运行起来了,如何和聊天软件和办公软件集成在一起也是一个大麻烦。

下面,我们来解决这个问题。首先,我们把精气神聚焦在“免费”和“简单”两个词上。

哪里有免费的模型可以用呢?

魔搭提供了一大批耳熟能详的LLM和文生图文生视频模型的免费使用接口,其中包括了最新的QwQ推理模型,以及DeepSeek-R1模型,还有一大批多模态模型(图文问答),以及文生图模型Flux(也许你不太熟悉它,但是喂喂,它可是现在效果最好的图片生成模型!),这是非常罕见的完全免费API。

免费的问题解决了,下面我们把注意力聚焦在“简单”上。如果你是个开发者,你可以直接使用python或者java去调用它们;但如果你是个新手,你可能对如何使用它们还是不明白。比如:啥是“接口”?它该怎么用?也就是说,如果有一个东西,能够把这些“模型”和我们的聊天软件无缝集成在一起,就大功告成啦,我们就可以不需要任何硬件成本和金钱成本地拥有一个聊天助手。下面来到今天的主角:chatgpt-on-wechat。

看名字就知道,这个是在“wechat”上使用“chatgpt”的软件。难能可贵的是,这个软件不仅支持chatgpt,还支持很多其他模型,最近我们把魔搭的模型接了进去,也就是说,大家可以在chatgpt-on-wechat上免费使用我们刚刚提到的API啦!更难能可贵的是,chatgpt-on-wechat本身也是完全免费且开源的。下面请看到这的大家伙拿出你的电脑,让我们用十分钟,在你的聊天软件上弄起来一个AI助手!

我们先拆解一下步骤:

  1. 把chatgpt-on-wechat下载下来

  2. 去魔搭弄个token,配好配置文件

  3. 去聊天软件上面捅咕捅咕

大功告成!效果如下:

你可能认为我们这个“把大象装冰箱”似得步骤有点骗小孩,事实上......它就是如此简单。

下面我们来一步步操作下,好,注意力跟上!

02. 配置好chatgpt-on-wechat

本文只会简单介绍一下如何在本地源码部署Chatgpt-on-Wechat(以下简称CoW)。

运行环境:

支持Linux、MacOS、Windows 系统(可在Linux服务器上长期运行),同时需安装 Python

不熟悉Python的小伙伴可能有些不熟悉,但是我们提供了一个大饼卷一切的代码,请把它复制下来弄到你的电脑上执行:

  • 如果你的是windows系统,请在系统下侧的搜索条中搜索powershell,打开后拷贝粘贴下面的代码并确认输入:

wget "https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe" -outfile ".\miniconda.exe"
Start-Process -FilePath ".\miniconda.exe" -ArgumentList "/S" -Wait
del .\miniconda.exe
conda create -n cow python==3.10
conda install git
git clone https://github.com/zhayujie/chatgpt-on-wechat.git
cd chatgpt-on-wechat/
pip3 install -r requirements.txt
pip3 install -r requirements-optional.txt
pip3 install dingtalk_stream
cp config-template.json config.json
  • 如果你的是Linux或者Mac系统,请打开你的terminal,打开后拷贝粘贴下面的代码并确认输入:

mkdir -p ~/miniconda3
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh -o ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh
export PATH="$HOME/miniconda3/bin:$PATH"
conda create -n cow python==3.10
conda install git
git clone https://github.com/zhayujie/chatgpt-on-wechat.git
cd chatgpt-on-wechat/
pip3 install -r requirements.txt
pip3 install -r requirements-optional.txt
pip3 install dingtalk_stream
cp config-template.json config.json

第一步就完成了,等等,我们刚刚做了什么?

我们刚刚安装好了python环境,下载了代码管理软件git,将CoW的代码下载到了电脑中,之后安装了它需要的依赖,这些只需要上面的代码就可以完成了。

03.token和配置

首先要获取魔搭社区的API-Key,不用担心,这个是免费滴。

(1)、注册魔搭社区帐号(https://www.modelscope.cn/my/overview)并进行登陆,进入魔搭社区个人中心(就是点击右上角的头像啦),点击账号设置,在左侧菜单栏点击访问令牌,点击新建SDK令牌,并把这个令牌token复制下来进行保存(后面要在配置文件里填写)。

(2)、下面在你的cow文件夹中打开config.json文件,把里面的内容全部删除,并把下面的内容粘贴进去(记得在modelscope_api_key参数后面填写你上面获取的SDK令牌哦):

{
  "bot_type": "modelscope",
  "channel_type": "terminal",
  "model": "Qwen/QwQ-32B",
  "modelscope_api_key": "your_api_key",
  "modelscope_base_url": "https://api- inference.modelscope.cn/v1/chat/completions",
  "text_to_image": "MAILAND/majicflus_v1",
  "proxy": "http://127.00.1:7890",
  "claude_api_key": "YOUR API KEY",
  "voice_to_text": "openai",
  "text_to_voice": "openai",
  "proxy": "",
  "hot_reload": false,
  "single_chat_prefix": [
    "bot",
    "@bot"
  ],
  "single_chat_reply_prefix": "[bot] ",
  "group_chat_prefix": [
    "@bot"
  ],
  "group_name_white_list": [
    "ChatGPT测试群",
    "ChatGPT测试群2"
  ],
  "image_create_prefix": [
    "画"
  ],
  "speech_recognition": true,
  "group_speech_recognition": false,
  "voice_reply_voice": false,
  "conversation_max_tokens": 2500,
  "expires_in_seconds": 3600,
  "character_desc": "你是基于大语言模型的AI智能助手,旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。",
  "temperature": 0.7,
  "subscribe_msg": "感谢您的关注!\n这里是AI智能助手,可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。",
  "use_linkai": false,
  "linkai_api_key": "",
  "linkai_app_code": ""
}

(3)运行

这里以本地运行为例,直接在项目根目录下执行:

python3 app.py # windows环境下该命令通常为 python app.py

当看到终端输出提示"please input your question"之后,就可以开始聊天了(如下图)。

好,只要你已经到了这一步,拥有自己的聊天助手这件事情就已经做了90%。

我们接下来把config.json中的channel_type字段的terminal换成其他的,例如dingtalk或者wechatcom_app,配置一下就可以用了。

如果有文生图的需求,记得配置一下text_to_image参数,如何在聊天中以“画”为聊天开头,后面加上你脑海中的场景,就可以进行文生图操作了。如果需要以更多的聊天前缀开启文生图聊天,可以自行修改"image_create_prefix"参数,比如在这个参数列表里面加上“看”、“找”等等前缀。

03.IM端开发者中心完成配置

大家常用的IM端支持部署个人助理的有企业微信、钉钉、飞书等,可以选择一个经常使用的软件来实验效果,以下给出两个示例:

钉钉配置

(1)、创建应用

(1)进入钉钉开发者后台,登录后,点击创建应用,填写应用相关信息。

(2)点击添加应用能力,选择 "机器人" 能力,点击添加。

(3)配置机器人信息后点击发布。发布后,点击“点击调试”,会自动创建测试群聊,可在客户端查看:

(4)创建新版本发布

(5)项目配置 点击凭证与基础信息,获取Client ID和Client Secret两个参数

(6)为简单起见,我们把config.json文件内容全部删除,替换为下面的内容,注意要填写两个字段的值,即`dingtalk_client_id`和`dingtalk_client_secret`,还有魔搭社区的API-Key:

{
  "channel_type": "dingtalk",
  "dingtalk_client_id": "",
  "dingtalk_client_secret": "",
  "model": "Qwen/QwQ-32B",
  "modelscope_api_key": "",
  "modelscope_base_url": "https://api-inference.modelscope.cn/v1/chat/completions",
  "proxy": "http://127.00.1:7890",
  "claude_api_key": "YOUR API KEY",
  "text_to_image": "MAILAND/majicflus_v1",
  "voice_to_text": "openai",
  "text_to_voice": "openai",
  "proxy": "",
  "hot_reload": false,
  "single_chat_prefix": [
    "bot",
    "@bot"
  ],
  "single_chat_reply_prefix": "[bot] ",
  "group_chat_prefix": [
    "@bot"
  ],
  "group_name_white_list": [
    "ChatGPT测试群",
    "ChatGPT测试群2"
  ],
  "image_create_prefix": [
    "画"
  ],
  "speech_recognition": true,
  "group_speech_recognition": false,
  "voice_reply_voice": false,
  "conversation_max_tokens": 2500,
  "expires_in_seconds": 3600,
  "character_desc": "你是基于大语言模型的AI智能助手,旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。",
  "temperature": 0.7,
  "subscribe_msg": "感谢您的关注!\n这里是AI智能助手,可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。",
  "use_linkai": false,
  "linkai_api_key": "",
  "linkai_app_code": ""
}

(8)点击事件订阅,点击已完成接入,验证连接通道, 会显示:连接接入成功

下面打开钉钉,就可以和这个机器人聊天啦:

企业微信自建应用配置

1、准备:

企业微信的配置比钉钉复杂一点,但是企业微信配置好后,个人微信可以扫码使用,这也算是一个很大的优势了。

需要的资源如下:

(1)一台服务器 (需要一个公网IP)

(2)注册一个企业微信

2、创建企业微信应用

首先在 企业微信管理后台,点击 "我的企业" 菜单,在最下方可以看到 "企业ID",保存这个id,后续需要填写在配置的 wechatcom_corp_id 字段中。

接下来,切换到“应用管理”菜单,点击创建应用:

进入到应用创建页面,记录下页面上显示的 agentidsecret 信息:

点击“设置API接收”窗口:

  • 其中 url 的格式为 http://ip:port/wxcomapp,如果是认证企业则需要填写备案域名

  • 随机获取 TokenEncodingAESKey 并保存下来,后续需要填写在配置文件中。

此时保存 API接收配置 是无法成功的,因为我们的python程序还没有启动起来,等项目运行后再回来保存。

3、配置和运行程序

打开 config.json 配置文件,需要添加或修改以下配置。各配置项和企业微信后台各参数的对应关系已经在上述截图中说明。把config.json替换为下面的配置,注意填写企微的各参数和魔搭社区的API-Key:

{
  "channel_type": "wechatcom_app",
  "wechatcom_corp_id": "",
  "wechatcomapp_token": "",
  "wechatcomapp_port": 9898,
  "wechatcomapp_secret": "",
  "wechatcomapp_agent_id": "",
  "wechatcomapp_aes_key": "",
  "bot_type": "modelscope",
  "model": "Qwen/QwQ-32B",
  "modelscope_api_key": "YOUR API KEY",
  "modelscope_base_url": "https://api-inference.modelscope.cn/v1/chat/completions",
  "claude_api_key": "YOUR API KEY",
  "text_to_image": "MusePublic/489_ckpt_FLUX_1",
  "voice_to_text": "openai",
  "text_to_voice": "openai",
  "proxy": "",
  "hot_reload": false,
  "single_chat_prefix":[""],
  "single_chat_reply_prefix": "[bot] ",
  "group_chat_prefix": [
    "@bot"
  ],
  "group_name_white_list": [
    "ChatGPT测试群",
    "ChatGPT测试群2"
  ],
  "image_create_prefix": [
    "画"
  ],
  "speech_recognition": true,
  "group_speech_recognition": false,
  "voice_reply_voice": false,
  "conversation_max_tokens": 2500,
  "expires_in_seconds": 3600,
  "character_desc": "你是基于大语言模型的AI智能助手,旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。",
  "temperature": 0.7,
  "subscribe_msg": "感谢您的关注!\n这里是AI智能助手,可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。",
  "use_linkai": false,
  "linkai_api_key": "",
  "linkai_app_code": ""
}

配置完成后,启动程序。当后台日志显示http://0.0.0.0:9898/ 的时候就说明程序已经运行成功,监听9898端口了,此时需要将该端口对外开放,比如在云服务器的安全组中放开该端口。

程序启动后就可以回到 企业微信后台 保存 "消息服务器配置" 了,保存成功后还需要将服务器的ip添加到 "企业可信IP" 中,否则是无法收发消息的。

注意

如遇到企业微信后台url设置显示回调不通过或者配置失败,参考下面的解决方案:

(1)、确保 服务器防火墙关闭 且 安全组放行监听的端口

(2)仔细检查token,secret key等参数配置是否一致,后台 url格式配置是否正确

接下来就可以在企业微信中搜索我们刚刚创建的应用名称,直接和应用对话了。

另外,如果想让外部个人微信用户使用,可以在 "我的企业 - 微信插件",分享邀请关注二维码。个人微信扫码点击关注,验证手机号后就可以加入到该公司,并与上面创建的应用对话了。

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐