实现思路和步骤
移植轻量级LLM模型推理框架InferLLM到OpenHarmony标准系统,编译出能在OpenHarmony运行的二进制产物。(InferLLM 是一个简单高效的 LLM CPU 推理框架,可以本地部署 LLM 中的量化模型)
使用OpenHarmony NDK来编译OpenHarmony上的InferLLM可执行文件(具体使用OpenHarmony lycium 交叉编译框架,然后编写一些脚本。然后把其存放在tpc_c_cplusplusSIG仓库。)
在DAYU200上本地部署大语言模型
编译获取InferLLM三方库编译产物
下载OpenHarmony sdk,下载地址:
http://ci.openharmony.cn/workbench/cicd/dailybuild/dailyList
下载本仓库
获取InferLLM三方库头文件及生成的库
在tpc_c_cplusplus/thirdparty/InferLLM/目录下会生成InferLLM-405d866e4c11b884a8072b4b30659c63555be41d目录,该目录下存在已编译完成的32位和64位三方库。(相关编译结果不会被打包进入lycium目录下的usr目录)。
将编译产物和模型文件推送至开发板运行
- 下载模型文件:https://huggingface.co/kewin4933/InferLLM-Model/tree/main
- 将编译InferLLM生成的llama可执行文件、OpenHarmony sdk中的libc++_shared.so、下载好的模型文件chinese-alpaca-7b-q4.bin 打包成文件夹 llama_file
移植InferLLM三方库在OpenHarmmony设备rk3568上部署大语言模型实现人机对话。最后运行效果有些慢,跳出人机对话框也有些慢,请耐心等待。