创建可定制的 AI 助手、自动化流程、聊天机器人和智能体,它们 100% 在本地运行。无需复杂的 Python 智能体库或云服务密钥,只需准备好你的 GPU(甚至仅 CPU)和一个网页浏览器。
LocalAGI 是一个功能强大、可自托管的 AI 智能体平台,让你无需编写代码即可设计 AI 自动化流程。点击几下即可创建智能体,通过 MCP 连接,并使用内置的技能(在 Web UI 中管理技能,并可按智能体启用)。每个智能体都提供了一个完整的 OpenAI Responses API 替代方案,并具备高级智能体能力。无需云端。无数据泄露。纯粹的本地 AI,可在消费级硬件(CPU 和 GPU)上运行。技能遵循 skillserver 格式,可以创建、导入或从 git 同步。
你是否厌倦了那些调用云 API、危及隐私的 AI 包装器?我们也一样。
LocalAGI 确保你的数据完全留在你指定的地方——你的硬件上。无需 API 密钥,无需云订阅,无需妥协。
# 克隆仓库
git clone https://github.com/mudler/LocalAGI
cd LocalAGI
# CPU 设置(默认)
docker compose up
# NVIDIA GPU 设置
docker compose -f docker-compose.nvidia.yaml up
# Intel GPU 设置(适用于 Intel Arc 和集成显卡)
docker compose -f docker-compose.intel.yaml up
# AMD GPU 设置
docker compose -f docker-compose.amd.yaml up
# 使用特定模型启动(查看 models.localai.io 中的可用模型,或使用 localai.io 来使用 huggingface 上的任何模型)
MODEL_NAME=gemma-3-12b-it docker compose up
# NVIDIA GPU 设置,使用自定义多模态和图像模型
MODEL_NAME=gemma-3-12b-it \
MULTIMODAL_MODEL=moondream2-20250414 \
IMAGE_MODEL=flux.1-dev-ggml \
docker compose -f docker-compose.nvidia.yaml up
现在你可以通过 http://localhost:8080 访问和管理你的智能体。
仍有问题?观看此 YouTube 视频:https://youtu.be/HtVwIxW3ePg
🆕 LocalAI 现在是旨在协同工作的综合性 AI 工具套件的一部分:
|
LocalAILocalAI 是免费、开源的 OpenAI 替代方案。LocalAI 充当一个兼容 OpenAI API 规范的本地 AI 推理 REST API 替代品。不需要 GPU。 |
|
LocalRecall一个 RESTful API 和知识库管理系统。LocalAGI 集成了此功能:Web UI 包含一个 知识库 部分和相同的集合 API,因此你不再需要单独运行 LocalRecall。 |
LocalAGI 通过 Docker Compose 配置文件支持多种硬件配置:
docker compose -f docker-compose.nvidia.yaml upgemma-3-4b-it-qatmoondream2-20250414sd-1.5-ggmlMODEL_NAME:要使用的文本模型MULTIMODAL_MODEL:要使用的多模态模型IMAGE_MODEL:要使用的图像生成模型LOCALAI_SINGLE_ACTIVE_BACKEND:设置为 true 以启用单活跃后端模式docker compose -f docker-compose.intel.yaml upgemma-3-4b-it-qatmoondream2-20250414sd-1.5-ggmlMODEL_NAME:要使用的文本模型MULTIMODAL_MODEL:要使用的多模态模型IMAGE_MODEL:要使用的图像生成模型LOCALAI_SINGLE_ACTIVE_BACKEND:设置为 true 以启用单活跃后端模式你可以通过运行 docker-compose 时设置环境变量来自定义 LocalAGI 使用的模型。例如:
# CPU 使用自定义模型
MODEL_NAME=gemma-3-12b-it docker compose up
# NVIDIA GPU 使用自定义模型
MODEL_NAME=gemma-3-12b-it \
MULTIMODAL_MODEL=moondream2-20250414 \
IMAGE_MODEL=flux.1-dev-ggml \
docker compose -f docker-compose.nvidia.yaml up
# Intel GPU 使用自定义模型
MODEL_NAME=gemma-3-12b-it \
MULTIMODAL_MODEL=moondream2-20250414 \
IMAGE_MODEL=sd-1.5-ggml \
docker compose -f docker-compose.intel.yaml up
# 使用自定义动作目录
LOCALAGI_CUSTOM_ACTIONS_DIR=/app/custom-actions docker compose up
如果未指定模型,将使用默认值:
- 文本模型:gemma-3-4b-it-qat
- 多模态模型:moondream2-20250414
- 图像模型:sd-1.5-ggml
经过测试的(相对较小的)优秀模型有:
qwen_qwq-32b(在协调智能体方面表现最佳)gemma-3-12b-itgemma-3-27b-it
探索详细文档,包括:
- 安装选项
- REST API 文档
- 连接器配置
- 智能体配置
- 技能
LocalAGI 支持环境配置。请注意,这些环境变量需要在 docker-compose 文件的 localagi 容器中指定才能生效。
| 变量 | 作用 |
|---|---|
LOCALAGI_MODEL |
你的首选模型 |
LOCALAGI_MULTIMODAL_MODEL |
用于多模态能力的可选模型 |
LOCALAGI_LLM_API_URL |
OpenAI 兼容的 API 服务器 URL |
LOCALAGI_LLM_API_KEY |
API 认证密钥 |
LOCALAGI_TIMEOUT |
请求超时设置 |
LOCALAGI_STATE_DIR |
状态存储位置 |
LOCALAGI_BASE_URL |
应用程序的可选基础 URL(仅在使用外部 LocalRAG URL 时相关;内置知识库不使用此变量) |
LOCALAGI_ENABLE_CONVERSATIONS_LOGGING |
切换对话日志记录 |
LOCALAGI_API_KEYS |
用于身份验证的 API 密钥列表,以逗号分隔 |
LOCALAGI_CUSTOM_ACTIONS_DIR |
包含要自动加载的自定义 Go 动作文件的目录 |
对于内置知识库,可选环境变量(默认使用 LOCALAGI_STATE_DIR):COLLECTION_DB_PATH, FILE_ASSETS, VECTOR_ENGINE (例如 chromem, postgres), EMBEDDING_MODEL, DATABASE_URL (当 VECTOR_ENGINE=postgres 时)。
技能存储在 LOCALAGI_STATE_DIR 下的固定 skills 子目录中(例如 Docker 中的 /pool/skills)。技能的 Git 仓库配置位于该目录中。无需额外的环境变量。
从 发布页面 下载可直接运行的二进制文件。
要求:
- Go 1.20+
- Git
- Bun 1.2+
# 克隆仓库
git clone https://github.com/mudler/LocalAGI.git
cd LocalAGI
# 构建
cd webui/react-ui && bun i && bun run build
cd ../..
go build -o localagi
# 运行
./localagi
LocalAGI 可以作为 Go 库使用,以编程方式创建和管理 AI 智能体。让我们从一个创建单个智能体的简单示例开始:
import (
"github.com/mudler/LocalAGI/core/agent"
"github.com/mudler/LocalAGI/core/types"
)
// 使用基本配置创建一个新智能体
agent, err := agent.New(
agent.WithModel("gpt-4"),
agent.WithLLMAPIURL("http://localhost:8080"),
agent.WithLLMAPIKey("your-api-key"),
agent.WithSystemPrompt("You are a helpful assistant."),
agent.WithCharacter(agent.Character{
Name: "my-agent",
}),
agent.WithActions(
// 在此添加你的自定义动作
),
agent.WithStateFile("./state/my-agent.state.json"),
agent.WithCharacterFile("./state/my-agent.character.json"),
agent.WithTimeout("10m"),
agent.EnableKnowledgeBase(),
agent.EnableReasoning(),
)
if err != nil {
log.Fatal(err)
}
// 启动智能体
go func() {
if err := agent.Run(); err != nil {
log.Printf("Agent stopped: %v", err)
}
}()
// 完成后停止智能体
agent.Stop()
这个基础示例展示了如何:
- 使用基本配置创建单个智能体
- 设置智能体的模型和 API 连接
- 配置知识库和推理等基本功能
- 启动和停止智能体