使用说明
项目简介
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 使用
-
从源码构建
cargo build --release构建成功后,可执行文件位于 'target/release/lumo'。
-
运行
target/release/lumo运行后,程序将提示您输入任务。输入 'exit' 可以退出程序。
API Key 设置: 您需要将LLM提供商的API密钥设置为环境变量或通过参数传递。
-
添加到PATH (可选) 您可以将构建好的 'lumo' 二进制文件添加到系统PATH环境变量中,这样就可以在终端中直接使用 'lumo' 命令。
-
使用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 使用
-
构建 Server Docker 镜像
docker build -f server.Dockerfile -t lumo-server . -
运行 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 -
拉取预构建 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与计算