README copy.md 2.21 KB
Newer Older
xuxzh1's avatar
update  
xuxzh1 committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# <div align="center"><strong>Ollama</strong></div>

## 简介

1 Ollama是以llama.cpp为后端的前端大模型推理框架,可快速部署主流模型。

## 安装

### 1、使用dockerfile方式安装

直接下载本仓库中的`v0.3.5`分支,然后执行`docker build xxxxx`相关命令(具体需自行查阅相关资料)。

如遇到卡数检测错误,请参考 https://developer.hpccube.com/codes/OpenDAS/ollama/-/issues/1 ,也可以提前进行修复。

### 2、使用源码编译方式安装(推荐)

#### 环境准备

##### Docker

    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}


1、下载源码

    git clone -b v0.3.5 http://developer.sourcefind.cn/codes/OpenDAS/ollama.git --depth=1
    cd ollama

2、安装依赖包

    cd llm/llama.cpp
    pip install -r requirements.txt

#### 编译

##### 环境设置
    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,...)/选择设备号

安装go

    cd ../..
    tar -C /usr/local -xzf go1.22.3.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

##### 运行编译

    cd llm/generate && bash gen_linux.sh
    cd ../.. && go build

## 验证

    ./ollama serve  (选择可用设备,可通过上条命令输出结果查看)
    ./ollama run llama3.1

更多使用方式请参考[原项目](https://github.com/ollama/ollama)

注意:每次运行前请检查环境变量`HSA_OVERRIDE_GFX_VERSION`是否正确设置。

## 参考资料

* https://github.com/ollama/ollama
* https://github.com/ggerganov/llama.cpp