基于chatgpt-on-wechat搭建个人知识库微信群聊机器人

2024-06-22 12:04

本文主要是介绍基于chatgpt-on-wechat搭建个人知识库微信群聊机器人,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

啊,最近在别人微信群里看到一个聊天机器人,感觉挺好玩的。之前GPT刚出来的时候就知道有人把聊天机器人接入到微信或者QQ中来增加互动,但是当时没想那个想法。

很久没关注这块了,发现现在可以使用大模型+知识库的方式来打造自己的专属机器人。我突然眼前一亮,我现在特别需要这个机器人。

因为现在我的群里有以下几个问题:

  1. 会有很多新加入的群友,需要发送一些群规和欢迎语。
  2. 大家有时会问很多基础的重复性的问题。

我希望的

  1. 自动发送群规和欢迎语这个普通的群聊机器人都具备,这个不是刚需。
  2. 这个是我最希望解决的,因为很多小白问的问题都是一样的,那我有时候看消息不及时,来不及回复,或者一个答案重复发好几次。所以我希望能够将一些通用的问题规整到知识库里,再由群聊机器人来帮我从知识库中提取答案去回复。

于是迫不及待问下那个老哥,他说用的是chatgpt-on-wechat这个项目部署的。

OK开整,我开始在我的一个快要荒废的阿里云服务器上部署这个项目。

部署准备

  • 需要一台云服务器(或者你自己的电脑本地也可以,但是本篇只讲云服务器上部署的流程)
  • 服务器上安装宝塔面板

开始部署

项目地址:GitHub - zhayujie/chatgpt-on-wechat: 基于大模型搭建的聊天机器人,同时支持 微信公众号、企业微信应用、飞书、钉钉 等接入,可选择GPT3.5/GPT-4o/GPT4.0/ Claude/文心一言/讯飞星火/通义千问/ Gemini/GLM-4/Claude/Kimi/LinkAI,能处理文本、语音和图片,访问操作系统和互联网,支持基于自有知识库进行定制企业智能客服。

这里有两种方式:

  • docker部署的方式
  • python部署的方式

以上两种方式我都尝试了,最开始尝试的是docker,很不幸的是我docker没部署成功,应该是docker pull的问题,一直拉不下来镜像,无论是修改镜像加速还是修改docker pull加速都没成功。

无奈,只能用python的方式去部署。

拉取源码

将项目下载下来,压缩包传到宝塔上面

我直接上传到/www/wwwroot目录下

配置config文件

然后双击解压,解压完成后进入项目根目录找到config-template.json

这是一个配置模版,用来配置机器人的各项参数。我们需要复制这个文件,并命名为config.json

编辑配置文件,默认的是openai的配置,由于使用openai需要做个代理服务器,太麻烦,成本高(需要一台国外服务器)

于是先试试用LinkAI配置下

{"channel_type": "wx","model": "moonshot-v1-8k","moonshot_api_key": "sk-XXXX","proxy": "","hot_reload": false,"single_chat_prefix": ["bot","@bot"],"group_welcome_msg": "欢迎加入本群,欢迎语!!","single_chat_reply_prefix": "[bot] ","group_chat_prefix": ["@bot"],"group_name_white_list": ["俺们俩的小群"],"image_create_prefix": ["画"],"speech_recognition": false,"group_speech_recognition": false,"voice_reply_voice": false,"conversation_max_tokens": 2500,"expires_in_seconds": 3600,"character_desc": "你是基于大语言模型的AI智能助手,旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。","subscribe_msg": "感谢您的关注!\n这里是AI智能助手,可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。","use_linkai": true,"linkai_api_key": "Link_XXXXX","linkai_app_code": "EsurXXX"
}

其实想快速上手只用配置这几个参数即可,后面再慢慢开放其他额外的功能

model对话大模型(这里我填的是moonshot-v1-8k,就是月之暗面的大模型,如果想填别的,就填对应的大模型名称,比如:gpt-3.5-turbo)

moonshot_api_key大模型对话api_key,每个大模型的apikey格式不一样,比如月之暗面的是moonshot_api_key、gpt的是open_ai_api_key

group_name_white_list配置群名白名单,就是说你的机器人要在哪个群里使用,就填写那个群的群名。

use_linkai填写true

linkai_api_key填写你在linkAI上申请的apikey

linkai_app_code填写你在linkAI上的app code

具体配置说明参考

配置说明 | LinkAI - 一站式AI智能体平台 - 极简未来

注册LinkAI账号

然后需要去LinkAI注册账号

LinkAI - 一站式AI智能体平台 - 极简未来

创建一个应用

选择知识库应用,并且创建对应的知识库。

