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

零成本本地化搭建开源AI神器LocalAI支持CPU推理运行部署方案

文章目录

    • 前言
    • 1. Docker部署
    • 2. 简单使用演示
    • 3. 安装cpolar内网穿透
    • 4. 配置公网地址
    • 5. 配置固定公网地址

前言

嘿,小伙伴们!今天给大家带来一个超酷的黑科技——LocalAI。没错,你没听错,就是那个能在你的个人电脑上运行大型语言模型、生成图像和音频的神奇工具!而且,这一切都不需要你砸锅卖铁去买昂贵的GPU,消费级硬件就能轻松搞定。更重要的是,结合cpolar内网穿透神器,无论你在世界的哪个角落,都能随时远程控制AI项目。是不是感觉瞬间高大上了?快来跟我一起探索这个宝藏工具吧!

image-20250107161115378

【视频教程】

支持CPU推理运行的开源AI神器LocalAI本地安装与远程使用教程

1. Docker部署

本例使用Ubuntu 22.04进行演示,使用Docker进行部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

安装好Docker后,打开终端执行这行命令启动容器即可:

sudo docker run -ti --name local-ai -p 8080:8080 localai/localai:latest-cpu

这里使用的镜像是仅使用CPU来运行的镜像,如果大家有Nvidia显卡的好GPU,也可以使用下方命令拉取支持N卡的镜像来运行容器:

sudo docker run -ti --name local-ai -p 8080:8080 --gpus all localai/localai:latest-gpu-nvidia-cuda-12

更多项目配置与使用详情大家也可以访问作者的github主页进行查看:https://github.com/mudler/LocalAI

2. 简单使用演示

容器启动后,我们在Ubuntu中使用浏览器访问 http://localhost:8080 即可打开LocalAI的Web UI页面:

image-20250107150311522

能看到页面中央提示我们现在还没有添加大模型,我们可以点击Gallery,在跳转页面选择一个大模型:

image-20250107151137003

可以看到在这个界面中有600多个大模型,并且可以根据用途标签(文字转语音、图片生成、文章生成等等)进行筛选或者在下方输入框搜索指定的模型:

1736234546248

我这里以添加llama-3.2-1b模型来进行演示:点击install按钮安装等待完成即可

image-20250107151337786

image-20250107151539442

image-20250107151705300

安装完成后,点击页面上方导航条中的HOME回到主页即可发现刚刚添加的llama-3.2模型:

image-20250107153151174

想要使用这个AI大模型,点击上方导航中的chat即可与它聊天了:

image-20250107153311605

点击右侧的模型选择,下拉框中会显示你已经安装的大模型:

image-20250107153543150

目前我只安装了这一个,如果想继续安装其他大模型,可以点击页面上方导航栏中的Models进行选择:(跳转的就是首次挑选模型安装的那个页面)

image-20250107153714760

3. 安装cpolar内网穿透

不过我们目前只能在本地局域网内访问刚刚部署的LocalAI来使用AI大模型聊天,如果想不在同一局域网内时,也能在外部网络环境使用手机、平板、电脑等设备远程访问与使用它,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问的需求。无需公网IP,也不用设置路由器那么麻烦。

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

img

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

img

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

4. 配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: localai ,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8080
  • 域名类型:随机域名
  • 地区:选择China Top

点击创建:

image-20250107155748353

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在浏览器中访问即可。

image-20250107160010472

如图所示,现在就已经成功实现使用公网地址异地远程访问本地部署的LocalAI来用AI大模型聊天啦!

image-20250107160149458

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期使用LocalAI,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

5. 配置固定公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,我这里演示使用的是mylocal,大家可以自定义。填写备注信息,点击保留。

image-20250107160432921

保留成功后复制保留的二级子域名地址:

image-20250107160503136

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道localai,点击右侧的编辑

image-20250107160552136

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20250107160647570

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20250107160726385

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问本地部署的LocalAI Web UI页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20250107160928361

怎么样,小伙伴们?有了LocalAI和cpolar的强强联手,你再也不用担心被昂贵的硬件束缚住了。随时随地开启你的AI之旅,是不是特别给力?如果你在尝试过程中遇到了什么难题或者有什么独门秘籍,记得在评论区留言哦,让我们一起交流心得、共同成长!最后别忘了点赞关注,更多好玩的黑科技等着你发现呢!

相关文章:

零成本本地化搭建开源AI神器LocalAI支持CPU推理运行部署方案

文章目录 前言1. Docker部署2. 简单使用演示3. 安装cpolar内网穿透4. 配置公网地址5. 配置固定公网地址 前言 嘿,小伙伴们!今天给大家带来一个超酷的黑科技——LocalAI。没错,你没听错,就是那个能在你的个人电脑上运行大型语言模…...

Visual Studio Code 基本使用指南

Visual Studio Code(简称 VSCode)是一款由微软开发的免费、开源、跨平台的代码编辑器,凭借其轻量级设计、丰富的插件生态和强大的功能,成为全球开发者的首选工具。本文将从安装配置到核心功能,全面解析 VSCode 的基本使…...

