Hub documentation
Xây dựng với SDK
Xây dựng với SDK
Xây dựng các agent sử dụng MCP với các SDK agentic của Hugging Face. Các thư viện huggingface_hub (Python) và @huggingface/tiny-agents (JavaScript) cung cấp mọi thứ bạn cần để kết nối LLM với các công cụ MCP.
Cài đặt
pip install "huggingface_hub[mcp]"npm install @huggingface/tiny-agents
# or
pnpm add @huggingface/tiny-agentsBắt đầu nhanh: Chạy một Agent
Cách nhanh nhất để bắt đầu là sử dụng CLI tiny-agents:
tiny-agents run julien-c/flux-schnell-generator
npx @huggingface/tiny-agents run "julien-c/flux-schnell-generator"Điều này tải một agent từ bộ sưu tập tiny-agents, kết nối với các máy chủ MCP của nó và bắt đầu một cuộc trò chuyện tương tác.
Sử dụng Lớp Agent
Lớp Agent quản lý vòng lặp trò chuyện và thực thi công cụ MCP. Nó sử dụng Inference Providers để chạy LLM.
from huggingface_hub import Agent
import asyncio
agent = Agent(
model="Qwen/Qwen2.5-72B-Instruct",
provider="novita",
servers=[
{
"type": "sse",
"url": "https://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())Xem Tham khảo Agent để biết tất cả các tùy chọn.
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://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);
}
}
}Xem tài liệu tiny-agents để biết tất cả các tùy chọn.
Sử dụng MCPClient trực tiếp
Để có nhiều quyền kiểm soát hơn, hãy sử dụng MCPClient để quản lý trực tiếp các máy chủ MCP và các cuộc gọi công cụ.
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://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())Xem tham chiếu MCPClient để biết tất cả các tùy chọn.
JavaScript SDK sử dụng lớp Agent cho các tương tác MCP. Để có quyền kiểm soát ở mức thấp hơn, hãy xem gói @huggingface/mcp-client.
Chia sẻ Agent của bạn
Đóng góp các agent vào bộ sưu tập tiny-agents trên Hub. Bao gồm:
agent.json- Cấu hình Agent (bắt buộc)PROMPT.mdhoặcAGENTS.md- Prompt hệ thống (tùy chọn)EXAMPLES.md- Các prompt và trường hợp sử dụng mẫu (không bắt buộc)
Tìm hiểu thêm
- Tham khảo MCP của huggingface_hub - Tham khảo API Python
- Tài liệu tiny-agents - Tham chiếu API JavaScript
- Nhà cung cấp suy luận - Các nhà cung cấp LLM khả dụng
- Bộ sưu tập tiny-agents - Xem các tác nhân của cộng đồng
- Hướng dẫn MCP Server - Kết nối với Hugging Face MCP Server