当前位置: 首页 > article >正文

OpenHarmony上运行Ollama玩转本地大模型

OpenHarmony上运行Ollama玩转本地大模型

开源仓库:https://gitee.com/OpenHarmony_rk_equipment_transplantation/OpenHarmony_Ollama/tree/master

OpenHarmony中c库使用的是musl,使用llvm开源项目的C ++ 标准库libc ++ 作为C++运行时库。所以想在OpenHarmony上运行ollama最快的方法就是补充ollama依赖的GNU C 库(glibc)GNU C++ 库(libstdc++)到开发板中去,这里采用这个方案。

开发环境:
1.ollama64位二进制
2.OpenHarmony arm64位镜像
3.3588开发板

1.首先获取ollama arm64二进制ollama-linux-arm64.tgz

https://github.com/ollama/ollama/releases

image.png

2.获取glibc 2.27以上版本的二进制,这里提取出来命令为glibc.tar.gz

https://archlinuxarm.org/packages/aarch64/glibc

image.png

3.获取OpenHarmony源码下面gcc/linux-x86/aarch64/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib下的所有so

cd gcc/linux-x86/aarch64/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc

tar -czvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.gz lib

4.将ollama-linux-arm64.tgzglibc.tar.gzgcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.gz全部推送到开发板data目录并且解压,复制到开发板lib目录

hdc file send gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.gz /data
hdc file send glibc.tar.gz /data
hdc file send ollama-linux-arm64.tgz /data
hdc shell  

cd data
tar -zxvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.gz
tar -zxvf glibc.tar.gz
tar -zxvf ollama-linux-arm64.tgz

mount -o remount,rw /
cd 
cp /data/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/* /lib

5.开启ollama服务

# 设置Ollama模型的下载位置
# export OLLAMA_MODELS=/data
# export LD_LIBRARY_PATH=/lib:$LD_LIBRARY_PATH
# mount -o remount,rw /
# cd data/bin
# ./ollama serve

6.新建另外一个hdc shell运行模型


# mount -o remount,rw /
# export LD_LIBRARY_PATH=/lib:$LD_LIBRARY_PATH
# cd data/bin

# 拉取qwen:0.5b模型
# ./ollama pull qwen:0.5b
# 启动模型
# ./ollama run qwen:0.5b

image.png


http://www.kler.cn/a/536271.html

相关文章:

  • MySQL - 字段内分组
  • camera光心检测算法
  • 32.日常算法
  • 括号生成(回溯法详解)
  • Spring的Bean的生命周期 笔记250206
  • 20240824 美团 笔试
  • React 与 Next.js
  • D. CGCDSSQ
  • 十三、Dockerfile 常用镜像创建
  • RabbitMQ业务场景面试题
  • yum 安装mysql
  • VDN 微服务架构搭建篇(三)基于 Nacos 的 Spring Cloud Gateway 动态路由管理
  • 如何使用iframe来渲染ThingsBoard仪表盘
  • LabVIEW与PLC交互
  • 【Spring】什么是Spring?
  • SAP物料账未分配差异-采购发票数量大于库存数量
  • 多无人机--强化学习
  • 20.责任链模式(Chain of Responsibility Pattern)
  • 搜索+图论1 练习答案+思路
  • 蓝桥算法基础2
  • EtherCAT帧捕获与帧结构分析
  • 基于Bootstrap + Java + Oracle实现的电商平台
  • DeepSeek图解10页PDF
  • STM32自学记录(八)
  • 【ArcGIS Pro 简介1】
  • Docker Desktop安装kubernetes时一直在Starting:Kubernetes failed to start