2024
- [2024/11/30] 📢📺 发布项目介绍视频啦! 视频地址在哔哩哔哩,喜欢的话别忘了点赞👍和关注哦!
- [2024/11/19] 🔒🛡️ 加入敏感词处理模块,防止模型输出有害观点
- [2024/11/18] 🔧🌟 完成快速使用部分的文档更新,解决关于环境搭建的bug。
- [2024/11/14] 🎉✨ 利用LMDeploy工具完成对四个模型的量化工作,FunGPT家族喜添新成员!模型已发布在HuggingFace。
- [2024/11/13] 🎉✨ 项目推出两款1.8B模型,FunGPT家族喜添新成员!模型分别为BanterBot_1_8b-chat,以及BoostBot_1_8b-chat。
- [2024/11/10] 🎉✨ 重磅推出两款全新7B模型,FunGPT家族喜添新成员!模型分别为BanterBot-7b-chat,以及BoostBot-7b-chat。
- [2024/11/10] 🛠️🎯 项目完成了重大更新,并修复已知的绝对路径bug问题~
- [2024/10/28] 🎈🥳 项目实现利用xtuner来实现微调大语言模型,同时发布第一版BoostBot_v1!
- [2024/10/19] 🎉💬 实现利用Chat-GLM4系列生成微调对话数据的工具链。
- [2024/10/03] 🎨🐞 项目对系统界面进行了一系列的美化工作,同时还修复一些已知的错误。
- [2024/10/02] 🚀💻 项目中加入了模型加载与释放机制,合理利用GPU显存。
- [2024/10/01] 😄🐍 项目中加入了异常处理模块,增加应用的稳定性。
- [2024/09/28] 👋👋 初步完成LLM(InternLM2.5_1.8b), ASR(Sensevoice)以及TTS(ChatTTS)各个部分的单功能测试以及效果检测。
🍬 甜言蜜语模式:
- 心情提升器🌟✨:当您感到低落,我们的甜言蜜语模式能让您的心情瞬间飙升,就像尝了一颗超级甜的蜜糖。
- 自信加油站💪🌈:同时我们的赞师傅会用合适且独特的方式夸奖您,让您的自信心爆棚。
🔪 犀利怼语模式:
- 压力释放阀💥😤:当您感到压力山大,我们的怼人模式能让您在怼人的同时,找到释放的出口。
- 幽默吐槽机😂👅:怼师傅的言语不仅犀利,而且幽默风趣,在怼人的过程中,您还能体会到脑洞大开的怼人方式。
- 🤗 夸人高手:生成甜言蜜语,陪伴您生活的每一天。
- 🗯️ 怼人大师:针对性应答,妙语连珠,与“我”斗智斗勇。
- 📊 数据收集指南:开源核心流程及代码,帮你快速掌握微调数据制作。
- 📖 LLM全流程指南:开源LLM模块代码,带你轻松入门。
- 🔊 ASR全流程指南:开源ASR模块代码,助力你实现语音识别梦想。
- 🎙️ TTS全流程指南:开源TTS模块代码,助力你实现语音合成梦想。
- 📂 结构清晰:详细注释与解释文档,并且具有清晰的项目结构!
- ⚡ 模型量化:降低使用门槛,随时随地体验AI的魅力。
- 🎥 视频教程:敬请期待我们的完整项目介绍视频!
Original_7b_BoostBot | BoostBot-7b |
---|---|
![]() |
![]() |
Original_7b_BanterBot | BanterBot-7b |
---|---|
![]() |
![]() |
模型 | 基座 | 类型 | 地址 |
---|---|---|---|
BanterBot-7b-chat | internlm2_5_chat_7b | 预训练+QLoRA微调 | HuggingFace OpenXLab |
BoostBot-7b-chat | internlm2_5_chat_7b | 预训练+QLoRA微调 | HuggingFace OpenXLab |
BanterBot_1_8b-chat | internlm2_5_chat_1_8b | 预训练+QLoRA微调 | HuggingFace OpenXLab |
BoostBot_1_8b-chat | internlm2_5_chat_1_8b | 预训练+QLoRA微调 | HuggingFace OpenXLab |
BanterBot-7b-chat-w4a16-4bit | internlm2_5_chat_7b | 预训练+QLoRA微调+w4a16量化 | HuggingFace OpenXLab |
BoostBot-7b-chat-w4a16-4bit | internlm2_5_chat_7b | 预训练+QLoRA微调+w4a16量化 | HuggingFace OpenXLab |
BanterBot_1_8b-chat-w4a16-4bit | internlm2_5_chat_1_8b | 预训练+QLoRA微调+w4a16量化 | HuggingFace OpenXLab |
BoostBot_1_8b-chat-w4a16-4bit | internlm2_5_chat_1_8b | 预训练+QLoRA微调+w4a16量化 | HuggingFace OpenXLab |
.
|-- ASR
| |-- __init__.py
| |-- models
| | `-- sensevoice.py
| |-- readme.md
| `-- weights
| `-- readme.md
|-- Assets
| |-- animation
| | `-- Animation_1.json
| |-- avatar
| | |-- BanterBot.jpg
| | |-- BoostBot.jpg
| | |-- BoostBot_v2.jpg
| | |-- User_v1.jpg
| | |-- person1.png
| | `-- person2.png
| |-- gif
| | |-- BanterBot-7b.gif
| | |-- BoostBot-7b.gif
| | |-- Original_7b_BanterBot.gif
| | `-- Original_7b_BoostBot.gif
| |-- image
| |-- svg
| | |-- FunGPT-logo.svg
| | `-- openxlab_logo.svg
| `-- video
| |-- BanterBot-7b.mp4
| |-- BoostBot-7b.mp4
| |-- Original_7b_BanterBot.mp4
| `-- Original_7b_BoostBot.mp4
|-- Data
| |-- BanterBot
| | |-- feasible_data
| | | `-- readme.md
| | |-- raw
| | | `-- readme.md
| | |-- readme.md
| | |-- sample
| | | `-- readme.md
| | |-- scripts
| | | |-- filter_bad_from_conv_data.py
| | | |-- filter_sensitive_words_from_conv_data.py
| | | |-- generate_mutil_conv_chatglm.py
| | | |-- generate_mutil_topic_chatglm.py
| | | |-- generate_self_congnitive_data.py
| | | `-- merge_conv_data_finetune.py
| | `-- sensitive_words
| | `-- readme.md
| `-- BoostBot
| |-- feasible_data
| | `-- readme.md
| |-- raw
| | `-- topic.txt
| |-- sample
| | `-- multi_conversation.jsonl
| `-- scripts
| |-- generate_mutil_conv_chatglm.py
| |-- generate_mutil_topic_chatglm.py
| |-- generate_self_congnitive_data.py
| `-- merge_conv_data_finetune.py
|-- Docs
| |-- pictures
| | `-- FunGPT.png
| |-- readme.md
| `-- user_guides
| `-- readme.md
|-- Finetune
| |-- BanterBot
| | `-- internlm2_5_chat_7b_qlora_alpaca_e3_copy.py
| |-- BaseModel
| | `-- readme.md
| `-- BoostBot
| `-- internlm2_5_chat_7b_qlora_alpaca_e3_copy.py
|-- LICENSE
|-- LLM
| |-- __init__.py
| |-- models
| | `-- internlm2_5_7b_chat.py
| |-- readme.md
| |-- templates
| | `-- template.py
| `-- weights
| `-- readme.md
|-- README.md
|-- README_en.md
|-- README_zh.md
|-- TTS
| |-- __init__.py
| |-- models
| | `-- chattts.py
| |-- readme.md
| `-- weights
| `-- readme.md
|-- Test
| |-- ASR
| | |-- example.py
| | `-- test_wav.wav
| |-- TTS
| | `-- example.ipynb
| `-- readme.md
|-- Utils
| |-- common_utils.py
| |-- configs.py
| |-- convert_gif.sh
| |-- data_utils.py
| |-- model_settings.py
| |-- model_utils.py
| `-- readme.md
|-- Work_dirs
| |-- ASR
| | `-- readme.md
| `-- TTS
| `-- readme.md
|-- __init__.py
|-- app.py
|-- env.yaml
|-- pages
| |-- 1_🍬💖_甜言模式.py
| |-- 2_💥😤_怼语模式.py
| `-- 3_🚀💫_待开发ing.py
|-- project_structure.txt
`-- requirements.txt
44 directories, 79 files
- 操作系统:Ubuntu 20.04.6 LTS
- CPU:Intel(R) Xeon(R) Platinum 8369B CPU @ 2.90GHz(在线 GPU 服务器)
- 显卡:NVIDIA A100-SXM4-80GB, NVIDIA-SMI 535.54.03,Driver Version: 535.54.03,CUDA Version: 12.2
- Python: 3.10.0
Python==3.10.0
torch==2.4.1
torch-complex==0.4.4
torchaudio==2.4.1
torchvision==0.16.2
chattts==0.1.1
streamlit==1.38.0
audio-recorder-streamlit==0.0.10
git clone https://github.com/Alannikos/FunGPT
- 进入项目的根目录
cd FunGPT
- 创建conda环境
conda create -n FunGPT python==3.10.0
- 安装第三方库
pip install -r requirements.txt
# 大概需要1h左右
- git-lfs安装
由于涉及到模型文件的下载,首先需要保证
git-lfs
已经成功安装。对于Linux
用户来说,可按照下面的命令安装:
apt install git-lfs
- 启动
LFS
git lfs install
- 下载TTS模型到指定路径
# 1. 进入指定目录
cd /FunGPT/TTS/weights
# 2. 从huggingface下载模型
git clone https://huggingface.co/2Noise/ChatTTS
- 无法访问HuggingFace用户,可从镜像源下载
# 2. 从镜像源下载模型
git clone https://hf-mirror.com/2Noise/ChatTTS
由于涉及到模型文件的下载,首先需要保证git-lfs
已经成功安装。对于Linux
用户来说,可按照下面的命令安装:
# 已下载用户可忽略此条命令
apt install git-lfs
- 启动
LFS
git lfs install
- 下载TTS模型到指定路径
# 1. 进入指定目录
cd /FunGPT/ASR/weights
# 2. 从huggingface下载模型
git clone https://huggingface.co/FunAudioLLM/SenseVoiceSmall
- 无法访问HuggingFace用户,可从镜像源下载
# 2. 从镜像源下载模型
git clone https://hf-mirror.com/FunAudioLLM/SenseVoiceSmall
- 启动
LFS
git lfs install
- 下载LLM模型到指定路径
# 1. 进入指定目录
cd /FunGPT/LLM/weights
# 2. 从huggingface下载BanterBot-1_8b-chat模型
https://huggingface.co/Alannikos768/BanterBot_1_8b-chat
# 3. 从huggingface下载BoostBot-1_8b-chat模型
https://huggingface.co/Alannikos768/BoostBot_1_8b-chat
- 无法访问HuggingFace用户,可从OpenXLab下载
# 2. 从OpenXLab下载BanterBot-1_8b-chat模型(国内用户)
git clone https://code.openxlab.org.cn/Alannikos/BanterBot-1_8b-chat.git
# 3. 从OpenXLab下载BoostBot-1_8b-chat模型(国内用户)
git clone https://code.openxlab.org.cn/Alannikos/BoostBot-1_8b-chat.git
conda activate FunGPT
streamlit run app.py --server.address=127.0.0.1 --server.port=7860
- 如果是在远程服务器上运行的,需要进行端口映射
ssh -p 46411 user@ip -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
- 然后在体验应用
打开浏览器,输入
http://127.0.0.1:7860
,然后点击对应界面即可体验FunGPT
$\quad$TTS模块主要负责将LLM生成的文本转换为语音输出,支持批量合成模式。我们还提供了情感控制接口,可以根据文本内容自动调整语气和语调,使输出更加自然。
-
- [×]
录制项目视频
- [×]
-
- 支持GPT-Sovits
-
- 支持API接入大语言模型
-
- 完善数据生成指南部分
-
- 完善大语言模型使用部分
-
- 完善文本转语音模块介绍部分
-
- 完善语音识别使用部分
-
- [×]
加入敏感词模块
- [×]
非常感谢下列开源工具和开源项目的支持:
项目 | 描述 |
---|---|
InternLM-Tutorial | 活跃且开源的大模型训练营 |
Xtuner | 用于模型训练和微调的工具 |
LMDeploy | 用于模型量化和部署的工具 |
Streamlit | 高效构建AI应用的工具 |
DeepSpeed | 用于模型训练和推理加速的工具 |
Pytorch | 广泛使用的深度学习框架 |
项目 | 描述 |
---|---|
InternLM | 一系列先进的开源大语言模型 |
ChatTTS | 一个文本转语音的开源项目 |
SenseVoice | 一个由阿里巴巴出品的一个语音识别的开源项目 |
LangGPT | 一个关于结构化提示词的开源项目 |
GangLLM | 一个关于与用户抬杠的开源项目 |
Linly-Talker | 一款关于人工智能系统的开源项目 |
Yanjie | 一个关于促进英语学习的人工智能助手的开源项目 |
wulewule | 一个关于黑神话悟空的人工智能助手的开源项目 |
ChatSensitiveWords | 一个关于敏感词过滤的开源项目 |
机构 | 描述 |
---|---|
上海人工智能实验室 | 感谢提供的技术支持以及平台支持 |
-
研究用途:FunGPT项目及其相关资源仅限用于学术研究目的,严禁将其用于任何商业用途。如有使用涉及到第三方代码的部分,请严格遵循其对应的开源协议。
-
内容生成准确性:由于内容生成过程受到模型算法、随机性和量化精度限制等因素的影响,FunGPT无法对生成内容的准确性和适用性作出保证。请在使用时保持审慎,并自行判断内容的适用性。
-
法律责任:本项目不对模型输出内容的合法性和相关后果承担责任。用户应确保自身的使用行为符合相关法律法规,并对使用结果负责。