然后上传一些资料到知识库上

问答文档的格式是csv,下载csv模版

模版内容是一问一答的形式。

我增加了一些测试数据

然后来到你创建的应用这里检查绑定知识库

知识库设置,未命中策略我修改为了固定文案,防止AI自行推理出错误的信息。

宝塔创建项目

配置完成后,回到宝塔界面新建python项目

项目路径:填写你压缩包解压后的根目录

运行文件:app.py

项目端口:8080(记得去你服务器上安全组查看下是否开放8080端口)

python版本:3.9.7(建议3.9.x都可以,3.10.x可能会有问题)

框架:python

运行方式:python

安装依赖包:解压包根目录下的requirements.txt文件

然后点击提交,等待项目创建完毕。

创建好后可能是未启动或者启动的状态,这个时候将项目修改为未启动状态。因为还有些依赖没安装完毕。

然后点击终端

输入下面命令安装可选依赖

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

依赖安装完毕后启动会报错缺少tiktoken模块,输入下面命令安装下

pip install tiktoken

启动项目

然后输入下面命令

首次运行需要新建日志文件

touch nohup.out 

运行程序并通过日志输出二维码

nohup python3 app.py & tail -f nohup.out  

执行成功后可以看到二维码打印出来,拿你想要当机器人的微信号扫码登录就可以

扫码登录完成后,可以关闭终端界面,程序会在后台执行。

你会发现服务装填是未启动,这个不影响,程序已经执行了。

输出的日志在项目根目录的run.log文件内

如果你调试过程中需要关闭或者重启项目

输入查询命令

ps -ef | grep app.py | grep -v grep

关掉对应PID程序

kill -9 15230

比如这里程序的pid是20945,输入kill -9 20945关掉程序。

测试截图

可以看到回复我的信息是调取了知识库的。

一些问题

测试爽了,但是发现一些问题,LinkAI确实挺好用的,就是小贵!

这可不行,我又尝试了coze、FastGPT等其他几个类似的平台之后,找到了一个相对便宜点的,智谱AI.

智谱AI开放平台

因为一上来会送你3000万的tokens,美滋滋

同样的,智谱AI也是需要去申请APIkey和知识库的。

适配知识库

但是chatgpt-on-wechat项目目前不支持质谱AI的知识库

在github上找到了修改方法

新增支持 GLM-4 知识库检索功能 by xiexin12138 · Pull Request #1758 · zhayujie/chatgpt-on-wechat · GitHub

修改bot/zhipuai/zhipuai_bot.py

和config.py

修改完成后重启项目,扫码登录,成功运行。

模板参考

下面是我部署过程中尝试的一些config模板

月之暗面

{"channel_type": "wx","model": "moonshot-v1-8k","moonshot_api_key": "sk-XXXX","proxy": "","hot_reload": false,"single_chat_prefix": ["bot","@bot"],"group_welcome_msg": "欢迎加入本群,欢迎语!!","single_chat_reply_prefix": "[bot] ","group_chat_prefix": ["@bot"],"group_name_white_list": ["俺们俩的小群"],"image_create_prefix": ["画"],"speech_recognition": false,"group_speech_recognition": false,"voice_reply_voice": false,"conversation_max_tokens": 2500,"expires_in_seconds": 3600,"character_desc": "你是基于大语言模型的AI智能助手,旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。","subscribe_msg": "感谢您的关注!\n这里是AI智能助手,可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。","use_linkai": true,"linkai_api_key": "Link_XXXXX","linkai_app_code": "EsurXXX"
}

{"channel_type": "wx","model": "glm-4","zhipu_ai_api_key": "","zhipu_ai_api_base": "https://open.bigmodel.cn/api/paas/v4","zhipu_ai_knowledge_id": "","proxy": "","hot_reload": false,"single_chat_prefix": ["bot","@bot"],"group_welcome_msg": "欢迎加入本群,欢迎语!!","single_chat_reply_prefix": "[bot] ","group_chat_prefix": ["@bot"],"group_name_white_list": ["俺们俩的小群"],"image_create_prefix": ["画"],"speech_recognition": false,"group_speech_recognition": false,"voice_reply_voice": false,"conversation_max_tokens": 2500,"expires_in_seconds": 3600,"character_desc": "你是基于大语言模型的AI智能助手,旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。","subscribe_msg": "感谢您的关注!\n这里是AI智能助手,可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。","use_linkai": false,"linkai_api_key": "Link_XXXXXX","linkai_app_code": "XXXXXX"
}

总结下就是,部署了这个项目后确实能给我省不少精力,后续我只需要将一些常见问题汇总,构建成知识库的形式,方便群友去查询。

