Hub documentation
Создание с помощью SDK
Создание с помощью SDK
Создавайте агентов на базе MCP с помощью агентных SDK Hugging Face. Библиотеки huggingface_hub (Python) и @huggingface/tiny-agents (JavaScript) предоставляют всё необходимое для подключения LLM к инструментам MCP.
Установка
pip install "huggingface_hub[mcp]"npm install @huggingface/tiny-agents
# or
pnpm add @huggingface/tiny-agentsБыстрый старт: запуск агента
Самый быстрый способ начать работу — это CLI tiny-agents:
tiny-agents run julien-c/flux-schnell-generator
npx @huggingface/tiny-agents run "julien-c/flux-schnell-generator"Это загружает агента из коллекции tiny-agents, подключается к его MCP-серверам и запускает интерактивный чат.
Использование класса Agent
Класс Agent управляет циклом чата и выполнением инструментов MCP. Для запуска LLM он использует Inference Providers.
from huggingface_hub import Agent
import asyncio
agent = Agent(
model="Qwen/Qwen2.5-72B-Instruct",
provider="novita",
servers=[
{
"type": "sse",
"url": "https://huggingface.co/proxy/evalstate-flux1-schnell.hf.space/gradio_api/mcp/sse"
}
]
)
async def main():
async for chunk in agent.run("Generate an image of a sunset"):
if hasattr(chunk, 'choices'):
delta = chunk.choices[0].delta
if delta.content:
print(delta.content, end="")
asyncio.run(main())См. справочник по Agent для всех вариантов.
import { Agent } from "@huggingface/tiny-agents";
const agent = new Agent({
model: "Qwen/Qwen2.5-72B-Instruct",
provider: "novita",
apiKey: process.env.HF_TOKEN,
servers: [
{
type: "sse",
url: "https://huggingface.co/proxy/evalstate-flux1-schnell.hf.space/gradio_api/mcp/sse"
}
]
});
await agent.loadTools();
for await (const chunk of agent.run("Generate an image of a sunset")) {
if ("choices" in chunk) {
const delta = chunk.choices[0]?.delta;
if (delta.content) {
console.log(delta.content);
}
}
}См. документацию tiny-agents для всех вариантов.
Использование MCPClient напрямую
Для более точного управления используйте MCPClient, чтобы напрямую управлять MCP-серверами и вызовами инструментов.
import asyncio
from huggingface_hub import MCPClient
async def main():
async with MCPClient(
model="Qwen/Qwen2.5-72B-Instruct",
provider="novita",
) as client:
# Connect to an MCP server
await client.add_mcp_server(
type="sse",
url="https://huggingface.co/proxy/evalstate-flux1-schnell.hf.space/gradio_api/mcp/sse"
)
# Process a request with tools
messages = [{"role": "user", "content": "Generate an image of a sunset"}]
async for chunk in client.process_single_turn_with_tools(messages):
if hasattr(chunk, 'choices'):
delta = chunk.choices[0].delta
if delta.content:
print(delta.content, end="")
asyncio.run(main())См. справочник MCPClient для всех параметров.
JavaScript SDK использует класс Agent для взаимодействий с MCP. Для более низкого уровня управления см. пакет @huggingface/mcp-client.
Поделитесь своим агентом
Внесите агентов в коллекцию tiny-agents на Hub. Включите:
agent.json— конфигурация агента (обязательно)PROMPT.mdилиAGENTS.md— системный промпт (необязательно)EXAMPLES.md— Примеры промптов и сценариев использования (необязательно)
Подробнее
- huggingface_hub MCP Reference — Справочник Python API
- Документация tiny-agents — Справочник JavaScript API
- Поставщики инференса - Доступные провайдеры LLM
- Коллекция tiny-agents — Просмотр агентов сообщества
- Руководство по MCP Server - Подключение к MCP Server Hugging Face