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