使用 VoltAgent 和 Hugging Face MCP 构建 AI 代理:完整指南

社区文章 发布于2025年7月3日

在快速发展的 AI 开发世界中,创建能够与多个 AI 模型和服务无缝交互的智能代理已成为一项关键能力。今天,我们将探讨如何使用 VoltAgent 的 TypeScript 框架结合 Hugging Face 的 MCP 集成来构建强大的 AI 代理。

引言:完美的 AI 代理堆栈

VoltAgent 是一个开源的 TypeScript 框架,旨在帮助开发人员摆脱无代码构建器的限制,同时避免从零开始的复杂性。当它与 Hugging Face 庞大的 AI 模型生态系统通过模型上下文协议 (MCP) 结合时,它就创建了一个构建复杂 AI 代理的强大平台。

MCP 是一种革命性的方法,允许 AI 代理动态连接外部服务和模型。MCP 使代理能够在运行时发现和使用工具,而不是硬编码集成,从而使其更具灵活性和能力。

为什么选择 VoltAgent + Hugging Face MCP?

image/webp

这种组合提供了几个引人注目的优势

  • 访问 500,000 多个模型:利用 Hugging Face 庞大的模型生态系统
  • 动态工具发现:代理自动发现可用功能
  • 多模态能力:在单个代理中处理文本、图像、音频等
  • 生产就绪:采用 TypeScript 构建,适用于企业级应用程序
  • 简单集成:只需几行代码即可连接一切

项目设置:入门

让我们深入构建我们的代理。首先,使用 Hugging Face MCP 模板创建一个新的 VoltAgent 项目

npm create voltagent-app@latest -- --example with-hugging-face-mcp

💡 完整源代码:您可以在 VoltAgent Hugging Face MCP 示例 中查看完整的项目代码

前提条件

在开始之前,请确保您已具备以下条件

  • Node.js(v20 或更高版本)
  • 一个 OpenAI API 密钥
  • 一个 Hugging Face 帐户和 API 令牌

环境配置

创建一个 .env 文件,其中包含您的凭据

OPENAI_API_KEY=your_openai_api_key_here
HUGGING_FACE_TOKEN=your_huggingface_token_here

获取 Hugging Face 令牌

  1. 访问 https://huggingface.co/settings/tokens
  2. 创建一个具有读取权限的新令牌
  3. 将令牌复制到您的 .env 文件中

代码深入:构建代理

我们集成的核心在于 src/index.ts 文件。让我们来分解这个优雅的解决方案是如何工作的

import VoltAgent, { Agent, MCPConfiguration } from "@voltagent/core";
import { VercelAIProvider } from "@voltagent/vercel-ai";
import { openai } from "@ai-sdk/openai";

async function main() {
  try {
    // Configure MCP connection to Hugging Face
    const mcpConfig = new MCPConfiguration({
      servers: {
        "hf-mcp-server": {
          url: "https://huggingface.co/mcp",
          requestInit: {
            headers: { Authorization: `Bearer ${process.env.HUGGING_FACE_TOKEN}` },
          },
          type: "http",
        },
      },
    });

    // Create the agent with dynamic tools
    const agent = new Agent({
      name: "Hugging Face MCP Agent",
      instructions: "You are a helpful assistant with access to Hugging Face MCP tools.",
      tools: await mcpConfig.getTools(),
      llm: new VercelAIProvider(),
      model: openai("gpt-4o-mini"),
    });

    // Initialize VoltAgent
    new VoltAgent({
      agents: {
        agent,
      },
    });
  } catch (error) {
    console.error("Failed to initialize VoltAgent:", error);
  }
}

main();

🔍 探索代码:在 GitHub 仓库 中查看完整实现

理解 MCP 配置

MCPConfiguration 类是魔法发生的地方

  • URL:指向 Hugging Face 的 MCP 端点
  • 身份验证:使用您的 Hugging Face 令牌进行安全访问
  • 动态工具加载getTools() 在运行时获取可用功能

这意味着您的代理在 Hugging Face 添加新模型和功能时会自动访问它们,而无需更改代码!

代理创建过程

Agent 类将所有内容整合在一起

  1. 名称:在 VoltAgent 平台中识别您的代理
  2. 指令:定义代理的行为和个性
  3. 工具:来自 MCP 配置的动态工具
  4. LLM 提供商:使用 Vercel AI SDK 进行模型交互
  5. 模型:指定要使用的语言模型(本例中为 GPT-4o-mini)

📖 深入了解:在 VoltAgent 文档 中了解更多关于代理配置的信息

实际示例:代理实战

一旦部署,您的代理可以处理各种各样的任务。让我们探索一些令人兴奋的可能性

使用 FLUX.1-schnell 生成图像

User: "Can you generate an image of a cyberpunk cityscape at sunset?"

Agent: I'll create that image for you using the FLUX.1-schnell model.
[Agent generates stunning cyberpunk cityscape]

代理自动选择最佳可用图像生成模型并处理整个工作流。

使用 StyleTTS2 进行文本转语音