git使用命令总结

文章目录 Git 复制创建提交步骤Git 全局设置:创建 git 仓库:已有仓库? 遇到问题解决办法:问题一先git pull一下,具体流程为以下几步: 详细步骤 Git 复制 git clone -b RobotModelSetting/develop https://gitlab.123/PROJECT/123.git创建提…...

内容中台的核心架构是什么?

模块化架构设计解析 内容中台的模块化架构通过分层解耦实现灵活扩展,其核心由基础资源层、能力服务层与业务应用层构成。基础层以统一数据治理体系为支撑,通过标准化接口实现结构化与非结构化数据的统一存储,例如Baklib采用分布式存储架构保…...

【小白向】Ubuntu|VMware 新建虚拟机后打开 SSH 服务、在主机上安装vscode并连接、配置 git 的 ssh

常常有人问VMware-Tools装了也复制粘贴不了怎么办,这个东西影响因素太多了,具体解决办法你们可以参考一下:【经验】VMware|虚拟机只能使用鼠标无法使用键盘、装不了或装了VMware-Tools无法复制粘贴的可能解决办法_增强型键盘驱动程…...

深度学习 bert与Transformer的区别联系

BERT(Bidirectional Encoder Representations from Transformers)和Transformer都是现代自然语言处理(NLP)中的重要概念,但它们代表不同的层面。理解这两者之间的区别与联系有助于更好地掌握它们在NLP任务中的应用。 …...

bootloader相关部分

简单说明 程序烧录的方式主要有ICP,ISP,IAP 其中ICP就是常用的jlink等工具 ISP就是利用MCU自带的一些特殊引脚烧录,比如uart IAP就是利用用户写的bootloader代码烧录 bootloader主要分为三层,厂家出厂的bootrom ,用户自己写的bootloader,…...

idea cpu干到100%的解决方法?

一、环境信息 idea版本: IntelliJ IDEA 2024.1.7 (Ultimate Edition) jdk版本: 1.8 操作系统版本: win10 二、解决办法 Help >> Change Memory Settings设置成2048M后重启idea 三、说明 idea将cpu打满后电脑会相当卡顿,Change Memory Settings后idea内…...

【 Fail2ban 使用教程】

Fail2ban 使用教程 1. 安装 Fail2ban2. 配置 Fail2ban2.1 创建 jail.local 文件2.2 基本配置参数说明2.3 配置具体服务的监控规则2.3.1 SSH 服务2.3.2 Apache 服务 3. 启动和管理 Fail2ban3.1 启动 Fail2ban 服务3.2 设置 Fail2ban 开机自启3.3 检查 Fail2ban 服务状态3.4 重新…...

AI+视频监控电力巡检:EasyCVR视频中台方案如何赋能电力行业智能化转型

随着电力行业的快速发展,电力设施的安全性、稳定性和运维效率变得至关重要。传统视频监控系统在实时性、智能化及多系统协同等方面面临严峻挑战。EasyCVR视频中台解决方案作为一种先进的技术手段,在电力行业中得到了广泛应用,为电力设施的监控…...

C++从入门到入土(七)——多态

目录 前言 多态的概念 多态的定义 虚函数的介绍 虚函数的重写/覆盖 析构函数的重写 override和final关键字 纯虚函数和抽象类 重写/重载/隐藏总结 多态的原理 小结 前言 C一共有三个特性,封装、继承和多态,在前面的文章中,我们分别…...

新闻网页信息抽取

1. 网页信息抽取 问题定义:对新闻网页(输入为HTML)提取结构化信息,包括标题、发布时间、作者、正文、图片等。 动机:由于网页(大多数为HTML格式)通常带有很多标签、样式、脚本等信息&#xff0…...

MySQL中有哪些索引

