dify-docs/zh_CN/guides/model-configuration/localai.md

4.3 KiB
Raw Permalink Blame History

接入 LocalAI 部署的本地模型

LocalAI 是一个本地推理框架,提供了 RESTFul API与 OpenAI API 规范兼容。它允许你在消费级硬件上本地或者在自有服务器上运行 LLM和其他模型支持与 ggml 格式兼容的多种模型家族。不需要 GPU。 Dify 支持以本地部署的方式接入 LocalAI 部署的大型语言模型推理和 embedding 能力。

部署 LocalAI

使用前注意事项

如果确实需要直接使用容器的 IP 地址,以上步骤将帮助您获取到这一信息。

开始部署

可参考官方 Getting Started 进行部署,也可参考下方步骤进行快速接入:

(以下步骤来自 LocalAI Data query example

  1. 首先拉取 LocalAI 代码仓库,并进入指定目录

    $ git clone https://github.com/go-skynet/LocalAI
    $ cd LocalAI/examples/langchain-chroma
    
  2. 下载范例 LLM 和 Embedding 模型

    $ wget https://huggingface.co/skeskinen/ggml/resolve/main/all-MiniLM-L6-v2/ggml-model-q4_0.bin -O models/bert
    $ wget https://gpt4all.io/models/ggml-gpt4all-j.bin -O models/ggml-gpt4all-j
    

    这里选用了较小且全平台兼容的两个模型,ggml-gpt4all-j 作为默认 LLM 模型,all-MiniLM-L6-v2 作为默认 Embedding 模型,方便在本地快速部署使用。

  3. 配置 .env 文件

    $ mv .env.example .env
    

    NOTE请确保 .env 中的 THREADS 变量值不超过您本机的 CPU 核心数。

  4. 启动 LocalAI

    # start with docker-compose
    $ docker-compose up -d --build
    
    # tail the logs & wait until the build completes
    $ docker logs -f langchain-chroma-api-1
    7:16AM INF Starting LocalAI using 4 threads, with models path: /models
    7:16AM INF LocalAI version: v1.24.1 (9cc8d9086580bd2a96f5c96a6b873242879c70bc)
    
     ┌───────────────────────────────────────────────────┐ 
     │                   Fiber v2.48.0                   │ 
     │               http://127.0.0.1:8080               │ 
     │       (bound on host 0.0.0.0 and port 8080)       │ 
     │                                                   │ 
     │ Handlers ............ 55  Processes ........... 1 │ 
     │ Prefork ....... Disabled  PID ................ 14 │ 
     └───────────────────────────────────────────────────┘ 
    

    开放了本机 http://127.0.0.1:8080 作为 LocalAI 请求 API 的端点。

    并提供了两个模型,分别为:

    • LLM 模型:ggml-gpt4all-j

      对外访问名称:gpt-3.5-turbo(该名称可自定义,在 models/gpt-3.5-turbo.yaml 中配置。

    • Embedding 模型:all-MiniLM-L6-v2

      对外访问名称:text-embedding-ada-002(该名称可自定义,在 models/embeddings.yaml 中配置。

    使用 Dify Docker 部署方式的需要注意网络配置,确保 Dify 容器可以访问到 Xinference 的端点Dify 容器内部无法访问到 localhost需要使用宿主机 IP 地址。

  5. LocalAI API 服务部署完毕,在 Dify 中使用接入模型

    设置 > 模型供应商 > LocalAI 中填入:

    模型 1ggml-gpt4all-j

    • 模型类型:文本生成

    • 模型名称:gpt-3.5-turbo

    • 服务器 URLhttp://127.0.0.1:8080

      若 Dify 为 docker 部署,请填入 host 域名:http://<your-LocalAI-endpoint-domain>:8080,可填写局域网 IP 地址,如:http://192.168.1.100:8080

    "保存" 后即可在应用中使用该模型。

    模型 2all-MiniLM-L6-v2

    • 模型类型Embeddings

    • 模型名称:text-embedding-ada-002

    • 服务器 URLhttp://127.0.0.1:8080

      若 Dify 为 docker 部署,请填入 host 域名:http://<your-LocalAI-endpoint-domain>:8080,可填写局域网 IP 地址,如:http://192.168.1.100:8080

    "保存" 后即可在应用中使用该模型。

如需获取 LocalAI 更多信息,请参考:https://github.com/go-skynet/LocalAI