使用说明

项目简介

Lumo是一个使用Rust语言开发的强大自主Agent框架,它基于smolagents库构建,旨在创建能够自主解决复杂任务的智能Agent。Lumo框架注重性能和安全性,为开发者提供了一个构建AI驱动应用的可靠平台。它支持多种大型语言模型(LLM),包括OpenAI、Ollama和Gemini,并集成了多种实用工具,如Google Search、DuckDuckGo、网页访问与抓取、Python解释器等。

主要功能点

  • 高性能: 使用Rust语言开发,保证了卓越的运行速度和可靠性。
  • 类型安全: 充分利用Rust的类型系统,在编译时提供安全保障。
  • 交互模式: 支持交互式任务执行,提供实时的反馈。
  • 任务导向: 专注于解决实际问题,通过AI技术赋能应用。
  • 可扩展: 易于添加新的工具,并能与不同的LLM供应商集成。
  • MCP Agent: 支持Model Context Protocol (MCP) Agent,可以作为MCP客户端与MCP服务器交互,扩展Agent的能力。
  • REST API Server: 提供RESTful API服务端模式,方便集成到各种应用中。

安装步骤

CLI 使用

  1. 从源码构建

    cargo build --release

    构建成功后,可执行文件位于 'target/release/lumo'。

  2. 运行

    target/release/lumo

    运行后,程序将提示您输入任务。输入 'exit' 可以退出程序。

    API Key 设置: 您需要将LLM提供商的API密钥设置为环境变量或通过参数传递。

  3. 添加到PATH (可选) 您可以将构建好的 'lumo' 二进制文件添加到系统PATH环境变量中,这样就可以在终端中直接使用 'lumo' 命令。

  4. 使用Docker

    # 拉取 Docker 镜像
    docker pull akshayballal95/lumo-cli:latest
    
    # 运行 Docker 镜像 (需要替换 your-key-here 为您的 API 密钥)
    docker run -it -e OPENAI_API_KEY=your-key-here lumo-cli

Server 使用

  1. 构建 Server Docker 镜像

    docker build -f server.Dockerfile -t lumo-server .
  2. 运行 Server Docker 容器 (需要设置 API 密钥等环境变量)

    docker run -p 8080:8080 \
      -e OPENAI_API_KEY=your-openai-key \
      -e GOOGLE_API_KEY=your-google-key \
      -e GROQ_API_KEY=your-groq-key \
      -e ANTHROPIC_API_KEY=your-anthropic-key \
      -e EXA_API_KEY=your-exa-key \
      lumo-server
  3. 拉取预构建 Server Docker 镜像 (可选)

    docker pull akshayballal95/lumo-server:latest

    然后使用与上述相同的 'docker run' 命令运行。

服务器配置

MCP客户端需要配置MCP服务器的连接信息,包括服务器启动命令及其参数。以下是一个 'servers.yaml' 配置文件示例,展示了如何配置名为 'exa-search' 和 'fetch' 的两个MCP服务器:

{
  "exa-search": {
    "command": "npx",  // MCP服务器启动命令,例如:npx (Node Package Execute)
    "args": [ "exa-mcp-server" ], // 命令参数,例如:["exa-mcp-server"],用于指定要执行的MCP服务器程序
    "env": { "EXA_API_KEY": "your-api-key" } // 环境变量(可选),用于配置MCP服务器运行所需的环境变量,例如API密钥
  },
  "fetch": {
    "command": "uvx",  // 另一个MCP服务器配置示例,使用不同的命令启动
    "args": [ "mcp_server_fetch" ]  // 对应的命令参数
  },
  "system_prompt": "You are a powerful agentic AI assistant..." // (可选) 整个系统的默认系统提示词
}

配置说明:

  • server name: 服务器名称,例如 'exa-search', 'fetch',客户端通过名称引用服务器。
  • command: 启动MCP服务器的命令,通常是可执行文件的路径或脚本启动命令,例如 'npx', 'uvx'。
  • args: 命令参数列表,传递给 'command' 的参数,用于指定服务器的具体行为,例如服务器程序名称、配置文件路径等。
  • env: (可选) 环境变量键值对,用于设置MCP服务器运行时的环境变量,例如API密钥、端口号等。

配置文件位置:

  • Linux: '~/.config/lumo-cli/servers.yaml'
  • macOS: '~/Library/Application Support/lumo-cli/servers.yaml'
  • Windows: '%APPDATA%\Roaming\lumo\lumo-cli\servers.yaml'

请根据您实际使用的MCP服务器,修改 'command' 和 'args' 以确保MCP客户端能够正确连接到MCP服务器。

基本使用方法

CLI 客户端

运行 'lumo' 命令后,您将进入交互式命令行界面。您可以直接输入任务,Lumo Agent 将会尝试自主完成任务。

常用命令参数:

  • '-a, --agent-type <TYPE>': 指定 Agent 类型,选项包括 'function-calling', 'code', 'mcp',默认为 'function-calling'。
  • '-l, --tools <TOOLS>': 指定使用的工具列表,用逗号分隔,例如 'google-search,visit-website'。
  • '-m, --model-type <TYPE>': 指定使用的模型类型,选项包括 'openai', 'ollama', 'gemini',默认为 'gemini'。
  • '-k, --api-key <KEY>': LLM 提供商 API 密钥。
  • '--model-id <ID>': 模型 ID,例如 '"gpt-4"' (OpenAI), '"qwen2.5"' (Ollama), '"gemini-2.0-flash"' (Gemini)。
  • '-b, --base-url <URL>': API 的基础 URL。

示例命令:

  • 'lumo -k your-gemini-key': 使用 Gemini 模型 (默认)。
  • 'lumo -m openai --model-id gpt-4 -k your-openai-key': 使用 OpenAI GPT-4 模型。
  • 'lumo -m ollama --model-id qwen2.5 -b http://localhost:11434': 使用 Ollama 本地模型。
  • 'lumo -a code -l duckduckgo,python-interpreter': 使用 CodeAgent 和 DuckDuckGo、Python Interpreter 工具。

Server API

Lumo Server 提供了 REST API,您可以使用 'curl' 或其他HTTP客户端与之交互。

健康检查:

curl http://localhost:8080/health_check

运行任务:

curl -X POST http://localhost:8080/run \
  -H "Content-Type: application/json" \
  -d '{
    "task": "What is the weather in London?",
    "model": "gpt-4o-mini",
    "base_url": "https://api.openai.com/v1/chat/completions",
    "tools": ["DuckDuckGo", "VisitWebsite"],
    "max_steps": 5,
    "agent_type": "function-calling"
  }'

请求Body参数请参考文档说明。

信息

分类

AI与计算