LocalAI 部署完全指引

Ollama 很好用,但是它只能用来跑 LLM 和 Embedding,但其实还有一类比较重要的模型是 Reranker,以及多模态模型的视觉和音频支持,这些 Ollama 都没法运行。本文则介绍一个能够运行上述模型的工具:LocalAI。

在开始之前

对于 LocalAI 此处不做过多介绍,它是一个与 Ollama 类似的大模型运行基座。相比于 Ollama,LocalAI 支持的模型种类更多,除 LLM 以外,还支持多模态、Reranker、图像生成。同时 LocalAI 提供一个不能算是强大但还算是能用的 WebUI 来方便你管理和运行模型。

本文所使用的安装环境为:Docker version 27.5.1 / Docker Compose version v2.32.4 / Nvidia Driver 550.120 / CUDA 12.4

本文仅介绍 Docker Compose 部署方式。关于怎样在 Docker 容器中支持 GPU 调用配置的步骤请参阅 Nvidia 显卡 Docker 配置指引

部署 LocalAI

使用以下 docker-compose.yaml 来运行 LocalAI,在开始之前请务必参阅 Nvidia 显卡 Docker 配置指引 完成 Docker Engine 配置。

services:
  api:
    image: localai/localai:latest-gpu-nvidia-cuda-12
    deploy:
      resources:
        reservations:
          devices:
            - capabilities:
                - gpu
              count: all
              driver: nvidia
    environment:
      # API Key,你可以删除此项这样调用方就不需要提供 Key 即可访问 LocalAI
      - API_KEY=your-api-key
      # 代理设置,请把下面的代理连接替换成你自己的,或者删除 HTTP_PROXY / HTTPS_PROXY
      - HTTP_PROXY=127.0.0.1:7890
      - HTTPS_PROXY=127.0.0.1:7890
      - NO_PROXY=127.0.0.0/8,192.168.0.0/16,localhost,tihus.com
      - TZ=Asia/Shanghai
      - DEBUG=true
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/readyz"]
      interval: 1m
      timeout: 20m
      retries: 5
    ports:
      - 8080:8080
    restart: unless-stopped
    volumes:
      - ./data/models:/build/models:cached

运行容器编排,LocalAI 的整体体积比较惊人(本文选择的镜像体积高达 38.93GB),编排启动可能会需要很长时间。等待容器运行并输出如下日志时代表 LocalAI 启动完成:

8:11PM INF LocalAI API is listening! Please connect to the endpoint for API documentation. endpoint=http://0.0.0.0:8080

LocalAI WebUI

模型的安装

输入 http://<Server-IP>:8080 可以打开 LocalAI WebUI:

2025-03-13_20-22-13.png

本文选择 DeepSeek R1 1.5b 作为演示用模型,点击主页的“Gallery”,在打开的页面中搜索 deepseek-r1-distill-qwen-1.5b 即可找到目标模型:

2025-03-13_20-23-23.png

点击模型卡片右下角的“Install”即可开始安装:

2025-03-13_20-23-34.png

等待模型安装完成即可:

2025-03-13_20-26-19.png

模型的管理

点击顶部的“Home”返回主页,此时由于已经安装了模型所以此处会显示已安装的模型列表:

2025-03-13_20-26-38.png

此处唯一可操作的按钮就是删除模型。

LocalAI API

LocalAI 本身只提供了基础的测试工具,同时还导出了 API 以供第三方程序调用。点击 WebUI 顶部的 API 可以打开 LocalAI API 文档:

2025-03-13_20-30-38.png

此 API 为 OpenAI 兼容 API,你可以自行编写程序与其对接,或者在第三方程序如 Dify 中设置对接,此处以 Dify 作为演示。

在 Dify 中,安装 OpenAI-API-compatible 插件用于与 LocalAI 进行连接:

2025-03-13_21-58-53.png

之后点击右上角 头像 - 设置,打开 模型供应商

2025-03-13_22-15-29.png

点击添加模型,按照下图输入内容,没有展示的部分保持原始值不变:

2025-03-13_22-17-09.png

注意,此处我的 API endpoint URL 的设置是不正确的,你应当把这个链接修改为 http://<LocalAI所在的设备IP>:8080/v1

之后新建应用进行测试即可,Dify 的 OpenAI-API-compatible 插件似乎目前还不支持 R1 的思考过程,所以会冒出一些不该出现的句子。另外,第一次运行刚下好的模型时 LocalAI 会进行一些环境的初始化操作,耗时会有些久。待 LocalAI 初始化完成之后回复问题就会快的多了。

2025-03-13_22-21-36.png

至此 LocalAI 的完整部署使用指引结束。整个部署和使用过程意外的顺利,比起 Xinference 要顺利多了......


LocalAI 部署完全指引
https://blog.tihus.com//archives/07ceae20-a122-45ca-854f-7ba5dfb842b8
作者
MitsuhaYuki
发布于
2025年03月13日
更新于
2025年03月13日
许可协议