README.md 1.87 KB
Newer Older
xuxzh1's avatar
xuxzh1 committed
1
# <div align="center"><strong>Ollama</strong></div>
mashun1's avatar
mashun1 committed
2

xuxzh1's avatar
xuxzh1 committed
3
## 简介
mashun1's avatar
mashun1 committed
4

xuxzh1's avatar
xuxzh1 committed
5
1 Ollama是以llama.cpp为后端的前端大模型推理框架,可快速部署主流模型。
mashun1's avatar
v1  
mashun1 committed
6

xuxzh1's avatar
xuxzh1 committed
7
## 安装
mashun1's avatar
v1  
mashun1 committed
8

xuxzh1's avatar
update  
xuxzh1 committed
9
### 1、使用源码编译方式安装
mashun1's avatar
v1  
mashun1 committed
10

xuxzh1's avatar
xuxzh1 committed
11
#### 环境准备
mashun1's avatar
mashun1 committed
12

xuxzh1's avatar
xuxzh1 committed
13
##### Docker
mashun1's avatar
mashun1 committed
14

xuxzh1's avatar
update  
xuxzh1 committed
15
16
```bash
docker pull docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-py3.10-dtk24.04.3-ubuntu20.04
mashun1's avatar
mashun1 committed
17

xuxzh1's avatar
update  
xuxzh1 committed
18
19
docker run -i -t -d  --device=/dev/kfd --privileged --network=host --device=/dev/dri --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home  -v /opt/hyhal:/opt/hyhal:ro -v --group-add video --shm-size 16G --name {容器名} {镜像ID}
```
mashun1's avatar
v1  
mashun1 committed
20

xuxzh1's avatar
update  
xuxzh1 committed
21
1、下载源码
mashun1's avatar
v1  
mashun1 committed
22

xuxzh1's avatar
update  
xuxzh1 committed
23
24
25
26
```bash
git clone -b 0.4.7 http://developer.sourcefind.cn/codes/OpenDAS/ollama.git --depth=1
cd ollama
```
mashun1's avatar
v1  
mashun1 committed
27

xuxzh1's avatar
xuxzh1 committed
28
#### 编译
mashun1's avatar
v1  
mashun1 committed
29

xuxzh1's avatar
xuxzh1 committed
30
##### 环境设置
xuxzh1's avatar
update  
xuxzh1 committed
31
32
33
34
35
```bash
export HSA_OVERRIDE_GFX_VERSION=设备型号(如: gfx906对应9.0.6;gfx928对应9.2.8)
export LIBRARY_PATH=/opt/dtk/llvm/lib/clang/15.0.0/lib/linux/:$LIBRARY_PATH
export HIP_VISIBLE_DEVICES=所有设备号(0,1,2,3,4,5,6,...)/选择设备号
```
mashun1's avatar
v1  
mashun1 committed
36

xuxzh1's avatar
xuxzh1 committed
37
安装go
mashun1's avatar
v1  
mashun1 committed
38

xuxzh1's avatar
update  
xuxzh1 committed
39
40
41
42
43
44
45
46
47
```bash
wget https://go.dev/dl/go1.22.8.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.22.8.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

# 修改go下载源,提升速度(按需设置)
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
```
mashun1's avatar
v1  
mashun1 committed
48

xuxzh1's avatar
xuxzh1 committed
49
##### 运行编译
mashun1's avatar
v1  
mashun1 committed
50

xuxzh1's avatar
update  
xuxzh1 committed
51
52
```bash
make -j 16
xuxzh1's avatar
update  
xuxzh1 committed
53
export LD_LIBRARY_PATH=/path/to/ollama/llama/build/linux-amd64/runners/rocm:$LD_LIBRARY_PATH (path/to换成自己ollama路径)
xuxzh1's avatar
update  
xuxzh1 committed
54
55
go build .
```
mashun1's avatar
v1  
mashun1 committed
56

xuxzh1's avatar
xuxzh1 committed
57
## 验证
mashun1's avatar
v1  
mashun1 committed
58

xuxzh1's avatar
update  
xuxzh1 committed
59
60
61
62
```bash
./ollama serve  (选择可用设备,可通过上条命令输出结果查看)
./ollama run llama3.1
```
mashun1's avatar
v1  
mashun1 committed
63

xuxzh1's avatar
xuxzh1 committed
64
更多使用方式请参考[原项目](https://github.com/ollama/ollama)
mashun1's avatar
v1  
mashun1 committed
65

xuxzh1's avatar
xuxzh1 committed
66
注意:每次运行前请检查环境变量`HSA_OVERRIDE_GFX_VERSION`是否正确设置。
mashun1's avatar
v1  
mashun1 committed
67

xuxzh1's avatar
xuxzh1 committed
68
## 参考资料
mashun1's avatar
v1  
mashun1 committed
69

xuxzh1's avatar
xuxzh1 committed
70
71
* https://github.com/ollama/ollama
* https://github.com/ggerganov/llama.cpp