OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  LocalAGI — 在本地模型之上构建自主任务执行 Agent 的实验项目

LocalAGI — 在本地模型之上构建自主任务执行 Agent 的实验项目

 
  chorus ·  2026-03-22 11:00:34 · 10 次点击  · 0 条评论  

创建可定制的 AI 助手、自动化流程、聊天机器人和智能体,它们 100% 在本地运行。无需复杂的 Python 智能体库或云服务密钥,只需准备好你的 GPU(甚至仅 CPU)和一个网页浏览器。

LocalAGI 是一个功能强大、可自托管的 AI 智能体平台,让你无需编写代码即可设计 AI 自动化流程。点击几下即可创建智能体,通过 MCP 连接,并使用内置的技能(在 Web UI 中管理技能,并可按智能体启用)。每个智能体都提供了一个完整的 OpenAI Responses API 替代方案,并具备高级智能体能力。无需云端。无数据泄露。纯粹的本地 AI,可在消费级硬件(CPU 和 GPU)上运行。技能遵循 skillserver 格式,可以创建、导入或从 git 同步。

🛡️ 夺回你的隐私

你是否厌倦了那些调用云 API、危及隐私的 AI 包装器?我们也一样。

LocalAGI 确保你的数据完全留在你指定的地方——你的硬件上。无需 API 密钥,无需云订阅,无需妥协。

🌟 核心特性

  • 🎛 无代码智能体:通过 Web UI 轻松配置多个智能体。
  • 🖥 基于 Web 的界面:简单直观的智能体管理。
  • 🤖 高级智能体协作:从一个提示词瞬间创建协作智能体团队。
  • 📡 连接器:内置与 Discord、Slack、Telegram、GitHub Issues 和 IRC 的集成。
  • 🛠 全面的 REST API:无缝集成到你的工作流中。创建的每个智能体都开箱即用地支持 OpenAI Responses API。
  • 📚 短期与长期记忆:内置知识库(RAG),用于集合、文件上传和语义搜索。在 Web UI 的 知识库 下管理集合;启用“知识库”的智能体会自动使用它(实现使用了 LocalRecall 库)。
  • 🧠 规划与推理:智能体智能地规划、推理和适应。
  • 🔄 周期性任务:使用类似 cron 的语法调度任务。
  • 💾 记忆管理:通过长期记忆和摘要记忆选项控制内存使用。
  • 🖼 多模态支持:支持视觉、文本等。
  • 🔧 可扩展的自定义动作:轻松用 Go 编写动态智能体行为(解释执行,无需编译!)。
  • 📚 内置技能:在 Web UI 中管理可重用的智能体技能(创建、编辑、导入/导出、git 同步)。为智能体启用“技能”以向其注入技能工具和技能列表。
  • 🛠 完全可定制的模型:使用你自己的模型或与 LocalAI 无缝集成。
  • 📊 可观测性:实时监控智能体状态并查看详细的观测更新。

🛠️ 快速开始

# 克隆仓库
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

视频

创建基础智能体
智能体可观测性
过滤器与触发器
RAG 与 Matrix

📚🆕 Local 技术栈家族

🆕 LocalAI 现在是旨在协同工作的综合性 AI 工具套件的一部分:

LocalAI Logo

LocalAI

LocalAI 是免费、开源的 OpenAI 替代方案。LocalAI 充当一个兼容 OpenAI API 规范的本地 AI 推理 REST API 替代品。不需要 GPU。

LocalRecall Logo

LocalRecall

一个 RESTful API 和知识库管理系统。LocalAGI 集成了此功能:Web UI 包含一个 知识库 部分和相同的集合 API,因此你不再需要单独运行 LocalRecall。

🖥️ 硬件配置

LocalAGI 通过 Docker Compose 配置文件支持多种硬件配置:

CPU(默认)

  • 无需特殊配置
  • 在任何安装了 Docker 的系统上运行
  • 最适合测试和开发
  • 仅支持文本模型

NVIDIA GPU

  • 需要 NVIDIA GPU 和驱动程序
  • 使用 CUDA 进行加速
  • 最适合高性能推理
  • 支持文本、多模态和图像生成模型
  • 运行命令:docker compose -f docker-compose.nvidia.yaml up
  • 默认模型:
  • 文本:gemma-3-4b-it-qat
  • 多模态:moondream2-20250414
  • 图像:sd-1.5-ggml
  • 环境变量:
  • MODEL_NAME:要使用的文本模型
  • MULTIMODAL_MODEL:要使用的多模态模型
  • IMAGE_MODEL:要使用的图像生成模型
  • LOCALAI_SINGLE_ACTIVE_BACKEND:设置为 true 以启用单活跃后端模式

Intel GPU

  • 支持 Intel Arc 和集成显卡
  • 使用 SYCL 进行加速
  • 最适合基于 Intel 的系统
  • 支持文本、多模态和图像生成模型
  • 运行命令:docker compose -f docker-compose.intel.yaml up
  • 默认模型:
  • 文本:gemma-3-4b-it-qat
  • 多模态:moondream2-20250414
  • 图像:sd-1.5-ggml
  • 环境变量:
  • MODEL_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-it
  • gemma-3-27b-it

🏆 为什么选择 LocalAGI?

  • ✓ 终极隐私:数据永不离开你的硬件。
  • ✓ 灵活的模型集成:得益于 LocalAI,支持 GGUF、GGML 等格式。
  • ✓ 开发者友好:丰富的 API 和直观的界面。
  • ✓ 轻松设置:简单的 Docker compose 设置和预构建的二进制文件。
  • ✓ 功能丰富:从规划到多模态能力,再到 Slack 连接器、MCP 支持、内置技能,LocalAGI 一应俱全。

🌟 截图

强大的 Web UI

Web UI 仪表板
Web UI 智能体设置
Web UI 创建群组
Web UI 智能体可观测性

开箱即用的连接器

Telegram Discord Slack IRC GitHub

📖 完整文档

探索详细文档,包括:
- 安装选项
- 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 连接 - 配置知识库和推理等基本功能 - 启动和停止智能体
高级用法:智能体池 要管理多个智能体,你可以使用 AgentPool 系统: ```go import ( "github.com/mudler/LocalAGI/core/state" "github.com/mudler/LocalAGI/core/types" ) // 创建一个新的智能体池(调用 pool.SetRAGProvider(...) 用于
10 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私政策 ·  服务条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 21 ms
Developed with Cursor