人工智能技术应用笔记(十二):搭建自带大模型微信,完美对接GPT-4o,Kimi等大模型,智能体平台Coze也能接

许多朋友对如何搭建自己的微信机器人非常感兴趣。今天就来教大家如何操作。

一、 准备工作

  1. 一台电脑或者云服务器,对配置要求不高,一般的电脑就行
  1. 大模型API调用的Key,比如GPT-4o,Kimi,Deepseek(不知道怎么申请的给我留言)
  1. 准备一个微信号,自己的主号或是小号(建议小号)

准备工作完成,就可以开干了。

二、搭建步骤

1.方案对比

有2种部署的方式供你选择:

点击图片可查看完整电子表格

下面分别介绍这两种方式的具体过程

2.程序部署

2.1 docker 部署

使用docker部署无需下载源码和安装依赖,只需要拉取镜像并根据 docker-compose.yml 配置文件启动容器即可。

前提是安装好 dockerdocker-compose,安装成功的表现是执行 docker -vdocker compose version (或 docker-compose version) 可以查看到版本号,可前往 docker官网 进行下载。

(1) 配置 docker-compose.yml

执行以下命令下载 docker-compose.yml

Bash
wget https://open-1317903499.cos.ap-guangzhou.myqcloud.com/docker-compose.yml

接着打开文件,修改或添加所需的配置,如 OPEN_AI_API_KEYGROUP_NAME_WHITE_LIST 等必填配置。

version: '3'
services:
  chatgpt-on-wechat:
    image: zhayujie/chatgpt-on-wechat:latest
    environment:
      - OPEN_AI_API_KEY=XXXXXXXXX 替换为您的 OpenAI API Key
      - MODEL=gpt-4o
      - GROUP_NAME_WHITE_LIST=ALL_GROUP
    ports:
      - "8080:80"

(2) 启动容器

在 docker-compose.yml 所在目录下执行以下命令启动容器:

Bash
sudo docker compose up -d

运行 sudo docker ps 能查看到 NAMES 为 chatgpt-on-wechat 的容器即表示运行成功。

提示

  • 如果 docker-compose 是 1.X 版本 则需要执行 sudo docker-compose up -d 来启动容器
  • 该命令会自动去 docker hub 拉取 latest 版本的镜像,latest 镜像会在每次项目 release 新的版本时生成

最后运行以下命令可查看容器运行日志,扫描日志中的二维码即可完成登录:

Bash
sudo docker logs -f chatgpt-on-wechat

2.2 源码运行

本地开发环境支持 MacOS、Windows、Linux 系统,需要安装 python 环境,推荐的版本在 3.7.1 ~ 3.9.X 之间,可前往 官网 下载。

在命令行执行 python3 -V,如果能显示正确的版本则表示安装成功。需要注意的是,python3 只是一个指向python解释器的引用,有可能在你的系统里这个别名是 "python" 或者 "python3.8",那么在后面你就需要用 "python" 或 "python3.8" 来代替 python3 运行程序。同样的,执行 pip3 -V 来确认已经成功安装包管理软件 pip。

(1) 下载源码

在命令行使用 git 克隆项目并进入目录:

Bash
git clone https://github.com/zhayujie/chatgpt-on-wechat
cd chatgpt-on-wechat/

(2) 安装依赖

pip3 install -r requirements.txt                必选依赖
pip3 install -r requirements-optional.txt       可选依赖,语音、tool插件等功能需要

(3) 配置

复制项目中的模板文件 config-template.json,来生成最终起效果的配置文件config.json,你可以通过执行以下命令完成:

Bash
cp config-template.json config.json

然后打开 config.json 文件,添加所需配置,具体配置含义参考:

config.json文件内容示例

