Meow-AI
“Meow-AI”是打造属于自己的本地轻量级大语言模型AI
功能更新
- 2024-01-05:支持手动停止对话
- 2024-01-19:支持编辑对话实现简单的手动微调
- 2024-01-23:支持配置导入/导出,支持自定义AI性格人设
- 2024-03-01:完全使用RWKV架构,实现更小的模型体积,降低运行内存和CPU占用
- 2024-04-26:优化整体架构
- 2024-07-08:支持扩展功能,支持微信自动聊天
- 2024-07-21:完成一键懒人运行包
环境配置
推荐Python版本 3.9.18
需要模块numpy、tokenizers、prompt_toolkit、transformers、flask、flask-socketio、torch
pip3 install numpy tokenizers prompt_toolkit transformers flask flask-socketio torch
运行要求
最低4G运行内存(CPU+4G内存,可以运行0.1B的模型,效果也非常不错)
最高不限(最高可运行14b的大模型,聊天质量和效果更加好)
运行设置
根据自己电脑配置在模型网站(https://huggingface.co/BlinkDL)下载合适的模型 (镜像网址)
下载的所有文件放在models文件夹内,并修改config.json中的“modelFile”,将'RWKV-x060-World-1B6-v2-20240208-ctx4096'修改为自己下载的模型名
运行main.py,在浏览器中打开http://172.0.0.1:5000 即可开始对话
演示效果
1. 持续对话
该演示环境为GPU+8G,使用'RWKV-4-World-CHNtuned-0.1B-v1-20230617-ctx4096'模型
2. 手动调整对话
~注:手动添加修改更多的自己预设的对话,对后续的实现自己想要的聊天效果有很大帮助~
3. 配置导入导出
可以导入导出对话以及配置信息
4. 调教AI人设性格
可以自定义设置MeowAI人设性格,让MeowAI更加符合自己的喜好
5. 扩展功能
支持添加自定义扩展功能,目前已完成“微信自动聊天”
点击启动后,将自动打开微信,自动回复聊天
6. 一键懒人运行包
无需手动配置环境,运行包里含了所有所需环境,只需双击运行即可
链接: https://pan.baidu.com/s/1j_4iKGlPOKCyXeHPR5gLCg?pwd=52pj
未来展望
- 完成更多功能扩展
- 待续……
核心代码
#使用transformers读取本地模型
model = AutoModelForCausalLM.from_pretrained(output_folder, trust_remote_code=True).to(torch.float32)
tokenizer = AutoTokenizer.from_pretrained(output_folder, trust_remote_code=True)
#文本预测
inputs = tokenizer(prompt, return_tensors="pt")
output = model.generate(inputs["input_ids"], max_new_tokens=1, do_sample=True, temperature=1.0, top_p=0.3, top_k=0, )
text=tokenizer.decode(output[0].tolist(), skip_special_tokens=True)#这个就是对于我们输入的文本进行预测后的结果
其实实现对话聊天的效果基于文本的续写实现,基于已有的文本对下一个即将出现的字符进行预测。
下载(与源码)
扩展功能,目前支持“微信自动回复”扩展……
还有其他扩展等有空了再写吧,以下链接为【懒人一键运行包】+0.1B模型(由于百度云盘限制4GB以内文件,所以只打包了0.1B的模型)
【一键运行包】链接: https://pan.baidu.com/s/1j_4iKGlPOKCyXeHPR5gLCg?pwd=52pj
提取码: 52pj
开源地址:https://github.com/bilibini/Meow-AI