User: "Convert this presentation script to speech: 'Welcome to our quarterly review...'"

Agent: I'll convert your script to natural-sounding speech using StyleTTS2.
[Agent returns high-quality audio file]

非常适合创建播客、演示文稿或辅助功能。

使用 QVQ-72B-preview 进行视觉分析

User: [Uploads image] "What's happening in this photo?"

Agent: I can see this is a busy street market scene. There are vendors selling
fresh fruits and vegetables, with customers browsing the stalls. The lighting
suggests it's early morning, and I can identify several types of produce...

代理可以分析复杂的视觉内容并提供详细的描述。

高级配置和最佳实践

使用私有空间

对于企业用例,您可能希望连接到私有 Hugging Face Spaces

const mcpConfig = new MCPConfiguration({
  servers: {
    "private-hf-server": {
      url: "https://your-private-space.hf.space/mcp",
      requestInit: {
        headers: {
          Authorization: `Bearer ${process.env.HUGGING_FACE_TOKEN}`,
          "X-Custom-Header": "your-value",
        },
      },
      type: "http",
    },
  },
});

多服务器配置

通过连接到多个 MCP 服务器来扩展您的代理

const mcpConfig = new MCPConfiguration({
  servers: {
    huggingface: {
      url: "https://huggingface.co/mcp",
      requestInit: {
        headers: { Authorization: `Bearer ${process.env.HUGGING_FACE_TOKEN}` },
      },
      type: "http",
    },
    "custom-models": {
      url: "https://your-custom-endpoint.com/mcp",
      requestInit: {
        headers: { Authorization: `Bearer ${process.env.CUSTOM_TOKEN}` },
      },
      type: "http",
    },
  },
});

运行你的代理

以开发模式启动您的代理

pnpm dev

然后访问 VoltAgent Console 通过网页界面与您的代理进行交互。

使用 VoltOps 进行监控和可观测性

VoltAgent 最强大的功能之一是集成的 VoltOps LLM 可观测性平台。与传统的基于文本的日志工具不同,VoltOps 提供了一个与框架无关的解决方案,用于在任何技术堆栈中监控、调试和改进您的 AI 代理。

交互式工作流可视化

VoltOps 将复杂的代理交互转换为交互式流程图,使其非常易于理解

  • 多代理交互:查看不同代理如何协作
  • 工具使用模式:跟踪正在使用的 Hugging Face 模型
  • 决策流程:了解代理的推理过程
  • 性能指标:监控响应时间和成功率

实时监控仪表板

当您的 Hugging Face MCP 代理运行时,您可以访问 VoltOps 平台 https://console.voltagent.dev/demo 以进行以下操作

✅ Track model invocations (FLUX.1-schnell, StyleTTS2, etc.)
✅ Monitor MCP tool usage and success rates
✅ Debug failed Hugging Face API calls
✅ Visualize the complete conversation flow
✅ Analyze performance bottlenecks

生产就绪的可观测性

对于生产部署,VoltOps 提供企业级监控

import { Agent, VoltAgent, VoltOpsClient } from "@voltagent/core";

const voltOpsClient = new VoltOpsClient({
  publicKey: "your_voltops_public_key",
  secretKey: "your_voltops_secret_key",
});

const agent = new Agent({
  name: "Production HF Agent",
  instructions: `You are a helpful assistant with access to Hugging Face tools.
                 All interactions are monitored via VoltOps for quality assurance.`,
  tools: await mcpConfig.getTools(),
  llm: new VercelAIProvider(),
  model: openai("gpt-4o-mini"),
  // VoltOps automatically captures all agent interactions
});

new VoltAgent({
  agents: { agent },
  voltOpsClient: voltOpsClient,
});

这意味着您可以

  • 调试问题:当 Hugging Face 模型失败时,准确查看发生了什么
  • 优化性能:识别缓慢的模型调用并相应地进行优化
  • 监控质量:跟踪对话质量和用户满意度
  • 自信扩展:在扩展之前了解使用模式

🔍 尝试演示:在 console.voltagent.dev/demo 体验 VoltOps 交互式监控

AI 代理开发的未来

这种集成代表着 AI 代理开发向前迈出了重要一步。通过将 VoltAgent 强大的框架与 Hugging Face 通过 MCP 的模型生态系统相结合,我们创建了以下代理

  • 面向未来:自动访问新模型
  • 灵活:处理文本、图像和音频任务的任意组合
  • 可扩展:采用 TypeScript 构建,适用于企业部署
  • 经济高效:为每个任务选择合适的模型
  • 可观测:通过 VoltOps 完全了解代理行为

结论和后续步骤

VoltAgent + Hugging Face MCP 集成展示了现代 AI 开发应如何运作:无缝、强大且对开发人员友好。只需几行代码,我们就创建了一个能够处理复杂多模态任务的代理,而 VoltOps 确保您可以完全了解其行为。

接下来?

AI 的未来已至,并且比以往任何时候都更容易访问。立即开始构建您的智能代理。

社区

注册登录 以发表评论