{"open_ai_api_key": "YOUR API KEY",                          填入上面创建的 OpenAI API KEY"model": "gpt-4o",                                          模型名称"proxy": "",                                                代理客户端的ip和端口"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,                          是否开启群组语音识别}

(4) 运行

一切准备就绪,可以启动程序了,直接在项目目录下执行:

Bash
python3 app.py

扫描输出的二维码即可完成登录。

三、个人使用

完成以上步骤,你的微信就已经接入大模型了,已经具备了AI智能问答功能,你可以直接基于你设定的触发词来向他提问,比如我定义的触发词是“斑码小助手”:

四、社群运营

基于这个方案进行扩展,微信可以化身为社群运营助手,面向社群提供更多高阶服务,比如:

  • 入群自动欢迎
  • 关键词自动回复
  • 基于社群知识库的社群知识智能问答
  • 多维度群消息总结
  • 群消息回顾
  • 定时任务
  • 多群消息转发
  • 群邀请关系溯源
  • 群早晚安及日报

想要了解如何将机器人对接Coze bot的朋友,请参考我另一篇文章:AI Agent学习系列:微信 + Agent = 微信特工?-CSDN博客

对于不熟悉或者没有资源搭建运行环境的朋友也没关系,可以给我留言,我拉你进我们的社群机器人体验群。

———————————————————————————————————————

关注微信公众号【数字众生】即刻获取干货满满的 “AI学习大礼包” 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/27185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Omnipeek进行Wifi/P2P抓包

前言 工作中解决Mirracast投屏连接失败的问题时,遇到了需要抓取wifi数据包的情况,记录一下配置和使用过程。 一、Omnipeek 的安装和配置 1.1 Omnipeek 安装 双击 setup.exe 进行安装 1.2 注册 注册时,版本写 71 ,产生序列号和…

代码随想录算法训练营第36期 last day

最后一次更新&#xff0c;之后去复习专业课和简历 583两个字符串的删除操作 自己做出来了&#xff1a; Code: class Solution {public://找到公共子序列的最大长度dp 最小步数串1.size-dp串2.size-dp int minDistance(string word1, string word2) { vector<v…

Axios 请求响应拦截器 每次只发送一次请求封装

import axios from "axios"; import general from "/utils/general";const request axios.create({baseURL:general.serverUrl })const requestMap new Map() //保存每一次请求request.interceptors.request.use(req>{let oldRequest requestMap.get(re…

解决帝国cms栏目管理拼音乱码的问题

帝国CMS7.5版本utf-8版网站后台增加栏目生成乱码的问题怎么解决 1、需要改一个函数&#xff0c;并且增加一个处理文件&#xff0c;方法如下&#xff1a; 修改e/class/connect.php文件&#xff0c;找到ReturnPinyinFun函数&#xff0c;如未修改文件在4533-4547行&#xff0c;将…

sockjs-client和stompjs连接websocket服务被拒绝导致vue项目崩溃问题

1、前端连接服务器代码demo&#xff1a; // 引入stomp.js库 import SockJS from sockjs-client; import Stomp from stompjs;// WebSocket服务器地址 const ws new SockJS(http://localhost:8080/my-endpoint);// 初始化STOMP客户端 const stompClient Stomp.over(ws);// 连…

如何判断 NaN的方法?

判断数据类型的方法在JavaScript中有几种&#xff0c;主要包括&#xff1a; typeof 操作符&#xff1a;用于返回一个变量或表达式的数据类型的字符串表示。 typeof 42; // "number"typeof "Hello"; // "string"typeof true; // "bool…

node 中间件使用例子

NodeJS在中间件领域有着较为广泛的应用&#xff0c;他能做一些中间层事件&#xff0c;把服务端一部分的代码抽出来&#xff0c;减少处理冗余事情付出的代价&#xff0c;同时让服务真正做业务处理而不用关心页面的事情 常见的应用场景有&#xff1a; 跨域&#xff1a;解决跨域问…

二叉树左右树交换

leetcode 226题 翻转二叉树 题目描述 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6,3,1]示例 2&#xff1a; 输入&#xff1a;root [2,1,3]…

背就有效!2024下《系统架构设计师》50个高频考点汇总

宝子们&#xff01;上半年软考已经结束一段时间了&#xff0c;准备备考下半年软考高级-系统架构设计师的小伙伴可以开始准备了&#xff0c;毕竟高级科目的难度可是不低的&#xff0c;相信参加过上半年架构的小伙伴深有体会。 这里给大家整理了50个高频考点&#xff0c;涵盖全书…

node更改npm缓存存储位置-并配置环境变量

