项目简介

Avalan是一个强大的AI代理开发、编排和部署微框架,支持多后端(如Hugging Face Transformers, vLLM, mlx-lm)和多模态(文本、视觉、音频)AI模型,并提供高级内存管理和多种推理策略。它通过统一的SDK和CLI,使用户能够轻松构建和部署智能AI解决方案。

主要功能点

  • 多模态支持: 无缝集成处理文本、图像和音频等多种数据类型。
  • 多后端兼容: 支持Hugging Face Transformers, vLLM, MLX-LM等流行AI引擎。
  • 广泛的适配器: 内置Amazon Bedrock, OpenAI, Anthropic, Google Gemini等多个大型AI服务API的适配器。
  • 高级内存管理: 提供PostgreSQL (pgvector), Elasticsearch, AWS Opensearch, AWS S3 Vectors等多种持久化存储方案,用于会话记忆和知识库。
  • 多种推理策略: 提供ReACT, Chain-of-Thought, Tree-of-Thought等多种复杂的推理策略,指导AI代理决策。
  • 灵活的AI工作流: 支持分支、过滤和递归的AI工作流,实现复杂任务的编排和执行。
  • 原生MCP服务器: 能够将Avalan的AI代理作为MCP服务器对外暴露,支持通过JSON-RPC协议进行工具调用、资源访问和Prompt渲染。
  • 统一接口: 提供直观的命令行工具(CLI)和Python SDK,方便进行交互和集成。

安装步骤

  • macOS用户 (使用Homebrew):
    brew tap avalan-ai/avalan
    brew install avalan
  • 其他环境 (使用Poetry): 确保您的系统已安装Python Poetry。
    poetry install avalan --extras all
  • 针对Nvidia GPU优化 (额外安装): 如果您拥有Nvidia GPU,可以安装'nvidia'额外依赖,以利用'vllm'后端和量化模型。
    poetry install avalan --extras all --extras nvidia
  • 针对Apple Silicon Mac优化 (额外安装): 如果您在Apple Silicon Mac上运行,可以安装'apple'额外依赖,以利用'mlx'后端加速。
    poetry install avalan --extras all --extras apple
    温馨提示:在macOS上,如果遇到'sentencepiece'构建失败,请确保已安装Xcode CLI工具,并使用Homebrew安装'cmake'、'pkg-config'、'protobuf'和'sentencepiece'。

服务器配置 (MCP客户端使用)

Avalan MCP服务器通过 'avalan agent serve' 命令启动。您的MCP客户端需要以下JSON格式的配置信息来与MCP服务器建立连接并调用其提供的工具:

{
  "server_name": "Avalan Agent MCP Server",
  "command": "avalan",
  "args": [
    "agent",
    "serve",
    "docs/examples/agent_tool.toml", // 替换为您的代理配置文件路径
    "--port", "9001", // 服务器监听端口,默认为9001
    "--mcp-name", "run", // MCP客户端将看到的工具名称,默认为"run"
    "--mcp-description", "Runs the configured Avalan agent.", // MCP客户端将看到的工具描述
    "-vvv" // 可选:启用详细日志输出
    // 如果您不想使用配置文件,也可以直接在命令行中定义代理:
    // "--engine-uri", "NousResearch/Hermes-3-Llama-3.1-8B",
    // "--tool", "math.calculator",
    // "--memory-recent",
    // "--run-max-new-tokens", "1024",
    // "--name", "MyCalculatorAgent",
    // "--role", "You are a helpful assistant that can perform calculations."
  ],
  "notes": "此配置用于启动Avalan代理服务器,并将其作为MCP服务器对外暴露。请根据您实际的代理配置文件路径 ('docs/examples/agent_tool.toml') 以及希望在MCP客户端中显示的工具名称 ('--mcp-name') 和描述 ('--mcp-description') 进行调整。服务器默认会在 'http://localhost:9001/mcp' 路径下提供MCP服务。"
}

基本使用方法

  1. 启动MCP服务器: 在终端中,使用一个代理配置文件(例如仓库提供的'docs/examples/agent_tool.toml')启动Avalan代理服务器。

    avalan agent serve docs/examples/agent_tool.toml --mcp-name "myAgentTool" --mcp-description "My custom agent tool." -vvv

    服务器默认会在 'http://localhost:9001/mcp' 上运行。

  2. 使用MCP客户端连接并调用工具: 配置您的MCP客户端,使其连接到服务器地址(例如 'http://localhost:9001/mcp')。客户端可以通过JSON-RPC协议来发现服务器上注册的工具(例如 'myAgentTool'),并发送请求进行调用。 提示:您可以使用MCP Inspector (https://modelcontextprotocol.io/docs/tools/inspector) 连接到您的MCP服务器。连接后,您可以列出可用的工具(如'myAgentTool'),然后选择并执行它们,并观察服务器返回的流式通知和最终结果,包括推理过程和任何工具调用及其参数和输出。

信息

分类

开发者工具