README.md 1.94 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
36
```bash
export AMDGPU_TARGETS=当前设备型号(如:gfx906,gfx928等)
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
37

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

xuxzh1's avatar
update  
xuxzh1 committed
40
41
42
43
44
45
46
47
48
```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
49

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

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

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

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

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

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

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

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