chatglm.cpp AI搭建
- 1.环境准备
- 2 githup下载项目
- 3 安装加载和量化拥抱面模型所需的软件包
- 4 准备编译环境
- 5 开始编译项目
- 6 模型转换
- 7 CLI 验证
- 8 web 验证
- 9 api验证
- 10 遗留问题
1.环境准备
cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
2 githup下载项目
git clone --recursive https://github.com/li-plus/chatglm.cpp.git && cd chatglm.cpp
3 安装加载和量化拥抱面模型所需的软件包
python3 -m pip install -U pip
python3 -m pip install torch tabulate tqdm transformers accelerate sentencepiece
4 准备编译环境
sudo apt-get install apt-transport-https
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc | sudo apt-key add -
apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
apt-get update
apt-get install cmake
cmake --version
5 开始编译项目
pwd
/software/chatglm.cpp
mkdir build
cp ./CMakeLists.txt build
cmake -B build
cmake --build build -j --config Release
cmake -B build -DGGML_CUBLAS=ON && cmake --build build -j --config Release
6 模型转换
python3 ./chatglm_cpp/convert.py -i tsinghua_mode/pytorch_model-00001-of-00007.bin -t q4_0 -o chatglm2-6b.bin
7 CLI 验证
./build/bin/main -m chatglm-ggml-f16.bin -i
8 web 验证
python3 ./examples/web_demo.py -m chatglm-ggml-f16.bin
9 api验证
$MODEL=/software/chatglm.cpp/chatglm-ggml-f16.bin uvicorn api_demo:app --host 0.0.0.0 --port 8080
INFO: Started server process [282242]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)
中国四大名著是指《红楼梦》、《水浒传》、《三国演义》、《西游记》。一般认为它们的作者是曹雪芹、施耐庵、罗贯中、吴承恩。《红楼梦》通行本前八十回的作者是曹雪芹,后四十回续书的作者是高鹗。INFO: 127.0.0.1:53420 - "POST /v1/chat/completions HTTP/1.1" 200 OK
^CINFO: Shutting down
INFO: Waiting for application shutdown.
INFO: Application shutdown complete.
INFO: Finished server process [282242]
curl http://127.0.0.1:8080/v1/chat/completions -H 'Content-Type: application/json' -d '{"messages": [{"role": "user", "content": "中国四大名著作者分别是谁"}]}'
{"object":"chat.completion","response":"中国四大名著是指《红楼梦》、《水浒传》、《三国演义》、《西游记》。一般认为它们的作者是曹雪芹、施耐庵、罗贯中、吴承恩。《红楼梦》通行本前八十回的作者是曹雪芹,后四十回续书的作者是高鹗。","model":"chatglm2-6b","choices":[{"delta":{"content":"中国四大名著是指《红楼梦》、《水浒传》、《三国演义》、《西游记》。一般认为它们的作者是曹雪芹、施耐庵、罗贯中、吴承恩。《红楼梦》通行本前八十回的作者是曹雪芹,后四十回续书的作者
10 遗留问题
- huggingface 克隆不下来
- 清华模型转换失败
- api_demo.py 脚本获取不到