README.md 1.76 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
##### 安装go
mashun1's avatar
v1  
mashun1 committed
31

xuxzh1's avatar
update  
xuxzh1 committed
32
33
34
35
36
37
38
39
```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 GOPROXY=https://goproxy.cn,direct
```
mashun1's avatar
v1  
mashun1 committed
40

xuxzh1's avatar
xuxzh1 committed
41
##### 运行编译
mashun1's avatar
v1  
mashun1 committed
42

xuxzh1's avatar
update  
xuxzh1 committed
43
```bash
xuxzh1's avatar
xuxzh1 committed
44
export LIBRARY_PATH=/opt/dtk/lib:$LIBRARY_PATH
xuxzh1's avatar
update  
xuxzh1 committed
45
46
47
make -j 16
go build .
```
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
```bash
xuxzh1's avatar
xuxzh1 committed
52
53
54
export HSA_OVERRIDE_GFX_VERSION=设备型号(如: gfx906对应9.0.6;gfx928对应9.2.8)
export LD_LIBRARY_PATH=/path/to/ollama/llama/build/linux-amd64/runners/rocm:$LD_LIBRARY_PATH (path/to换成到自己ollama路径)
export HIP_VISIBLE_DEVICES=所有设备号(0,1,2,3,4,5,6,...)/选择设备号
xuxzh1's avatar
update  
xuxzh1 committed
55
56
57
./ollama serve  (选择可用设备,可通过上条命令输出结果查看)
./ollama run llama3.1
```
mashun1's avatar
v1  
mashun1 committed
58

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

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

xuxzh1's avatar
xuxzh1 committed
63
## 参考资料
mashun1's avatar
v1  
mashun1 committed
64

xuxzh1's avatar
xuxzh1 committed
65
* https://github.com/ollama/ollama