README.md 2.01 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
xuxzh1 committed
15
16
17
    docker pull docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-py3.10-dtk24.04.3-ubuntu20.04
    
    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
mashun1 committed
18

xuxzh1's avatar
xuxzh1 committed
19
1、下载源码
mashun1's avatar
v1  
mashun1 committed
20

xuxzh1's avatar
update  
xuxzh1 committed
21
    git clone -b 0.4.7 http://developer.sourcefind.cn/codes/OpenDAS/ollama.git --depth=1
xuxzh1's avatar
xuxzh1 committed
22
    cd ollama
mashun1's avatar
v1  
mashun1 committed
23

xuxzh1's avatar
xuxzh1 committed
24
2、安装依赖包
mashun1's avatar
v1  
mashun1 committed
25

xuxzh1's avatar
xuxzh1 committed
26
27
    cd llm/llama.cpp
    pip install -r requirements.txt
mashun1's avatar
v1  
mashun1 committed
28

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

xuxzh1's avatar
xuxzh1 committed
31
32
33
34
35
##### 环境设置
    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
36

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

xuxzh1's avatar
update  
xuxzh1 committed
39
    wget https://go.dev/dl/go1.22.8.linux-amd64.tar.gz
xuxzh1's avatar
xuxzh1 committed
40
    cd ../..
xuxzh1's avatar
update  
xuxzh1 committed
41
    tar -C /usr/local -xzf go1.22.8.linux-amd64.tar.gz
xuxzh1's avatar
xuxzh1 committed
42
43
44
45
46
    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
47

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

xuxzh1's avatar
update  
xuxzh1 committed
50
51
52
    export LD_LIBRARY_PATH=/path/to/ollama/llama/build/linux-amd64/runners/rocm:$LD_LIBRARY_PATH
    make -j 16
    go build .
mashun1's avatar
v1  
mashun1 committed
53

xuxzh1's avatar
xuxzh1 committed
54
## 验证
mashun1's avatar
v1  
mashun1 committed
55

xuxzh1's avatar
xuxzh1 committed
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
66
* https://github.com/ollama/ollama
* https://github.com/ggerganov/llama.cpp