百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

手机上也可以快速部署大模型,创建本地AI助理,实现无网络AI聊天

nanshan 2025-04-26 19:49 13 浏览 0 评论

前言:本文教你在电脑和手机上安装ollama,通过ollama部署搭建本地大模型,完成本地AI Agent助理的搭建。

一、前言介绍

7月16日- H2O.AI最近开源了两个可以在智能手机设备上运行的大模型(LLM):h2o-danube3-4b-base和h2o-danube3-4b-chat。这两个模型都是在开源的[H2O LLM Studio]上进行训练和微调,其中带base后缀的为基础模型,chat后缀是针对聊天场景进行微调的模型。H2O-Danube技术对Llama2开源模型结构的调整后把参数压缩到4b,使用Mistral tokenizer技术把词汇量压缩到32,000,模型到上下文长度为8,192。

7月18日- OpenAI宣布免费对所有人开放GPT-4o mini,作为 GPT-3.5 Turbo的平替,OpenAI号称是其最具性价比的小型模型。其 API 价格每百万输入 token 仅为 15 美分,比 GPT-3.5 Turbo 便宜 60% 以上。

7月18日 -OpenAI开发min的同一天,mistral.ai联合英伟达打造的小型模型Mistral NeMo开源。参数量为 120 亿(12B),上下文窗口为 128k,在Apache 2.0许可下发布。

仅仅几天,就开源了多个大语言模型。可以看出,大模型的竞争已经进入到白日化,而轻量化、隐私保护变得尤为重要,这样它们可以在移动设备上进行私有化部署。设想一个AI助手,它能够深入分析你的各种数据,并且完全在你的设备上运行,无需将数据传输到网络中,这无疑会极大提升用户对其的信任度。相比之下,那些仅存在于企业云端的AI,尽管功能更为强大,但在安全性和可靠性方面却可能存在隐患。

那么,如何在手机上部署本地化大模型呢?本文将手把手教完成整个过程的部署,让你无时无刻的体验AI带来的超炫体验。

二、电脑部署

部署之前我们不得不说说开源大模型管理工具Ollama,Ollama几乎支持所有的开源模型,包括最新出来的mathstral模型:

Ollama开源代码如下:

https://github.com/ollama/ollama

Ollama工具支持在Windows、MacOS和Linux、docker虚拟机等系统上运行,也支持Library(js/python)的方式使用,非常的强大、灵活。在windows上部署很简单。

(1)下载Ollama.exe安装

https://ollama.com/download/OllamaSetup.exe

(2)设置环境变量

C:\Users\xx\AppData\Local\Programs\Ollama

(3)下载大模型

下面的命令可以下载,llama3 8B和小模型mathstral

ollama list
ollama run llama3
ollama run mathstral

(4)部署AI助理:open-webui(这里推荐这个)

git clone https://github.com/open-webui/open-webui
cd open-webui
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

(5)运行网页

登录网址:http://localhost:3000/,然后选择本地模型,然后就可以对话聊天了。

三、手机部署

在Android手机上部署大模型,原理和电脑一样,不同的地方手机需要一个可以运行Linux命令的环境。所以手机部署大模型,我们用到两个app,一个可以运行Linux命令的APP为:Ternux,另一个可以运行大模型的前端应用APP:maid

手机配置情况:

项目

配置情况

手机型号

ROG phone5

Android版本

Android11

CPU

2.8GHz * 8核

Memory

12GB

存储空间

512GB

(1)下载安装开源APP:Ternux。下载地址为

https://github.com/termux/termux-app/releases

安装Ternux后的界面如下

(2)安装Linux环境:在Termux中使用proot-distro安装一个Linux系统。



// first install proot-distro
pkg install proot-distro
//using proot-distro install debian os system
proot-distro install debian
// login
proot-distro login debian

(3)安装Ollama:使用Termux安装Ollama,Linux命令如下:

curl -fsSL https://ollama.com/install.sh | sh #安装ollama
ollama -v #版本情况
nohup ollama serve &   #后台运行ollama服务,这样就可以通过ollama命令运行大模型
ollama run mathstral   #运行大模型,如果不存在,则下载此大模型


(4)安装客户端应用
:maid-android-arm64-v8a.apk

https://github.com/Mobile-Artificial-Intelligence/maid

(5)配置maid选择大模型:

Ollama+mathstral:latest(模型),之后在手机离线状态下,我们依然可以和本地AI Agent进行对话了。


四、总结

