bilibini 发表于 2023-12-29 10:27

【开源更新】【懒人一键运行包】低配置运行本地大语言模型AI【新增微信自动回复】

本帖最后由 bilibini 于 2024-7-22 18:48 编辑

# 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))下载合适的模型 ([镜像网址](https://hf-mirror.com/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'模型
!(https://img.z4a.net/images/2024/06/12/9067bcfab67bb37a3c012ccca84b39be.png)
### 2. 手动调整对话
~注:手动添加修改更多的自己预设的对话,对后续的实现自己想要的聊天效果有很大帮助~
!(https://img.z4a.net/images/2024/06/12/c21bbf309e8836a2f420a2e9aa430805.png)
### 3. 配置导入导出
可以导入导出对话以及配置信息
!(https://img.z4a.net/images/2024/06/12/827ad26b2bfd9c31897b75081133d307.png)
### 4. 调教AI人设性格
可以自定义设置MeowAI人设性格,让MeowAI更加符合自己的喜好
!(https://img.z4a.net/images/2024/06/12/Meow.gif)
### 5. 扩展功能
支持添加自定义扩展功能,目前已完成“微信自动聊天”
点击启动后,将自动打开微信,自动回复聊天
!(https://t3.picb.cc/2024/07/08/iQfcbG.gif)
### 6. 一键懒人运行包
无需手动配置环境,运行包里含了所有所需环境,只需双击运行即可
链接: https://pan.baidu.com/s/1j_4iKGlPOKCyXeHPR5gLCg?pwd=52pj   
!(https://img.z4a.net/images/2024/07/21/_.png)   

## 未来展望
1. 完成更多功能扩展
3. 待续……   

## 核心代码
```
#使用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.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
{:17_1076:} 欢迎大家投喂免费的热心值

155265046 发表于 2023-12-29 11:08

这出字速度也太慢了{:1_925:}

bilibini 发表于 2023-12-29 11:10

tanzhiwei 发表于 2023-12-29 10:58
这些模型都有啥区别啊,是看哪个下载多就用哪个吗

根据自己电脑配置来选择模型,质量越好的模型越大而且需要更高的配置
纯cpu+低内存可以运行169m和430m的模型,但这两个都属于入门级别的(比较笨)
纯cpu+大内存(比如12GB以上内存)可以运行1.5b的模型(对话质量要好一些)
有显卡就可以运行3b以上的模型了,根据自己的显存大小来选择模型,理论上来说14b的模型效果最好

bilibini 发表于 2024-1-24 09:45

trover 发表于 2023-12-29 14:15
试过了,不能连续对话,应该是github项目问题,向后端请求的时候没有带上之前的对话数据,而且还不能清除当 ...

已经添加手动停止功能,更新了AI性格调教功能,欢迎再次体验{:301_997:}

bilibini 发表于 2023-12-29 10:54

坐久落花多 发表于 2023-12-29 10:41
这个模型可以训练吗?
可以训练和微调,但是最好要有显卡,7b以下的模型显存有8G差不多够了,具体模型训练方法可以看知乎的一篇文章,写的比较详细(https://zhuanlan.zhihu.com/p/629809101)

MIAIONE 发表于 2023-12-29 10:46

坐久落花多 发表于 2023-12-29 10:41
这个模型可以训练吗?

训练的话得看是是不是pytorch的模型, 然后是你的显存大小, 因为参数量摆着呢, 再小也得16GB显存起步, 之前我那个6B参数的羊驼模型, 微调需要24GB显存, 全参数需要320GB显存

坐久落花多 发表于 2023-12-29 10:41

这个模型可以训练吗?

lustig 发表于 2023-12-29 10:56

聊天AI{:1_908:}

xyzbrave 发表于 2023-12-29 10:57

看起来很高级,感谢楼主分享

不知道改成啥 发表于 2023-12-29 10:58

这些模型都有啥区别啊,是看哪个下载多就用哪个吗

guohuanxian 发表于 2023-12-29 11:01

看起来,也就是基础的功能,不过还好

ShowJyu 发表于 2023-12-29 11:10

非常感谢大佬,mark学习一下
页: [1] 2 3 4 5 6 7 8
查看完整版本: 【开源更新】【懒人一键运行包】低配置运行本地大语言模型AI【新增微信自动回复】