localAI: 编译步骤说明
懒人通道
官网提供了懒人包,使用的时候不需要关注整个打包流程,,下面是官方的cuda示例,当然官方提供可选项很多,Available: cublas, openblas, clblas, metal,hipblas, sycl_f16, sycl_f32
docker中gpu使用方法https://localai.io/features/gpu-acceleration/,如果你需要使用其他加速设备,就需要手动编译这个项目了,官方提供了各种系统的编译方法https://localai.io/basics/build/#Acceleration
Ps:对于只需要部分功能的人来说,懒人包占用60G的空间,让我们有点寒暄
介绍
下面在介绍编译之前,我们先了解下LocalAi的架构
LocalAI这个项目架构集成了各种语言(C++,Golang,Python等)通过编写一套GRPC实现不同模型加速服务接入。 LocalAI 的所有组件可在 模型兼容性表查看
Oh, and let’s not forget the real MVP here—llama.cpp. Without this extraordinary piece of software, LocalAI wouldn’t even exist. So, a big shoutout to the community for making this magic happen!

Ps: 好奇怪的画风^(^
GPU设备
LocalAi官方提供可选项很多,比如: cublas, openblas, clblas, metal,hipblas, sycl_f16, sycl_f32,这些设备的支持方法你可以在这个页面找到https://localai.io/basics/build/#Acceleration
环境配置
LocalAI由于提供了Dockerfile,一些环境配置可以参考DockerFile,需要注意的是,如果你在本地安装,C++编译器的版本请自行确认,不同系统有所不同
如果你选用了docker环境编译,那么你需要注意,本地的gpu设备载入配置,同样不同的gpu设备载入方式也不太相同,这里选用nvidia设备
1、提前安装好docker-nvidia桥接依赖,一些错误的解决方法https://github.com/NVIDIA/nvidia-docker/issues/1243
2、配置docker-compose文件
version: '3.6'
services:
localai_cuda:
image: quay.io/go-skynet/local-ai:master-cublas-cuda12
build:
context: .
dockerfile: Dockerfile
ports:
- 8080:8080
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
environment:
- BUILD_TYPE=cublas
- DEBUG=true
- MODELS_PATH=/models
- 'NVIDIA_VISIBLE_DEVICES=all'
- 'CUDA_VISIBLE_DEVICES=all'
- 'CUDA_DEVICE_POOL_GPU_OVERRIDE=1'
env_file:
- .env
volumes:
- ./models:/models:cached
- ./images/:/tmp/generated/images/
command: ["/usr/bin/local-ai" ]
3、在运行前,docker启动容器报错 Unknown runtime specified nvidia.这个错误出现,说明你没有配置runtime,参考https://www.cnblogs.com/luckforefforts/p/13642682.html
4、修改国内的ubuntu源,在Dockerfile合适的位置增加下面两行
RUN sed -i 's/http:\/\/archive.ubuntu.com/http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu/g' /etc/apt/sources.list
RUN apt-get clean
5、修改.env变量BUILD_TYPE值为cublas,说明见https://localai.io/basics/build/#Acceleration
6、执行编译 docker-compose up --build
localAI: 编译步骤说明的更多相关文章
- Linux-编译器gcc/g++编译步骤
gcc和g++现在是gnu中最主要和最流行的c&c++编译器.g++是c++的命令,以.cpp为主:对于c语言后缀名一般为.c,这时候命令换做gcc即可.编译器是根据gcc还是g++来确定是按 ...
- Android 源码编译 步骤
添加资源后编译步骤 1:lunch 112:mmm frameworks/base/core/res/生成Install: out/target/product/hammerhead/system/f ...
- zlib库VS2015编译步骤
[点击这里下载zlib1.2.8源码](http://zlib.net/zlib128.zip) [点击这里下载zlib1.2.8编译动态库](http://zlib.net/zlib128-dll. ...
- 腾讯开源项目phxpaxos的编译步骤
#paxos的一般编译流程在项目文档<中文详细编译手册>里面已经有介绍,这里重点介绍一下编译samples目录下的代码: #我的环境是ubuntu; #设置paxos根目录 phx_dir ...
- Android APK反编译步骤
反编译步骤 1.通过Android Killer 打开apk,自动开始分析 2.分析结束后,在分析好的工程上右键->打开方式->打开文件位置 在文件夹ProjectSrc中有文 ...
- R58的编译步骤f1选项v1.1版本
R58的编译步骤f1选项v1.1版本 2017/3/16 16:38 请严重注意: 编译全志R58的Android6.0.1的系统和其它系统有两个不同: 1.在执行pack打包之前,必须执行verit ...
- OpenSSL简单介绍及在Windows、Linux、Mac系统上的编译步骤
OpenSSL介绍:OpenSSL是一个强大的安全套接字层password库,囊括基本的password算法.经常使用的密钥和证书封装管理功能及SSL协议.并提供丰富的应用程序供測试或其他目的使用. ...
- webrtc所有平台下载编译步骤详细说明
webrtc所有平台下载编译步骤详细说明 1.安装depot tools Windows:国外下载:https://storage.googleapis.com/chrome-infra/depot_ ...
- linux 模块编译步骤(原)
linux 模块编译步骤(原) 博主推荐:<Linux命令模板Licote(原)> 本文将直接了当的带你进入linux的模块编译.当然在介绍的过程当中,我也会添加一些必要的注释,以便初学者 ...
- Java native代码编译步骤简书
Java native代码编译步骤简书 目的:防止java代码反编译获取密码算法 (1)编写实现类com.godlet.PasswordAuth.java (2)编译java代码javac Passw ...
随机推荐
- FreeRTOS简单内核实现5 阻塞延时
0.思考与回答 0.1.思考一 为什么 FreeRTOS简单内核实现3 任务管理 文章中实现的 RTOS 内核不能看起来并行运行呢? Task1 延时 100ms 之后执行 taskYIELD() 切 ...
- Vue聊天框自动滚动底部
原理:通过监听数据更新,将滚动的最大高度赋值给滚动条的最大高度,并等待页面更新完成后再将页面滚动到底部. 容器代码 watch监听 scrollTop: 距离最顶部高度 scrollHeight:滚动 ...
- Python中的常见方法
Python中有三种比较常见的方法类型,如类方法和静态方法,实例方法,他们是面向对象编程中重要的概念. 1.类方法 类方法是通过使用装饰器@classmethod来定义的,他的第一个参数是cls,指向 ...
- zabbix数据库
1. 安装MySQL 5.6 操作系统为CentOS7 X64 MySQL文件下载地址 http://dev.mysql.com/downloads/repo/yum/ 卸载已存在文件 rpm -qa ...
- 面试官:告诉我为什么static和transient关键字修饰的变量不能被序列化?
一.写在开头 在上一篇学习序列化的文章中我们提出了这样的一个问题: "如果在我的对象中,有些变量并不想被序列化应该怎么办呢?" 当时给的回答是:不想被序列化的变量我们可以使用tra ...
- cv2 判断图片是冷还是暖
把图片的颜色空间转为HSV H表示色调(下图横轴), 图片的平均H值可用于区分冷暖
- Linux C 读写超过2G的大文件 注意事项
背景 在项目中做大文件的增量读写,遇到了问题: fopen : Value too large for defined data type. 习惯性地根据这个提示查阅的有关资料显示: 1)工具链太老了 ...
- 请查收“国产化率认证报告”(100%)——RK3568J工业核心板
创龙科技RK3568J核心板获得"100%国产化"认证日前,创龙科技"国产化率100%认证"的核心板再添一员!RK3568J工业核心板(SOM-TL3568)获 ...
- yb课堂之用户注册登陆模块《六》
用户注册功能接口开发 注册接口开发 MD5加密工具类封装 UserMapper.xml <?xml version="1.0" encoding="UTF-8&qu ...
- LabVIEW的自定义按钮
下载几张图片: 比较好的 网站1:https://www.iconfont.cn/ 网站2:https://yesicon.app/ 选用windows风格按钮控件进行自定义, 自定义的图片分别放入这 ...