运行容器镜像
运行容器镜像
LocalAI提供了多种镜像以支持不同的环境。这些镜像可在quay.io和Docker Hub上找到。
全功能镜像预配置了一套模型和后端,标准镜像则没有预配置任何模型。
对于NVIDIA显卡的GPU加速支持,请使用NVIDIA/CUDA镜像;如果您没有GPU,请使用CPU镜像。如果您有AMD或Mac Silicon,请查看构建部分。
硬件要求: LocalAI的硬件要求根据使用的模型大小和量化方法而有所不同。有关不同后端的性能基准,如llama.cpp
,请访问这个链接。rwkv
后端以其较低的资源配置而闻名。
全功能镜像
全功能镜像是一种预配置了模型和后端的镜像,可以充分利用几乎所有的LocalAI功能集。这些镜像适用于CPU和GPU环境。AIO镜像旨在易于使用,无需任何配置。模型配置可在此处找到这里,按大小分开。
在AIO镜像中,有以OpenAI模型名称配置的模型,但实际上是由开源模型支持的。以下是表格:
类别 | 模型名称 | 实际模型(CPU) | 实际模型(GPU) |
---|---|---|---|
文本生成 | gpt-4 | phi-2 | hermes-2-pro-mistral |
多模态视觉 | gpt-4-vision-preview | bakllava | llava-1.6-mistral |
图像生成 | stablediffusion | stablediffusion | dreamshaper-8 |
语音转文本 | whisper-1 | whisper with whisper-base model | <= 同上 |
文本转语音 | tts-1 | en-us-amy-low.onnx from rhasspy/piper | <= 同上 |
嵌入 | text-embedding-ada-002 | all-MiniLM-L6-v2 in Q4 | all-MiniLM-L6-v2 |
使用方法
选择CPU或GPU镜像,并使用Docker启动容器:
# CPU示例
docker run -p 8080:8080 --name local-ai -ti localai/localai:latest-aio-cpu
# 对于NVIDIA GPUs:
# docker run -p 8080:8080 --gpus all --name local-ai -ti localai/localai:latest-aio-gpu-nvidia-cuda-11
# docker run -p 8080:8080 --gpus all --name local-ai -ti localai/localai:latest-aio-gpu-nvidia-cuda-12
LocalAI将自动下载所有所需的模型,API将在localhost:8080上可用。
或者使用docker-compose文件:
version: "3.9"
services:
api:
image: localai/localai:latest-aio-cpu
# 对于特定版本:
# image: localai/localai:-aio-cpu
# 对于NVIDIA GPUs取消注释以下其中一个(cuda11或cuda12):
# image: localai/localai:-aio-gpu-nvidia-cuda-11
# image: localai/localai:-aio-gpu-nvidia-cuda-12
# image: localai/localai:latest-aio-gpu-nvidia-cuda-11
# image: localai/localai:latest-aio-gpu-nvidia-cuda-12
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/readyz"]
interval: 1m
timeout: 20m
retries: 5
ports:
- 8080:8080
environment:
- DEBUG=true
# ...
volumes:
- ./models:/build/models:cached
# 如果使用NVIDIA GPUs,取消注释以下部分
# deploy:
# resources:
# reservations:
# devices:
# - driver: nvidia
# count: 1
# capabilities: [gpu]
模型缓存: AIO镜像将在第一次运行时下载所需的模型(如果尚未存在),并将其存储在容器内的/build/models
中。AIO模型将随着AIO镜像的新版本自动更新。
您可以通过指定MODELS_PATH
环境变量(或--models-path
)来更改容器内的目录。
如果您想使用命名模型或本地目录,可以将其作为卷挂载到/build/models
:
docker run -p 8080:8080 --name local-ai -ti -v $PWD/models:/build/models localai/localai:latest-aio-cpu
或者关联一个卷:
docker volume create localai-models
docker run -p 8080:8080 --name local-ai -ti -v localai-models:/build/models localai/localai:latest-aio-cpu
可用的AIO镜像
描述 | Quay | Docker Hub |
---|---|---|
CPU的最新镜像 | quay.io/go-skynet/local-ai:latest-aio-cpu | localai/localai:latest-aio-cpu |
版本化的镜像(例如CPU) | quay.io/go-skynet/local-ai:-aio-cpu | localai/localai:-aio-cpu |
NVIDIA GPU(CUDA11)的最新镜像 | quay.io/go-skynet/local-ai:latest-aio-gpu-nvidia-cuda-11 | localai/localai:latest-aio-gpu-nvidia-cuda-11 |
NVIDIA GPU(CUDA12)的最新镜像 | quay.io/go-skynet/local-ai:latest-aio-gpu-nvidia-cuda-12 | localai/localai:latest-aio-gpu-nvidia-cuda-12 |
AMD GPU的最新镜像 | quay.io/go-skynet/local-ai:latest-aio-gpu-hipblas | localai/localai:latest-aio-gpu-hipblas |
Intel GPU(sycl f16)的最新镜像 | quay.io/go-skynet/local-ai:latest-aio-gpu-intel-f16 | localai/localai:latest-aio-gpu-intel-f16 |
Intel GPU(sycl f32)的最新镜像 | quay.io/go-skynet/local-ai:latest-aio-gpu-intel-f32 | localai/localai:latest-aio-gpu-intel-f32 |
可用的环境变量
AIO镜像继承了基础镜像和LocalAI环境的相同环境变量(可以通过调用--help
来检查)。然而,它支持仅从容器镜像中可用的附加环境变量
变量 | 默认值 | 描述 |
---|---|---|
PROFILE | 自动检测 | 模型的大小。可用:cpu ,gpu-8g |
MODELS | 自动检测 | 模型YAML配置文件的URI/URL列表(也见运行模型) |
标准容器镜像
标准容器镜像没有预安装模型。
镜像带有和不带有python依赖项。请注意,带有python依赖项的镜像更大(大约17GB)。
带有core
标签的镜像较小,不包含任何python依赖项。
描述 | Quay | Docker Hub |
---|---|---|
开发分支的最新镜像 | quay.io/go-skynet/local-ai:master | localai/localai:master |
最新标签 | quay.io/go-skynet/local-ai:latest-cpu | localai/localai:latest-cpu |
版本化镜像 | quay.io/go-skynet/local-ai: | localai/localai: |
包含FFMpeg的版本化镜像 | quay.io/go-skynet/local-ai:-ffmpeg | localai/localai:-ffmpeg |
包含FFMpeg,不带python的版本化镜像 | quay.io/go-skynet/local-ai:-ffmpeg-core | localai/localai:-ffmpeg-core |
# GPU Images CUDA 11
| Description | Quay | Docker Hub |
| --- | --- |-------------------------------------------------------------|
| Versioned image including FFMpeg | `quay.io/go-skynet/local-ai:-cublas-cuda11-ffmpeg` | `localai/localai:-cublas-cuda11-ffmpeg` |
| Versioned image including FFMpeg, no python | `quay.io/go-skynet/local-ai:-cublas-cuda11-ffmpeg-core` | `localai/localai:-cublas-cuda11-ffmpeg-core` |
# GPU Images CUDA 12
| Description | Quay | Docker Hub |
| --- | --- |-------------------------------------------------------------|
| Versioned image including FFMpeg | `quay.io/go-skynet/local-ai:-cublas-cuda12-ffmpeg` | `localai/localai:-cublas-cuda12-ffmpeg` |
| Versioned image including FFMpeg, no python | `quay.io/go-skynet/local-ai:-cublas-cuda12-ffmpeg-core` | `localai/localai:-cublas-cuda12-ffmpeg-core` |
# Intel GPU (sycl f16)
| Description | Quay | Docker Hub |
| --- | --- |-------------------------------------------------------------|
| Versioned image including FFMpeg | `quay.io/go-skynet/local-ai:-sycl-f16-ffmpeg` | `localai/localai:-sycl-f16-ffmpeg` |
| Versioned image including FFMpeg, no python | `quay.io/go-skynet/local-ai:-sycl-f16-ffmpeg-core` | `localai/localai:-sycl-f16-ffmpeg-core` |
# Intel GPU (sycl f32)
| Description | Quay | Docker Hub |
| --- | --- |-------------------------------------------------------------|
| Versioned image including FFMpeg | `quay.io/go-skynet/local-ai:-sycl-f32-ffmpeg` | `localai/localai:-sycl-f32-ffmpeg` |
| Versioned image including FFMpeg, no python | `quay.io/go-skynet/local-ai:-sycl-f32-ffmpeg-core` | `localai/localai:-sycl-f32-ffmpeg-core` |
# AMD GPU
| Description | Quay | Docker Hub |
| --- | --- |-------------------------------------------------------------|
| Versioned image including FFMpeg | `quay.io/go-skynet/local-ai:-hipblas-ffmpeg` | `localai/localai:-hipblas-ffmpeg` |
| Versioned image including FFMpeg, no python | `quay.io/go-skynet/local-ai:-hipblas-ffmpeg-core` | `localai/localai:-hipblas-ffmpeg-core` |
# Vulkan Images
| Description | Quay | Docker Hub |
| --- | --- |-------------------------------------------------------------|
| Versioned image including FFMpeg, no python | `quay.io/go-skynet/local-ai:-vulkan-fmpeg-core` | `localai/localai:-vulkan-fmpeg-core` |
# Nvidia Linux for tegra
These images are compatible with Nvidia ARM64 devices, such as the Jetson Nano, Jetson Xavier NX, and Jetson AGX Xavier. For more information, see the [Nvidia L4T guide].
| Description | Quay | Docker Hub |
| --- | --- |-------------------------------------------------------------|
| Versioned image | `quay.io/go-skynet/local-ai:-nvidia-l4t-arm64-core` | `localai/localai:-nvidia-l4t-arm64-core` |
## See Also
- [GPU acceleration]