1,B-Tree索引:常见的索引类型 2,哈希索引:基于哈希表实现,只支持等值查询 ,只有Memory存储引擎和NDB Cluster存储引擎显示支持哈希索引 3,全文索引:可在字符列上创建(T…...

Docker 部署Spring boot + Vue(若依为例)

首先我们要在docker中安装好环境镜像 jdk. mysql. redis. nginx 镜像安装我们在上一篇文章中已说明,请大家自行查看。 下面我介绍部署步骤 部署后台jar 在你的工作目录下新建application 用来存放后台jar包 1.将打好的jar包上传 2.编写Dockerfile文件&#…...

PDF文件里到底有什么?

PDF 文档结构由多个组件组成,这些组件决定了文本、图像和其他元素的存储和显示方式。PDF 是一种二进制文件格式,这意味着您无法在文本编辑器中直接编辑 PDF 文件。添加或删除一个字符都可能导致整个文件损坏! PDF 文件结构 理解 PDF 文档结…...

FANUC机器人几种常用的通讯网络及接口

FANUC机器人几种常用的通讯网络及接口 Devicenet 网络通讯接口,接口为5针线 (规定用的机架为 81-84) PROFIBUS 网络通讯接口,针脚为2针(规定用的机架为 67) Intemet 网络通讯接口(常用的网线接口&#xf…...

实用插件分享:@plugin-web-update-notification/vite 的使用指南

实用插件分享:plugin-web-update-notification/vite 的使用指南 在前端开发的过程中,及时告知用户网页有更新是提升用户体验的一个重要方面。plugin-web-update-notification/vite 就是一款能够轻松实现网页更新通知功能的插件,下面就来详细…...

k8s 修改节点驱逐阈值

编辑 /var/lib/kubelet/config.yaml 文件 kind: KubeletConfiguration evictionHard:nodefs.available: "5%" # 降低磁盘压力触发阈值imagefs.available: "10%" # 调整容器镜像存储触发阈值nodefs.inodesFree: "3%...

IEC61850标准下MMS 缓存报告控制块 ResvTms详细解析

IEC61850标准是电力系统自动化领域唯一的全球通用标准。IEC61850通过标准的实现,使得智能变电站的工程实施变得规范、统一和透明,这大大提高了变电站自动化系统的技术水平和安全稳定运行水平。 在 IEC61850 标准体系中,ResvTms(r…...

解数独 (leetcode 37

leetcode系列 文章目录 一、核心操作二、外层配合操作三、核心模式代码总结 使用二维递归,不管在哪一层都对矩阵进行全部遍历 一、核心操作 建立判断是否有效函数,对 i j 位置是否能放入k进行判断,由于此时还没有放置k,则可以直…...

人工智能与人的智能,思维模型分享【2】沉没成本

**沉没成本(Sunk Cost)** 是指已经发生且无法收回的成本(时间、金钱、精力等)。沉没成本思维模型的核心原则是:理性决策应基于未来可能的收益与成本,而非被已经无法改变的历史投入所影响。陷入沉没成本陷阱…...

Redis 部署方式有哪些

以下是 Redis 主从复制和分布式部署的详细方法和步骤: 1.Redis 主从复制部署 架构 主从复制是 Redis 最基本的分布式机制,通过将数据从主节点(Master)复制到多个从节点(Slave),实现读写分离和数…...

艾尔登复刻Ep1——客户端制作、场景切换、网络控制

需要添加的插件内容 Netcode for GameObjects:是一个为 Unity 游戏开发提供高级网络功能的 SDK。它的主要作用是允许开发者在其 GameObject 和 MonoBehaviour 工作流中集成网络功能,并且可以与多种底层传输层协议兼容。 具体内容请看:https:…...

【视频】ffmpeg、Nginx搭建RTMP、HLS服务器

1、源码安装Nginx 1)源码下载 因为要使用Nginx的模块nginx-rtmp-module,所以要下载 nginx 和 nginx-rtmp-module 的源码。 下载地址: http://nginx.org/en/download.html https://github.com/arut/nginx-rtmp-module/tags2)解压、配置 在同一个目录中解压 nginx 和 nginx…...

基于YOLO11深度学习的遥感视角地面房屋建筑检测分割与分析系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…...

Java中常见的PO、VO、DAO、BO、DO、DTO、POJO、Query类解释(通俗易懂)

文章目录 先点击收藏和点赞,切勿白嫖,感谢一丶PO(persistant object)持久对象二丶VO(value object)值对象三丶DAO(Data Access Objects) 数据访问对象接口四丶BO/DO(Business Object) 业务对象层五丶DTO(Data Transfer Object) 数据传输对象六丶POJO(Plain Old Java Objects) 简…...

完美解决ElementUI中树形结构table勾选问题

完美解决ElementUI中树形结构table勾选问题 实现功能效果图全选取消全选取消父节点取消某个子节点 关键代码 实现功能 1. 全选/取消全选,更新所有节点勾选状态 2. 勾选父/子节点,子/父节点状态和全选框状态更新 效果图 全选 取消全选 取消父节点 取消某…...

laravel项目中使用FFMPeg 剪裁视频

# 运行环境需安装的软件 ffmpeg # 安装的扩展 pbmedia/laravel-ffmpeg: ^8.3 # 扩展文档 https://packagist.org/packages/pbmedia/laravel-ffmpeg # 引入的类 use FFMpeg\Coordinate\TimeCode; use FFMpeg\Format\Video\X264; use FFMpeg\Exception\RuntimeException; use …...

docker基本应用和相关指令

文章目录 概要镜像管理容器操作网络管理数据卷管理其他常用指令典型场景示例小结 概要 Docker的命令通常分为几个大类,比如镜像管理(images)、容器管理(containers)、网络(network)、数据卷&…...

文件解析漏洞靶场集锦详解

一、IIS解析漏洞 环境安装&#xff1a;windows2003iis6 1.目录解析 .asp文件夹中的任意文件都会被当做asp文件去执行 1.在iis6的网站根目录新建⼀个名为1.asp的文件 2. 在1.asp中新建⼀个jpg文件。内容为 <%now()%>asp代码 3.在外部浏览器中访问iis⽹站中的1.jpg 发现…...