LocalAI自托管

LocalAI 2026自托管指南:完全掌控你的AI

引言 LocalAI是一个完全开源的AI服务框架,提供OpenAI兼容的API,让你可以在自己的硬件上运行AI服务。2026年,LocalAI已经成为替代OpenAI API最完整的方案。本文将详细介绍LocalAI的自托管部署。 LocalAI核心特性 OpenAI兼容API:直接替换OpenAI API,无需修改代码 多模型支持:LLM、嵌入、图像生成、语音识别、TTS 多后端:llama.cpp、vLLM、Diffusers等 多架构:x86、ARM、Apple Silicon 无GPU依赖:支持CPU推理 部署指南 Docker部署 docker run -d \ --name localai \ -p 8080:8080 \ -v localai-models:/models \ -v localai-data:/data \ -e MODELS_PATH=/models \ -e THREADS=8 \ --gpus all \ localai/localai:latest Docker Compose version: '3.8' services: localai: image: localai/localai:latest ports: - "8080:8080" volumes: - ./models:/models - ./data:/data environment: - MODELS_PATH=/models - THREADS=8 - GPU_TYPE=nvidia deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] restart: always 从源码编译 git clone https://github.com/mudler/LocalAI cd LocalAI make build 模型配置 LLM模型 # models/glm-5.yaml name: glm-5 backend: llama parameters: model: glm-5-32b.gguf temperature: 0.7 top_p: 0.9 max_tokens: 2048 context_size: 8192 gpu_layers: 35 # GPU加速层数 嵌入模型 # models/bge-large-zh.yaml name: bge-large-zh backend: bert parameters: model: bge-large-zh-v2.gguf 图像生成模型 # models/sd4.yaml name: stable-diffusion-4 backend: diffusers parameters: model: stabilityai/stable-diffusion-4 device: cuda TTS模型 # models/cosyvoice.yaml name: cosyvoice backend: cosyvoice parameters: model: cosyvoice-300m API使用 OpenAI兼容 from openai import OpenAI # 只需修改base_url client = OpenAI( base_url="http://localhost:8080/v1", api_key="not-needed" # LocalAI不需要API key ) # 对话 response = client.chat.completions.create( model="glm-5", messages=[{"role": "user", "content": "你好"}] ) # 嵌入 embedding = client.embeddings.create( model="bge-large-zh", input="要嵌入的文本" ) # 图像生成 image = client.images.generate( model="stable-diffusion-4", prompt="一只可爱的猫" ) 直接API调用 # 对话 curl http://localhost:8080/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "glm-5", "messages": [{"role": "user", "content": "你好"}] }' # 嵌入 curl http://localhost:8080/v1/embeddings \ -H "Content-Type: application/json" \ -d '{ "model": "bge-large-zh", "input": "要嵌入的文本" }' 集成方案 与LangChain集成 from langchain_openai import ChatOpenAI llm = ChatOpenAI( base_url="http://localhost:8080/v1", api_key="not-needed", model="glm-5" ) 与LlamaIndex集成 from llama_index.llms.openai import OpenAI llm = OpenAI( base_url="http://localhost:8080/v1", api_key="not-needed", model="glm-5" ) 性能优化 GPU加速 # 模型配置中启用GPU parameters: gpu_layers: 35 # 使用GPU的层数 device: cuda 并发配置 # 环境变量 THREADS=8 # CPU线程数 PARALLEL_REQUESTS=4 # 并行请求数 量化配置 parameters: quantize: q4_K_M # INT4量化 高级功能 1. 模型自动加载 # 启动时自动加载模型 PRELOAD_MODELS=glm-5,bge-large-zh 2. 请求队列 # 管理并发请求 queue: max_size: 100 timeout: 300 3. 模型卸载 # 自动卸载空闲模型 GALLERIES_AUTO_LOAD=false IDLE_UNLOAD_TIMEOUT=300 # 5分钟后卸载 4. 多GPU parameters: tensor_parallel_size: 4 gpu_memory_fraction: 0.9 监控 健康检查 curl http://localhost:8080/health # {"status":"ok","models":["glm-5","bge-large-zh"]} 模型列表 curl http://localhost:8080/v1/models 性能指标 curl http://localhost:8080/metrics # Prometheus格式指标 与Ollama对比 特性 LocalAI Ollama API兼容 OpenAI完全兼容 自定义API 模型格式 GGUF/SafeTensors/ONNX GGUF 嵌入支持 ✓ ✓ 图像生成 ✓ ✗ TTS ✓ ✗ CPU推理 ✓ ✓ 多后端 ✓ llama.cpp 易用性 中等 简单 功能丰富度 ★★★★★ ★★★☆☆ 使用场景 场景一:企业内网AI服务 # 部署在内网 docker run -d -p 8080:8080 \ -v /data/models:/models \ -e MODELS_PATH=/models \ localai/localai:latest 场景二:开发测试环境 # 替代OpenAI API进行开发测试 export OPENAI_API_BASE=http://localhost:8080/v1 export OPENAI_API_KEY=not-needed 场景三:边缘设备 # 在树莓派上运行 docker run -d -p 8080:8080 \ -v /models:/models \ -e THREADS=4 \ localai/localai:latest-cpu 结语 LocalAI在2026年已经成为功能最全面的自托管AI服务框架。它不仅兼容OpenAI API,还支持图像生成、TTS等多种AI能力。对于需要完全掌控AI基础设施的团队,LocalAI是最佳选择。 ...

