随着大语言模型(LLM)技术的飞速发展,越来越多的用户希望在本地部署AI推理服务,以保护数据隐私、降低使用成本并获得离线使用能力。群晖DSM凭借其完善的Docker容器管理能力,成为了部署本地AI推理平台的理想选择。本文将深入介绍如何在群晖DSM上通过Docker部署Ollama和LocalAI等开源推理框架。

一、群晖DSM Docker环境准备:为AI推理配置最佳运行环境
在开始部署AI推理平台之前,首先需要确保群晖DSM的Docker环境配置正确。AI模型推理对硬件有较高要求,特别是对内存容量和计算能力的需求。推荐的最小配置为:16GB内存、4核以上CPU,以及至少50GB的可用存储空间用于存放模型文件。如果DSM设备支持,安装NVIDIA GPU或Intel NPU可以大幅提升推理速度。
群晖DSM 7.2及以上版本在套件中心提供了官方Docker套件,安装后即可获得完整的Docker运行环境。在Docker套件中,需要先在注册表设置中添加国内镜像源(如阿里云、中科大等),以加速镜像拉取。同时建议在设置中为Docker分配足够的资源,包括CPU核心数和内存限制。对于AI推理场景,建议不要限制容器的CPU和内存使用,让容器能够充分利用NAS的硬件资源。
存储配置也是关键环节。AI模型文件体积通常很大(从数GB到数十GB不等),建议将模型文件存放在NAS的高速存储池中,最好是SSD或NVMe缓存加速的存储空间。在Docker中,通过卷映射将NAS上的模型目录映射到容器内部,即可实现模型的持久化存储。群晖DSM的文件管理界面可以方便地浏览和管理这些模型文件,支持上传自己下载的GGUF格式模型。
网络方面,如果需要在局域网内其他设备上访问AI推理服务,需要配置Docker容器的端口映射。Ollama默认使用11434端口,LocalAI使用8080端口,将这些端口映射到NAS的对应端口后,局域网内的任何设备都可以通过NAS的IP地址访问推理服务。如果需要从外网访问,建议通过反向代理(如群晖自带的反向代理或Nginx Proxy Manager)配合HTTPS加密来提供安全的外部访问。
二、Ollama部署与模型管理:一行命令运行各种主流大语言模型
Ollama是目前最受欢迎的本地LLM运行工具之一,它封装了模型下载、推理引擎和API接口,用户只需一条命令即可运行各种主流大语言模型。在群晖DSM上通过Docker部署Ollama非常简单。
首先,在群晖Docker套件中搜索ollama/ollama镜像并下载。然后创建一个容器,将容器内的11434端口映射到群晖的11434端口,并将一个NAS共享文件夹(如/docker/ollama/models)挂载到容器内的/root/.ollama目录,用于持久化存储模型文件。容器创建完成后,通过群晖的任务计划程序或SSH登录群晖,执行docker exec命令进入容器内部。
在Ollama容器中,通过ollama pull命令即可下载和运行各种模型。目前Ollama支持数百种开源模型,包括Llama 3、Qwen 2、Mistral、Phi-3、Gemma 2等。对于NAS设备来说,推荐选择7B或8B参数规模的模型,这些模型在16GB内存的设备上可以流畅运行。具体推荐:中文任务首选Qwen 2.5 7B(通义千问),英文编程任务推荐CodeLlama 7B或DeepSeek Coder 6.7B,通用对话可以选择Llama 3 8B或Mistral 7B。
Ollama启动后会自动暴露一个兼容OpenAI格式的REST API接口。您可以通过任何支持OpenAI API的客户端工具来调用,比如在本地电脑上安装Continue插件配合VS Code使用,或者在手机上下载Enchanted等Ollama客户端应用。在群晖DSM上配置完成后,您就可以在任何设备上使用NAS上的AI助手了,所有对话数据都保留在本地,不会上传到云端,真正做到数据隐私零泄露。
对于需要更高推理性能的场景,可以尝试在Ollama容器中启用GPU加速。如果群晖DSM安装了NVIDIA GPU,可以通过在Docker创建时添加--gpus all参数来启用GPU推理。GPU推理可以比CPU推理快5-10倍,特别是在处理大模型和长上下文时效果更加显著。
三、LocalAI高级部署:多模态AI与自定义模型集成方案
LocalAI是一个功能更加全面的自托管AI推理平台,它不仅支持大语言模型,还支持图像生成(Stable Diffusion)、语音识别(Whisper)、文本转语音(TTS)和图像理解等多模态AI能力。相比Ollama,LocalAI的模型支持范围更广,配置也更为灵活。
在群晖DSM上部署LocalAI同样通过Docker进行。推荐使用localai/localai镜像,并选择包含CUDA支持的版本以获得GPU加速能力。LocalAI的Docker启动参数较为复杂,除了端口映射(默认8080端口)和卷映射外,还需要注意映射包含模型配置YAML文件的目录。LocalAI使用YAML配置文件来定义每个模型的加载参数,包括模型路径、上下文长度、GPU层数等。
LocalAI的强大之处在于其多模态能力。您可以在同一个平台上同时运行文本生成、图像生成和语音识别服务。例如,将Stable Diffusion的模型文件放入LocalAI的模型目录,配置一个image-generation的YAML文件,然后通过POST请求即可在NAS上生成本地AI图片。将Whisper模型集成到LocalAI后,还可以实现语音转文字功能,用于会议录音的自动转写。
在实际使用中,建议将不同模型分区存放。在群晖的文件管理器中创建子目录,如/models/llm存放语言模型、/models/images存放图像模型、/models/audio存放音频模型。每个模型目录下放置对应的YAML配置文件和模型文件。LocalAI启动后会自动扫描这些目录并加载配置。对于NAS这类资源受限的设备,建议一次只加载1-2个模型,避免内存耗尽导致系统不稳定。合理配置后,一台群晖DS224+或DS423+完全可以运行一个小型的本地AI工作站,满足家庭的日常AI使用需求。


评论(0)