更改缓存位置 node安装完成之后,在安装目录中新建一个存放缓存的文件夹node_cache 此时这个文件夹必须使用管理员权限才能更改,这使得命令行下使用npm进行下载的时候总是报权限不足的错误:permit 解决办法: 右键 -> 属性 -> 安全 -> 编辑 -> 选择user -> …

【Linux】进程_3

文章目录 五、进程3. 进程4. 进程状态 未完待续 五、进程 3. 进程 在当前&#xff0c;我们只能通过执行可执行程序来让操作系统帮我们启动进程&#xff0c;那我们如何使用代码来自己启动进程呢&#xff1f;我们可以使用 fork() 函数。作用是创建子进程。 我们创建一个程序来…

字节扣子搭建大模型擂台:匿名PK效果,用户当裁判,跑分时代要结束了

字节跳动的扣子&#xff08;coze.cn&#xff09;&#xff0c;给国产大模型们组了个大局—— 在同一个“擂台”上&#xff0c;两个大模型为一组&#xff0c;直接以匿名的方式PK效果&#xff01; 例如我们对两位参赛“选手”同时提问今年高考的题目&#xff1a; 阅读下面的材料&…

探索数字化转型:提升企业客户服务竞争力的策略

当前&#xff0c;数字经济已成为引领经济发展的“主引擎”。在这一背景下&#xff0c;客户服务领域也在发生着深刻变化&#xff0c;传统的以客服热线、人工客服为核心的客户服务模式已不能满足企业发展的需要&#xff0c;而数字化转型成为企业寻求突破的必然选择。 企业可利用大…

elementui table超出两行显示...鼠标已入tip显示

elementui el-table超出两行显示…鼠标已入tip显示 方式一 <el-table-column label"描述"prop"note"class-name"myNoteBox"><template slot-scope"scope"><!-- tips悬浮提示 --><el-tooltip placement"to…

OpenAI把GPT-4原始版给了他们:研究不微调只靠提示词能走多远

除了OpenAI自己&#xff0c;居然还有别人能用上GPT-4-Base版&#xff1f;&#xff1f; 也就是未经微调的预训练版&#xff0c;还不会对话聊天&#xff0c;只会补全句子的模型。 EPFL&#xff08;瑞士洛桑联邦理工&#xff09;团队申请到了访问权限&#xff0c;用于研究**“上…

某文旅集团定岗定编项目成功案例纪实

——加强一专多能培训&#xff0c;增加人员履职&#xff0c;提高工作饱和度 【客户行业】文旅行业&#xff1b;国有企业 【问题类型】定岗定编 【客户背景】 北方某一线城市的文旅集团&#xff0c;是国资委下属的一家企业&#xff0c;主营业务包括&#xff1a;出租商业用房…

HCIE-QOS流量监管-拥塞管理

QOS流量监管-拥塞管理 QOS数据处理流程流量限速技术-令牌桶技术单桶单速双色标记法双桶单速三色标记法&#xff08;常用&#xff09;双桶双速三色标记法 流量监管承诺访问速率流量监管使用场景配置基于接口的流量监管配置MQC实现流量监管 流量整形流量整形的实现 (1)流量整形的…

【Python】Python开发面试题库:综合考察面试者能力

文章目录 Python开发面试题库&#xff1a;综合考察面试者能力1. 基础语法与数据类型问题1&#xff1a;变量与数据类型问题2&#xff1a;列表与字典操作问题3&#xff1a;字符串操作问题4&#xff1a;元组解包问题5&#xff1a;集合操作问题6&#xff1a;基本运算问题7&#xff…

LeetCode | 21.合并两个有序链表

这道题也是很经典的一道题了&#xff0c;408的算法题中也考过这个思想&#xff0c;因为两个链表已是升序&#xff0c;合并只需要两个指针&#xff0c;分别指向两个表的表头&#xff0c;分别比较两个指针所指向的结点的val&#xff0c;小的就插入到目标链表里面&#xff0c;再后…

鸿蒙轻内核Kconfig使用笔记

鸿蒙轻内核使用Kconfig进行图形化配置&#xff0c;本文专门讲解下鸿蒙轻内核LiteOS-M和LiteOS-A的图形化配置方法。本文中所涉及的源码&#xff0c;均可以在开源站点 https://gitee.com/openharmony/kernel_liteos_a 、 https://gitee.com/openharmony/kernel_liteos_m 获取。本…