开源模型部署及使用
1.Langchain-Chatchat
Langchain-Chatchat这里面可以调用许多模型,我本地下载了chatglm3模型文件,所以就用这个模型。
1.环境
根据官网的步骤,我这里用了虚拟环境,这里注意几点:
1.环境里面先安装符合自己电脑配置的pytorch,再去安装requirements文件。
2.把这几个requirements文件里的jq
包注释掉,因为这个包用conda安装,如果用pip会一直报错。
python
conda create -n langchain-chat Python==3.11.7
conda activate langchain
git clone https://github.com/chatchat-space/Langchain-Chatchat.git
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
conda install jq==1.6.0
pip install -r requirements.txt
pip install -r requirements_api.txt
pip install -r requirements_webui.txt
下载模型文件,我把这两个模型文件都下载到了这个目录下的model文件夹
python
git lfs install
git clone https://huggingface.co/THUDM/chatglm3-6b
git clone https://huggingface.co/BAAI/bge-large-zh
修在configs/model_config.py里面模型文件的地址,这里确保你的两个模型文件都放在MODEL_ROOT_PATH ,并名字都和代码里的一样。
python
MODEL_ROOT_PATH = "D:/Projects/Langchain-Chatchat-master/Langchain-Chatchat-master/model"
EMBEDDING_MODEL = "bge-large-zh"
LLM_MODELS = ["chatglm3-6b"]
初始化知识库和配置文件
python
python copy_config_example.py
python init_database.py --recreate-vs
2.运行
python
python startup.py -a
这里我出现了sentenc-transformers不存在以及某些库不存在,不存在可以pip,但我这里是存在的,所以我就先unpip
,然后再pip
,并带上参数--no-cache-dir
不适用缓存数据重新下载,最后就可以了。
3.效果
2.facefusion
facefusion换脸效果似乎很好,所以部署一个到win笔记本。可以参考博文。
1.环境
首先创建虚拟环境
python
conda create -n facefusion python==3.10
conda activate facefusion
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install --no-cache-dir -r requirements.txt
pip uninstall onnxruntime onnxruntime-gpu
pip install onnxruntime-gpu
conda install cudnn
然后去下载模型文件,当然很多模型都可以,可以自行选择,下载到文件的.assets\models目录下。
2.运行
python
python run.py --execution-providers cuda
3.效果
3.Aquila
Aquila据说要开源33b大模型,而且还是中英双语,有些期待,可以先试试他们的7b,这里面竟然还有生成code和sql的模型,感觉可以跟一波。
1.环境
具体的安装使用可以根据官网手册。
python
conda create -n aquila python==3.8
conda activate aquila
pip install -U flagai
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip uninstall transformers
pip install --no-cache-dir transformers
pip install ultra
pip install bitsandbytes
2.运行
因为我安装的torch和库里的torch版本不一致,所以有问题No module named 'torch._six'
,解决办法是在报错的代码处改为:
python
try:
from torch._six import inf
except ModuleNotFoundError:
from torch import inf
然后我在库里没找到Aquila模型,好像因为不支持win。具体用什么模型实现什么任务可以在flagai\auto_model\auto_loader.py里面看到可用的模型和方法,如果你用的不对也会有输出,可以根据提示选择。
python
import torch
from flagai.auto_model.auto_loader import AutoLoader
from transformers import BitsAndBytesConfig
model_name = 'glm-10b-ch'#显存不够没跑起来
# model_name = 'AquilaChat2-7B'
autoloader = AutoLoader("poetry", model_name=model_name,
quantization_config=BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_use_double_quant=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
))
model = autoloader.get_model()
tokenizer = autoloader.get_tokenizer()
print(model.predict("写一首过年主题的五言绝句", tokenizer=tokenizer, model_name=model_name))
win上显存不够,去linux上也没跑起来,算了,我放弃了。