背景
最近偶然在同行群里看到了一篇帖子,讲的是如何在自己的微信里植入一个AI机器人,可以回答你或群里的一些问题。答案均出自GPT,含金量极高,且上手极其简单,想着最近也开始接手AI相关的项目了,不妨先把这个东西拿下来,练练手也好!
这里先贴出原文地址,感谢我的引路人:在微信里安装GPT攻略,但是要论实操,建议还是看我这篇,因为这篇攻略里需要依赖docker环境,且hub.docker.com现在已经无法下载镜像包了(至少正规途径不可以!),所以我还是稳稳当当的按原生攻略来吧。
项目搭建实战
一、源码下载,环境安装
1、安装Python3。这个项目是用python项目实现的,所以本地需要安装python3,关于python的安装,网上有很多教程,这里不多作缀述。安装好之后cmd窗口输入python显示如下信息, 说明已经安装成功。
2、从上文里提到的地址 GitHub - 基于大模型搭建的聊天机器人 上获得源码。
3、通过Python命令安装依赖,源码所在的网页面详细的写明了要安装的依赖及命令,咱们可以照着来:
然而,当我在命令行中执行 pip3 install -r requirements.txt时,却是如下结果:
这咋办,咱也不懂Python,咱也不会处理这个啊!难道就这样半途而废?
那肯定是不行的!为了解决这个问题,我不惜花重金请教大佬,拿到了一个改版后的命令,可算成功了:
python.exe -m pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
python.exe -m pip install -r requirements-optional.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
这个命令其实就是换个国内的镜像拿包,因为之前的命令是从国外的镜像中拿包,速度太慢才导致运行失败,但因为我是Python小白,对这个一窍不通,只能按着大佬的意思抄。
二、Kimi账号注册
依赖文件安装好之后,接下来就是注册一个可以使用AI模型的账号了,源码中推荐我们使用OpenAI,但是那玩意要花钱,咱这是纯属学习性质的,已经投入了精力,再投入金钱就太不值当了,综合考虑下,我决定注册个Kimi账号,因为新注册的用户有30天的免费使用时间。
可以通过Moonshot AI网址进入注册,注册好之后,可以在下图中的位置添加一个api-key,记住这个api-key,将来要写入配置文件的。
三、启动项目
1、启动项目之前,先将config-template.json复制一遍,改为config.json,对它进行如下配置:
{
"channel_type": "wx",
"model": "moonshot-v1-32k", # 模型名称, 支持 gpt-3.5-turbo, gpt-4, gpt-4-turbo, wenxin等,这里用moonshot-v1-32k
"open_ai_api_key": "******这里填Kimi的ApiKey*********",
"claude_api_key": "YOUR API KEY",
"text_to_image": "dall-e-2",
"voice_to_text": "openai",
"text_to_voice": "openai",
"proxy": "",
"hot_reload": false,
"single_chat_prefix": [ # 私聊时文本需要包含该前缀才能触发机器人回复
"雷袭",
"@雷袭"
],
"single_chat_reply_prefix": "[雷袭] ", # 私聊时自动回复的前缀,用于区分真人
"group_chat_prefix": [ # 群聊时包含该前缀则会触发机器人回复
"@雷袭"
],
"group_name_white_list": [ # 开启自动回复的群名称列表
"自动测试"
],
"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": ""
}
2、编写好配置后,在本文件夹下打开黑窗口,执行python app.py命令启动项目。项目会弹出二维码,通过微信扫码登陆即可(推荐使用不常用的小号登陆)。
四、测试
接下来咱们可以在上面的config文件里配置的群中发消息进行测试了,然而,我在微信上进行测试时,显示的却是这样,后台也报错了。
这可怎么办?咱也不懂Python,咱也不会改bug,难道就这样算了吗?
那是肯定不行的!好歹我也有这么多年的编程基础,姑且先调一下试试吧!我找到报错中所说的文件及行数,如下:
这一步貌似在取api-key,因为取不到,所以报错了,那为什么会取不到呢?我全文搜索api_key,发现了这一行代码:
莫非,这个文件取的是config里的moonshot-api-key这一行对应的值?我决定试试,对上文中的config文件进行修改,加了一行
"moonshot_api_key": "这里填写 KIMI-API-KEY",
重新测试。这次果然成功了,看来也不是很难嘛!
致谢
非常感谢提供这个项目的大佬,让我有机会领略AI的魅力,虽然说这个项目封装的很好,我因为没有Python方面的积累,没能深入研究它的原理。但是能把它跑起来,测试一下,并让它对我的工作生活起到一定的帮助,就已经很好了。
像这样的博客,网上应该有很多了,本文仅是对自己的实践进行一次记录,希望能对大家有所帮助。