本文通过在PC侧和手机侧使用Ollama部署本地化大模型,同时还搭建本地AI助理应用,来介绍了AI大模型的使用的一些基本思路方法。

优势:

(1)本文介绍的工具,均为开源工具,我们可以很方便的修改或者定制化自己的产品。

(2)通过Ollama可以很方便在手机或者PC搭建一个CS架构的AI本地化大模型,一键安装,命令简单。

(3)Ollama相当于一个大模型管理和服务工具。通过Ollama部署之后,我们可以安装不同的UI来访问本地化的AI大模型。

不足之处:

(1)在手机侧无法很好利用GPU和DSP等硬件资源,导致模型运行速度比较卡顿,体验上还有很大优化空间。

(2)maid中文prompt输入,回答输出依然是英文,中文的支持还需要定制化修改,幸亏maid为开源的软件,用户可以自己定制化自己的语言。

(3)手机侧需要通过Termux模拟工具来安装Ollama,当前还没有能直接安装在手机上的Ollama应用。

参考文章:《ollama-open-source-llms-anywhere》https://www.exxactcorp.com/blog/deep-learning/ollama-open-source-llms-anywhere


敲码不易,欢迎转发和点赞!

相关推荐

0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)

文档编写目的在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。环境介绍:...

ARM64 平台基于 openEuler + iSula 环境部署 Kubernetes

为什么要在arm64平台上部署Kubernetes,而且还是鲲鹏920的架构。说来话长。。。此处省略5000字。介绍下系统信息;o架构:鲲鹏920(Kunpeng920)oOS:ope...

生产环境starrocks 3.1存算一体集群部署

集群规划FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。BE:节点负责数据存储和SQL执行。>3节点。CN:无存储功能能的BE。环境准备CPU检查JDK...

在CentOS上添加swap虚拟内存并设置优先级

现如今很多云服务器都会自己配置好虚拟内存,当然也有很多没有配置虚拟内存的,虚拟内存可以让我们的低配服务器使用更多的内存,可以减少很多硬件成本,比如我们运行很多服务的时候,内存常常会满,当配置了虚拟内存...

国产深度(deepin)操作系统优化指南

1.升级内核随着deepin版本的更新,会自动升级系统内核,但是我们依旧可以通过命令行手动升级内核,以获取更好的性能和更多的硬件支持。具体操作:-添加PPAs使用以下命令添加PPAs:```...

postgresql-15.4 多节点主从(读写分离)

1、下载软件[root@TX-CN-PostgreSQL01-252software]#wgethttps://ftp.postgresql.org/pub/source/v15.4/postg...

Docker 容器 Java 服务内存与 GC 优化实施方案

一、设置Docker容器内存限制(生产环境建议)1.查看宿主机可用内存bashfree-h#示例输出(假设宿主机剩余16GB可用内存)#Mem:64G...

虚拟内存设置、解决linux内存不够问题

虚拟内存设置(解决linux内存不够情况)背景介绍  Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...

Elasticsearch性能调优(5):服务器配置选择

在选择elasticsearch服务器时,要尽可能地选择与当前业务量相匹配的服务器。如果服务器配置太低,则意味着需要更多的节点来满足需求,一个集群的节点太多时会增加集群管理的成本。如果服务器配置太高,...

Es如何落地

一、配置准备节点类型CPU内存硬盘网络机器数操作系统data节点16C64G2000G本地SSD所有es同一可用区3(ecs)Centos7master节点2C8G200G云SSD所有es同一可用区...

针对Linux内存管理知识学习总结

现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内...

MySQL进阶之性能优化

概述MySQL的性能优化,包括了服务器硬件优化、操作系统的优化、MySQL数据库配置优化、数据库表设计的优化、SQL语句优化等5个方面的优化。在进行优化之前,需要先掌握性能分析的思路和方法,找出问题,...

Linux Cgroups(Control Groups)原理

LinuxCgroups(ControlGroups)是内核提供的资源分配、限制和监控机制,通过层级化进程分组实现资源的精细化控制。以下从核心原理、操作示例和版本演进三方面详细分析:一、核心原理与...

linux 常用性能优化参数及理解

1.优化内核相关参数配置文件/etc/sysctl.conf配置方法直接将参数添加进文件每条一行.sysctl-a可以查看默认配置sysctl-p执行并检测是否有错误例如设置错了参数:[roo...

如何在 Linux 中使用 Sysctl 命令?

sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...

取消回复欢迎 发表评论: