一、前言:
继之前把rkllm方式的大模型案例:【幸狐Omni3576边缘计算套件试用体验】开发板基础体验:大模型和推流测试
跑起来之后,一直想着搞一搞server模式,然后翻阅文档中发现官方已经提供了,先把测试记录贴上来。
二、步骤
官方自带的rknn服务端案例位于rknn-llm-main/examples/rkllm_server_demo/:

首先把rknn_server_demo拷贝或发送到开发板中,然后创建python的虚拟环境,进入虚拟环境,下载flask库:

然后运行demo:
** python3 flask_server.p y --rkllm_model_path /DeepSeek/DeepSeek_R1_Distill/DeepSeek-R1-Distill-Qwen-1.5 B_FP16_RK3576.rkllm --target_platform rk3576**
运行成功后如下图:

然后可以开启另一个窗口,运行chat_rknn_server.py即可,注意:运行前要修改一下代码里面关于server_url的内容,这里,我因为在本机上运行,所以用localhost,如果是在别的机器上,就要写板卡的地址了:

运行成功,这下离我的本地版小智又近一步啦


三、然后是带界面方式
**然后体验一下带界面的方式,首先安装gradio:**pip install gradio


然后运行gradio的demo就行:
python3 gradio_server.py --rkllm_model_path /DeepSeek/DeepSeek_R1_Distill/DeepSeek-R1-Distill-Qwen-1.5B_W4A16G128_RK3576.rkllm --target_platform rk3576

然后启动成功后打开网页就可以看到效果了,目前原生的demo界面比较简陋,等有时间改个好看的界面出来:

问点问题测试一下吧:

回了一堆不知道是啥玩应儿,猜想会不会字符编码的问题,兴许通过网页的方式,字符编码错乱了呢,用英语问问看:

感觉还是显示得有点奇怪,看一下后台:

后台挺正常的,到网页上就变样了.
打开gradio_server.py源码,看到提示词就明白了,这啥乱八七糟的,怪不得出问题,改改改:


改完再运行,就正常多了:

一本正经胡说八道:

看来还得运行更高级的模型才行,试试7B吧,正好发现rk官方发布了7B模型,下载来试试看.
四、运行官方的7B模型
下载地址:https://meta.box.lenovo.com/v/link/view/ad7482f6712844b48902f07287ed3359 口令:rkllm

把模型下载之后拷到板子上,然后加载一下,随便问了个问题:



感觉还是有点胡说八道啊,而且运行过程中还有异常抛出,是不是国外的名著不太清楚,问个中国的.


还是会有错误爆出,而且回答都是错的,说射雕英雄传是古龙的,唉..
而且问题的原因有点像是运算过程中抛异常导致的丢内容
再次使用server_flask模式看看:

还是不太理想,回头再看看具体原因吧.
五、尝试自行转换模型
因为我用的是8+64G的版本,所以这里大胆采用8B模型,到HuggingFace的镜像站去下载8B模型:
https://hf-mirror.com/deepseek-ai/DeepSeek-R1-Distill-Llama-8B/tree/main
git clone https://hf-mirror.com/deepseek-ai/DeepSeek-R1-Distill-Llama-8B

下载完之后,用RKToolKit转化成rknn格式:
首先安装rkllmToolkit工具:

执行导入命令没有出错,安装成功

然后还要更新内核的npu驱动,要0.9.8以上:

而我的板子,用的最新的202503版本固件,还是0.9.7,GG啦

**来吧,编内核吧!!**下一篇走起