关于平台,LinkAI挺方便的,可以直接选择GPT4、Kimi等主流大模型,就是有点贵。个人感觉GLM4的知识库回答没有LinkAI的那么灵活,可能是我还没调好。

官方文档参考

快速开始 | LinkAI - 一站式AI智能体平台 - 极简未来

这篇关于基于chatgpt-on-wechat搭建个人知识库微信群聊机器人的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1084232

相关文章

问题:第一次世界大战的起止时间是 #其他#学习方法#微信

问题:第一次世界大战的起止时间是 A.1913 ~1918 年 B.1913 ~1918 年 C.1914 ~1918 年 D.1914 ~1919 年 参考答案如图所示

揭秘未来艺术:AI绘画工具全面介绍

📑前言 随着科技的飞速发展,人工智能(AI)已经逐渐渗透到我们生活的方方面面。在艺术创作领域,AI技术同样展现出了其独特的魅力。今天,我们就来一起探索这个神秘而引人入胜的领域,深入了解AI绘画工具的奥秘及其为艺术创作带来的革命性变革。 一、AI绘画工具的崛起 1.1 颠覆传统绘画模式 在过去,绘画是艺术家们通过手中的画笔,蘸取颜料,在画布上自由挥洒的创造性过程。然而,随着AI绘画工

[职场] 护理专业简历怎么写 #经验分享#微信

护理专业简历怎么写   很多想成为一名护理方面的从业者,但是又不知道应该怎么制作一份简历,现在这里分享了一份护理方面的简历模板供大家参考。   蓝山山   年龄:24   号码:12345678910   地址:上海市 邮箱:jianli@jianli.com   教育背景   时间:2011-09到2015-06   学校:蓝山大学   专业:护理学   学历:本科

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型+ GPT-4o),组织参与了 2024 年高考「新课标I卷」的语文、数学、英语考试,然后由经验丰富的判卷老师评判得分。 结果如上图所

大学湖北中医药大学法医学试题及答案,分享几个实用搜题和学习工具 #微信#学习方法#职场发展

今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式,可以快速查找问题解析,加深对题目答案的理解。 1.快练题 这是一个网站 找题的网站海量题库,在线搜题,快速刷题~为您提供百万优质题库,直接搜索题库名称,支持多种刷题模式:顺序练习、语音听题、本地搜题、顺序阅读、模拟考试、组卷考试、赶快下载吧! 2.彩虹搜题 这是个老公众号了 支持手写输入,截图搜题,详细步骤,解题必备

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

AI儿童绘本创作

之前分享过AI儿童绘画的项目,但是主要问题是角色一致要花费很长的时间! 今天发现了这款,非常奈斯! 只需输入故事主题、风格、模板,软件就会自动创作故事内容,自动生成插画配图,自动根据模板生成成品,测试效果如下图。 变现方式:生成儿童绘本发布到各平台,吸引宝妈群体进私域。  百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全

人工和AI大语言模型成本对比 ai语音模型

这里既有AI,又有生活大道理,无数渺小的思考填满了一生。 上一专题搭建了一套GMM-HMM系统,来识别连续0123456789的英文语音。 但若不是仅针对数字,而是所有普通词汇,可能达到十几万个词,解码过程将非常复杂,识别结果组合太多,识别结果不会理想。因此只有声学模型是完全不够的,需要引入语言模型来约束识别结果。让“今天天气很好”的概率高于“今天天汽很好”的概率,得到声学模型概率高,又符合表达

智能客服到个人助理,国内AI大模型如何改变我们的生活?

引言 随着人工智能(AI)技术的高速发展,AI大模型越来越多地出现在我们的日常生活和工作中。国内的AI大模型在过去几年里取得了显著的进展,不少独创的技术点和实际应用令人瞩目。 那么,国内的AI大模型有哪些独创的技术点?它们在实际应用中又有哪些出色表现呢?此外,普通人又该如何利用这些大模型提升工作和生活的质量和效率呢?本文将为你一一解析。 一、国内AI大模型的独创技术点 多模态学习 多

【新闻】AI程序员要来了吗?阿里云官宣

内容提要 6 月 21 日,在阿里云上海 AI 峰会上,阿里云宣布推出首个AI 程序员。 据介绍,这个AI程序员具备架构师、开发工程师、测试工程师等多种岗位的技能,能一站式自主完成任务分解、代码编写、测试、问题修复、代码提交整个过程,最快分钟级即可完成应用开发,大幅提升研发效率。 近段时间以来,有关AI的实践应用突破不断,全球开发者加速研发步伐。有业内人士坦言,随着大模型性能逐渐提升,AI应