【个人开发】llama2部署实践(一)——基于CPU部署

1. Anaconda安装

shell 复制代码
mkdir -p /opt/anaconda
cd /opt/anaconda
# 参考链接:https://repo.anaconda.com/archive/index.html
wget https://repo.anaconda.com/archive/Anaconda3-2023.07-2-Linux-x86_64.sh
sh Anaconda3-2023.07-2-Linux-x86_64.sh

2.安装git

shell 复制代码
yum install git
yum install git-lfs # 安装依赖
git lfs install 

3.安装g++

shell 复制代码
yum install gcc-c++
## 升级版本,否则会报错
sudo yum install centos-release-scl
sudo yum install devtoolset-9-gcc*
scl enable devtoolset-9 bash

## 查看版本
gcc -v

4.llama2 安装

shell 复制代码
# 1.下载项目
git clone https://github.com/ggerganov/llama.cpp
pip3 install -r requirements.txt
make

# GPU编译方式。

## 2.获取 下载链接、下载模型 
#  注意代理节点跟所选地址的关系。
# https://llama.meta.com/llama-downloads/
git clone https://github.com/facebookresearch/llama.git

## 下载(输入邮箱链接)
./download.sh 
## 得到模型文件 llama-2-7b

# 3.文件转化
## 将llama中的文件tokenizer.model 复制到模型的位置 llama-2-7b,否则会报错
## Found vocab files: {'tokenizer.model': None, 'vocab.json': None, 'tokenizer.json': None}      FileNotFoundError: spm vocab not found.

## 模型转化
cd llama.cpp
mkdir -p models/7B/
mkdir -p models/13B/
python3 convert.py --outfile models/7B/ggml-model-f16.bin ../llama-2-7b/
python3 convert.py --outfile models/13B/ggml-model-f16.bin ../llama-2-13b/

python3 convert.py --outfile /data/opt/llama2_model/llama-2-7b-bin/ggml-model-f16.bin /data/opt/llama2_model/llama-2-7b


## 模型量化(q4_0为原始的量化)
./quantize ./models/7B/ggml-model-f16.bin ./models/7B/ggml-model-q4_0.gguf q4_0
## 启动服务
./server -m ./models/7B/ggml-model-q4_0.gguf  -c 2048 -ngl 1 --host localhost --port 8080 
## 终端对话
./main -m ./models/7B/ggml-model-q4_0.gguf -n 256 --repeat_penalty 1.0 --color -i -r "User:" -f prompts/chat-with-bob.txt 
## 服务调用
curl --request POST \
    --url http://localhost:8080/completion \
    --header "Content-Type: application/json" \
    --data '{"prompt": "Building a website can be done in 10 simple steps:","n_predict": 128}'

以上,End!

相关推荐
万粉变现经纪人5 小时前
如何解决 pip install llama-cpp-python 报错 未安装 CMake/Ninja 或 CPU 不支持 AVX 问题
开发语言·python·开源·aigc·pip·ai写作·llama
挖AI金矿6 小时前
(十五)MCP协议与插件生态 — 扩展无限可能
开源·个人开发·ai编程·hermes agent·爱马仕agent
挖AI金矿8 小时前
(十三)多Agent协同
自动化·个人开发·ai编程·hermes agent·爱马仕agent
笨笨饿9 小时前
69_如何给自己手搓一个串口
linux·c语言·网络·单片机·嵌入式硬件·算法·个人开发
aaaffaewrerewrwer19 小时前
免费在线 AVIF 转 WebP 工具:浏览器端批量转换,无需上传更安全
安全·个人开发
王莎莎-MinerU19 小时前
从 PDF 到知识资产:MinerU 文档解析如何成为企业 RAG 系统的“数据基石”
大数据·人工智能·pdf·个人开发
挖AI金矿19 小时前
(十二)模型与多Provider切换
自动化·个人开发·ai编程·hermes agent·爱马仕agent
挖AI金矿19 小时前
(十四)安全与权限控制--把Agent关进笼子里
开源·个人开发·ai编程·hermes agent·爱马仕agent
aaaffaewrerewrwer2 天前
免费在线 JPG 转 PNG 工具推荐:批量转换 + 浏览器本地处理
安全·个人开发
wj3055853782 天前
Ollama Cloud 与直接使用 API 的对比
llm·llama