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 ...
随机推荐
- 链表中,LNode和* LinkList的理解
typedef struct LNode { int data; struct LNode* next; }LNode, * LinkList; 这是标准链表创建法. 简单的说,其中LNode和 * ...
- Android Framework:如何让 App 拿到Power key 值
Android app:如何让 App 拿到Power key 值 原文(有删改):https://blog.csdn.net/qq_37858386/article/details/10383566 ...
- 3568F-视频开发案例
- 3562-Linux系统使用手册
- Linux 命令指南
做这个东西有两个用处,一是初赛会考,二是考场上用 windows 哪里数组越界你都不知道直接 RE 爆炸. sudo -s 输入后填写密码获得管理员权限. cd 打开文件或者目录,用法是 cd 目录名 ...
- mobaXterm 查看密码
参考:MobaXterm中密码的查看方式 检查是否把密码保存到了注册表中 然后从https://github.com/HyperSine/how-does-MobaXterm-encrypt-pass ...
- HIVE从入门到精通------(1)hive的基本操作
1.开启hive 1.首先在master的/usr/local/soft/下启动hadoop: master : start-all.sh start-all.sh 2.在另一个master(2)上监 ...
- null 和 undefined 的区别?
null 表示一个对象被定义了,值为"空值":undefined 表示不存在这个值.(1)变量被声明了,但没有赋值时,就等于undefined. (2) 调用函数时,应该提供的参数 ...
- yolov5+deepsort+slowfast复现
1.运行环境 ubuntu 18.04.1 Cuda 11.5 Python 3.8.15 torch 1.10.1+cu113 torchvision 0.11.2+cu113 2.安装PyTorc ...
- Apache基于IP和端口
Apache基于IP 步骤1:添加并配置虚拟网卡 添加虚拟网卡:通常在虚拟机环境中,可以通过虚拟机软件(如VMware或VirtualBox)的网络设置来添加额外的网络适配器. 配置IP地址:编辑/e ...