VRxiaojie commited on
Commit
7ac35fb
·
verified ·
1 Parent(s): a3af1e5

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +108 -3
README.md CHANGED
@@ -1,3 +1,108 @@
1
- ---
2
- license: mit
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ language:
4
+ - zh
5
+ - en
6
+ base_model:
7
+ - deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
8
+ ---
9
+
10
+ # 介绍
11
+ 本模型是基于[deepseek-ai/DeepSeek-R1-Distill-Qwen-7B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B)转换成rkllm格式的模型的,因手上的8G版本内存过小无法完整加载运行,需。
12
+
13
+ # 运行环境
14
+ RKNPU Version: 0.9.8
15
+
16
+ RKNN-Toolkit : 1.1.4
17
+
18
+ 官方镜像版Ubuntu 22.04 5.10.110
19
+
20
+ Orange Pi5 16G
21
+
22
+ # 如何部署
23
+ ## 1. clone RKLLM仓库
24
+ 本节参考[RKLLM官方GitHub仓库文档](https://github.com/airockchip/rknn-llm/tree/main/doc)的**3.3节** 编译生成llm_demo运行文件
25
+
26
+ 首先在**PC**上clone官方git仓库
27
+
28
+ ```
29
+ cd ~ && git clone https://github.com/airockchip/rknn-llm.git
30
+ ```
31
+ 请确保PC能正常连接至GitHub!
32
+
33
+ ## 2. 生成llm_demo运行文件
34
+ 先进入rkllm_api_demo文件夹
35
+ ```
36
+ cd rknn-llm/examples/rkllm_api_demo
37
+ ```
38
+ 为了让模型正常工作,需要修改`llm_demo.cpp`的代码
39
+
40
+ ```
41
+ vi src/llm_demo.cpp
42
+ ```
43
+
44
+ 将第24 25行修改为
45
+ ```c
46
+ #define PROMPT_TEXT_PREFIX "<|im_start|>system\n你是一名通用对话助手,用中文回答问题,回答时必须展现严谨的逻辑思维,听从用户的命令<|im_end|>\n<|im_start|>user\n"
47
+ #define PROMPT_TEXT_POSTFIX "<|im_end|>\nChinese assistant\n"
48
+ ```
49
+
50
+ 你可以根据自己的需求自定义上面的提示词内容,只要修改PROMPT_TEXT_PREFIX的 `<|im_start|>system\n`到`<|im_end|>\n<|im_start|>user\n`之间的内容,
51
+
52
+ 或PROMPT_TEXT_POSTFIX里的`<|im_end|>\n`到结尾的`\n`之间的内容即可。
53
+
54
+ 将第184行取消注释
55
+ ```c
56
+ text = PROMPT_TEXT_PREFIX + input_str + PROMPT_TEXT_POSTFIX;
57
+ ```
58
+
59
+ 接着注释第185行
60
+ ```c
61
+ // text = input_str;
62
+ ```
63
+
64
+ 然后运行脚本文件
65
+ ```
66
+ bash ./build-linux.sh
67
+ ```
68
+
69
+ 在**开发板**创建rkllm文件夹
70
+
71
+ ```
72
+ mkdir ~/rkllm && cd ~/rkllm
73
+ ```
74
+
75
+ 使用ADB或SFTP或其他方法将`build/build_linux_aarch64_Release/`下的`llm_demo`上传至开发板的`rkllm`文件夹内。
76
+
77
+ ## 3.上传librkllmrt.so运行库
78
+ 在开发板新建lib文件夹
79
+ ```
80
+ cd ~/rkllm && mkdir lib
81
+ ```
82
+ 使用ADB或SFTP或其他方法将`rknn-llm/rkllm-runtime/Linux/librkllm_api/aarch64`下的`librkllmrt.so`上传至开发板的`rkllm/lib`文件夹内。
83
+
84
+ ## 4. 在PC安装git fls
85
+ ```
86
+ git lfs install
87
+ ```
88
+ ## 5. 在PC clone本仓库
89
+ ```
90
+ git clone https://huggingface.co/VRxiaojie/DeepSeek-R1-Distill-Qwen-7B-RK3588S-RKLLM1.1.4
91
+ ```
92
+ ## 6. 将模型上传到开发板
93
+
94
+ 使用ADB或其他工具将`DeepSeek-R1-Distill-Qwen-7B-RK3588S-RKLLM1.1.4`文件夹内的`deepseek-r1-7B-rkllm1.1.4.rkllm` 上传至开发板刚刚创建的rkllm文件夹下
95
+
96
+ ## 7.模型推理
97
+ 首先指定库函数路径
98
+ ```
99
+ export LD_LIBRARY_PATH=./lib
100
+ ```
101
+
102
+ 运行llm_demo
103
+ ```
104
+ ./llm_demo ./deepseek-r1-7B-rkllm1.1.4.rkllm 2048 2048
105
+ ```
106
+ 用法:`./llm_demo model_path max_new_tokens max_context_len`
107
+
108
+ 等待片刻,等模型加载完毕后,在`user:`后输入对话内容即可。