人工智能技术应用笔记(十二):搭建自带大模型微信,完美对接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学习大礼包” 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

个人博客测试用例设计

个人博客测试用例设计 个人博客测试用例 分别从功能、性能、安全、兼容及界面分别展开 个人博客测试用例

工业边缘计算网关在机械制造企业中的应用-天拓四方

随着信息技术的不断发展,工业领域对数据处理和分析的需求日益增长。工业边缘计算网关作为一种新型技术,正逐渐成为工业数字化转型的关键驱动力。本文将通过一个具体案例阐述工业边缘计算网关在工业中的应用,以及其为工业生产带来的显著效益。…

远程桌面有时连接不上,远程桌面时连接不上的七个处理方法

远程桌面连接作为一种方便、高效的远程管理工具,广泛应用于企业办公、技术支持以及在线教育等多个领域。然而,在实际应用中,用户有时会遇到远程桌面连接不上的情况,这不仅影响了工作效率,还可能导致重要任务的延误。因…

Linux系统:线程互斥

Linux系统:线程互斥 线程互斥互斥锁 mutex互斥锁原理 常见的锁死锁自旋锁 spinlock其它锁 线程互斥 讲解线程互斥前,先看到一个抢票案例: class customer { public:int _ticket_num 0;pthread_t _tid;string _name; };int g_ticket 10000…

vue element-ui 车牌号选择组件

实现效果 carnumber.vue <template><div class"car_no_popover"><div class"row_div"><div class"every_div" v-for"item in area"><button click"selectCarNo(item)">{{ item }}</butto…

【GlobalMapper精品教程】086:批量修改符号的样式

跟ArcGIS一样,Globalmapper也可以批量修改符号的样式,如样式、填充颜色、轮廓等等。 文章目录 一、加载实验数据二、土地利用符号化三、批量修改符号样式四、注意事项一、加载实验数据 订阅专栏后,从私信查收专栏配套的完整实验数据包,打开data086.rar中的土地利用数据,如…

基于PaddleDetection的电路板瑕疵检测

文章目录 1. 数据集与框架介绍2. 任务详情3. Cascade R-CNN简介4. 数据分析各类别样本的数量真实框的宽高比真实框在原图的大小比例 5. 相关配置数据增强数据集路径和评估指标学习率和优化器配置预训练CascadeRCNN 的配置日志记录 6. 训练预测7. 参考链接 1. 数据集与框架介绍 …

SpringMVC系列二: 请求方式介绍

RequestMapping &#x1f49e;基本使用&#x1f49e;RequestMapping注解其它使用方式可以修饰类和方法可以指定请求方式可以指定params和headers支持简单表达式支持Ant 风格资源地址配合PathVariable 映射 URL 绑定的占位符注意事项和使用细节课后作业 上一讲, 我们学习的是Spr…

2024年618购物狂欢节买什么最超值!618不可错过的好物清单!

618年中大促再度来临。对于购物爱好者来说&#xff0c;这无疑是一个不容错过的购物盛宴。那么&#xff0c;在这个618&#xff0c;哪些好物值得你重点关注呢&#xff1f;我特地整理了一份推荐清单&#xff0c;这些产品不仅经过我的亲身体验&#xff0c;更以其出色的实用性和高性…

【嵌入式】适配大多数STM32的最小系统设计

大多数的参赛作品以及毕业设计中都仅仅简单的使用STM32F103最小系统板加上洞洞板或面包板。这样的设计虽然可以进行功能演示&#xff0c;但是由于市面上的最小系统板太过简单&#xff0c;并没有发挥出STM32系列MCU的强大功能&#xff0c;而且看起来很不美观&#xff0c;为了在参…

Scott Brinker:API对今天的Martech用户来说「非常重要」 ,但它们对即将到来的人工智能代理浪潮至关重要

API在Martech中非常重要 猜一猜空格应该填什么&#xff1a; _______之于AI代理就像数据之于AI模型 正如你可能从我的标题猜到的那样&#xff0c;答案是API。让我们讨论一下为什么…… 数据是人工智能模型的差异化 在过去的一年半里&#xff0c;人工智能疯狂的超级炒作周期…

阻力支撑相对强度(RSRS)选股系列报告之三

https://download.csdn.net/download/SuiZuoZhuLiu/89447699?spm1001.2014.3001.5503https://download.csdn.net/download/SuiZuoZhuLiu/89447699?spm1001.2014.3001.5503

高薪项目经理都在用的工具,你会几个?

甘特图、里程碑图、看版图、燃尽图、WBS、思维导图、流程图、鱼骨图、清单表、项目日历、关系矩阵、PERT图、决策树、状态表。这些工具&#xff0c;你会几个&#xff1f; 甘特图&#xff08;Gantt Chart&#xff09; 甘特图是一种条形图&#xff0c;用于展示项目任务的时间线&…

所以spring mvc异常处理工作原理是啥

文章目录 spring mvc异常处理&#xff08;源码分析&#xff09;概述原理&#xff08;源码角度&#xff09;模拟debug前期提要分析4个map4个map的初始化为什么需要基于mappedMethods缓存 总结一下 spring mvc异常处理&#xff08;源码分析&#xff09; 概述 spring mvc有下面三…

压测怎么做?如何自动化?盘点各大公司全链路压测方案与实践

本文综合盘点各大公司团队的全链路压测技术方案和实践路径&#xff0c;供大家参考。 一、什么是全链路压测&#xff1f; 全链路压测指的是基于实际的生产业务场景、系统环境&#xff0c;模拟海量的用户请求和数据对整个业务链进行压力测试&#xff0c;并持续调优的过程。常用…

30v-180V降3.3V100mA恒压WT5107

30v-180V降3.3V100mA恒压WT5107 WT5107是一款恒压单片机供电芯片&#xff0c;它可以30V-180V直流电转换成稳定的3.3V直流电&#xff08;最大输出电流300mA&#xff09;&#xff0c;为各种单片机供电。WT5107的应用也非常广泛。它可以用于智能家居、LED照明、电子玩具等领域。比…

功能强大的API函数FindFirstFile使用介绍(附源码)

在处理文件的相关代码中,会频繁使用到Windows系统API函数FindFirstFile,这个函数功能很强大,很多功能都不开它。本文就根据我们在项目中使用该函数的情况,来大概地梳理一下使用FindFirstFile都可以实现哪些常用的功能。 1、FindFirstFile函数声明与WIN32_FIND_DATA结构体 我…

Java的核心类库

引言 在Java编程中&#xff0c;熟练掌握常用类与对象操作是开发的基础。Java的核心类库提供了丰富的功能&#xff0c;可以帮助开发者高效地处理各种编程任务。本文将详细介绍Java字符串操作、集合框架、日期与时间处理等内容&#xff0c;并通过图表和表格进行总结与示范。 字符…

Selenium IED-控制已打开的Chrome浏览器

本文已收录于专栏 《自动化测试》 目录 背景介绍优势特点操作步骤总结提升 背景介绍 在我们进行自动化测试的过程中有时候会遇见一个很棘手的问题那就是登录的过程中需要图片验证码&#xff0c;图片验证码设计的初衷其实就是为了防自动化&#xff0c;防止一些人利用自动工具恶意…

B-splines曲线的绘制(Matlab)

虽然在这个链接三次 Bspline(B样条曲线) NURBS曲线的绘制 matlab_三次b样条曲线的绘制-CSDN博客中我们介绍了NURBS曲线&#xff0c;然而有时候我们通过B-spline曲线也能够解决问题。B-spline曲线作为NURBS曲线的一种特例&#xff0c;这里给出均匀B-spline曲线的表达式&#xff…