2026-07-02 · 2 min · 405 words · 硅基 AGI 探索者
open webui 2026 chatgpt alternative

Open WebUI 2026:打造自己的 ChatGPT 界面

Open WebUI:自托管的 ChatGPT 替代品 Open WebUI(前身为 Ollama WebUI)在 2026 年已经成为最流行的自托管 AI 对话界面。它让你在自己的服务器上运行一个功能媲美 ChatGPT 的 Web 界面,同时保留对数据和模型的完全控制。截至 2026 年 6 月,Open WebUI 的 GitHub Stars 超过 75k,月活部署超过 10 万。 2026 核心特性 功能总览 Open WebUI 2026 ├── 对话功能 │ ├── 多模型并行对话 │ ├── 对话分支与版本管理 │ ├── 多模态(图片/文件/语音) │ └── 语音输入/输出(TTS/STT) ├── 模型管理 │ ├── Ollama 模型集成 │ ├── OpenAI/Anthropic API 集成 │ ├── 模型对比测试 │ └── 自定义模型配置 ├── 知识库 │ ├── 文档上传与索引 │ ├── RAG 对话 │ ├── 网页抓取 │ └── 多知识库管理 ├── 工具与插件 │ ├── 函数调用 │ ├── 自定义工具 │ ├── Web 搜索 │ └── 代码执行 ├── 用户管理 │ ├── 多用户 + RBAC │ ├── SSO 认证 │ └── 使用量统计 └── 部署 ├── Docker 一键部署 ├── Kubernetes 部署 └── 多实例集群 与 2024 版本对比 特性 Open WebUI 0.3 (2024) Open WebUI 0.5 (2026) 多模型对比 ❌ ✅ 并行对比 RAG 基础 高级(混合检索 + Reranking) 函数调用 ❌ ✅ 多模态 基础图片 图片 + 文件 + 语音 用户管理 基础 RBAC + SSO + 审计 工具插件 ❌ ✅ 插件市场 Pipeline ❌ ✅ 工作流编排 移动端 ❌ ✅ 响应式 + PWA 多语言 英文 20+ 语言 安装部署 Docker 一键部署 # 基础部署(连接本地 Ollama) docker run -d -p 3000:8080 \ --add-host=host.docker.internal:host-gateway \ -v open-webui:/app/backend/data \ --name open-webui \ --restart always \ ghcr.io/open-webui/open-webui:main # 连接远程 Ollama docker run -d -p 3000:8080 \ -e OLLAMA_BASE_URL=http://192.168.1.100:11434 \ -v open-webui:/app/backend/data \ --name open-webui \ --restart always \ ghcr.io/open-webui/open-webui:main # 连接 OpenAI API docker run -d -p 3000:8080 \ -e OPENAI_API_BASE_URL=https://api.openai.com/v1 \ -e OPENAI_API_KEY=sk-your-key \ -v open-webui:/app/backend/data \ --name open-webui \ --restart always \ ghcr.io/open-webui/open-webui:main Docker Compose 完整部署 version: '3.8' services: open-webui: image: ghcr.io/open-webui/open-webui:main ports: - "3000:8080" environment: # Ollama 连接 OLLAMA_BASE_URL: http://ollama:11434 # OpenAI API OPENAI_API_KEY: ${OPENAI_API_KEY} # Anthropic API ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY} # 数据库 DATABASE_URL: postgresql://openwebui:password@postgres:5432/openwebui # Redis 缓存 REDIS_URL: redis://redis:6379 # 认证 ENABLE_SIGNUP: false JWT_SECRET: ${JWT_SECRET} # RAG 配置 RAG_EMBEDDING_MODEL: bge-m3 RAG_RERANKING_MODEL: bge-reranker-v2-m3 CHROMA_TENANT_ID: default # TTS/STT TTS_ENGINE: openai STT_ENGINE: openai # 其他 WEBUI_AUTH: true WEBUI_NAME: "我的 AI 助手" volumes: - open-webui-data:/app/backend/data depends_on: - ollama - postgres - redis restart: always ollama: image: ollama/ollama:latest volumes: - ollama-data:/root/.ollama deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] restart: always postgres: image: postgres:16 environment: POSTGRES_USER: openwebui POSTGRES_PASSWORD: password POSTGRES_DB: openwebui volumes: - postgres-data:/var/lib/postgresql/data restart: always redis: image: redis:7-alpine restart: always volumes: open-webui-data: ollama-data: postgres-data: 核心功能使用 1. 多模型并行对话 Open WebUI 2026 支持同时与多个模型对话并对比结果: ...

2026-06-28 · 6 min · 1072 words · 硅基 AGI 掜索者
鲁ICP备2026018361号