Năm cải tiến lớn cho máy chủ Gradio MCP
Bài viết này trình bày năm cải tiến đáng kể đối với máy chủ Gradio MCP.
- 5 min read
Năm Cải Tiến Lớn cho Máy Chủ Gradio MCP
Gradio là một gói Python mã nguồn mở để tạo các ứng dụng web hỗ trợ AI. Gradio tuân thủ giao thức máy chủ MCP và cung cấp năng lượng cho hàng nghìn máy chủ MCP được lưu trữ trên Hugging Face Spaces. Nhóm Gradio đang đặt cược lớn vào Gradio và Spaces là cách tốt nhất để xây dựng và lưu trữ các máy chủ MCP hỗ trợ AI.
Để đạt được mục tiêu đó, đây là một số cải tiến lớn mà chúng tôi đã thêm vào máy chủ Gradio MCP kể từ phiên bản 5.38.0.
Hỗ trợ Tệp cục bộ liền mạch
Nếu bạn đã thử sử dụng máy chủ Gradio MCP từ xa nhận tệp làm đầu vào (hình ảnh, video, âm thanh), có thể bạn đã gặp lỗi này:
Điều này xảy ra do máy chủ Gradio được lưu trữ trên một máy khác, có nghĩa là mọi tệp đầu vào phải có thể truy cập qua URL công khai để có thể tải xuống từ xa.
Mặc dù có nhiều cách để lưu trữ tệp trực tuyến, nhưng tất cả đều thêm một bước thủ công vào quy trình làm việc của bạn. Trong kỷ nguyên của các tác nhân LLM, chúng ta không nên mong đợi chúng xử lý việc này cho bạn sao?
Gradio hiện bao gồm một máy chủ MCP “Tải tệp lên” mà các tác nhân có thể sử dụng để tải tệp trực tiếp lên ứng dụng Gradio của bạn. Nếu bất kỳ công cụ nào trong máy chủ Gradio MCP của bạn yêu cầu đầu vào tệp, tài liệu kết nối sẽ hiển thị cho bạn cách khởi động máy chủ MCP “Tải tệp lên”:
Tìm hiểu thêm về cách sử dụng máy chủ này (và các cân nhắc bảo mật quan trọng) trong Hướng dẫn Gradio.
Thông báo tiến trình theo thời gian thực
Tùy thuộc vào tác vụ AI, việc nhận kết quả có thể mất một chút thời gian. Giờ đây, Gradio truyền phát thông báo tiến trình đến ứng dụng khách MCP của bạn, cho phép bạn theo dõi trạng thái theo thời gian thực!
Là một nhà phát triển MCP, bạn nên triển khai các công cụ MCP của mình để phát ra các trạng thái tiến trình này. Hướng dẫn của chúng tôi sẽ hướng dẫn bạn cách thực hiện.
Chuyển đổi Thông số kỹ thuật OpenAPI sang MCP trong một dòng
Nếu bạn muốn tích hợp API phụ trợ hiện có vào LLM, bạn phải ánh xạ thủ công các điểm cuối API tới các công cụ MCP. Điều này có thể là một công việc tốn thời gian và dễ xảy ra lỗi. Với bản phát hành này, Gradio có thể tự động hóa toàn bộ quy trình cho bạn! Với một dòng mã duy nhất, bạn có thể tích hợp phụ trợ doanh nghiệp của mình vào bất kỳ LLM tương thích với MCP nào.
OpenAPI là một tiêu chuẩn được áp dụng rộng rãi để mô tả API RESTful ở định dạng máy có thể đọc được, thường là dưới dạng tệp JSON. Gradio hiện có hàm gr.load_openapi, hàm này tạo ứng dụng Gradio trực tiếp từ lược đồ OpenAPI. Sau đó, bạn có thể khởi chạy ứng dụng với mcp_server=True để tự động tạo máy chủ MCP cho API của bạn!
import gradio as gr
demo = gr.load_openapi(
openapi_spec="https://petstore3.swagger.io/api/v3/openapi.json",
base_url="https://petstore3.swagger.io/api/v3",
paths=["/pet.*"],
methods=["get", "post"],
)
demo.launch(mcp_server=True)
Tìm thêm chi tiết trong Hướng dẫn của Gradio.
Cải tiến xác thực
Một mẫu phổ biến trong phát triển máy chủ MCP là sử dụng tiêu đề xác thực để gọi các dịch vụ thay mặt cho người dùng của bạn. Với tư cách là nhà phát triển máy chủ MCP, bạn muốn truyền đạt rõ ràng cho người dùng của mình những thông tin đăng nhập nào họ cần cung cấp để sử dụng máy chủ đúng cách.
Để thực hiện điều này, giờ đây bạn có thể nhập các đối số máy chủ MCP của mình dưới dạng gr.Header. Gradio sẽ tự động trích xuất tiêu đề đó từ yêu cầu đến (nếu có) và chuyển nó đến hàm của bạn. Lợi ích của việc sử dụng gr.Header là tài liệu kết nối MCP sẽ tự động hiển thị các tiêu đề bạn cần cung cấp khi kết nối với máy chủ!
Trong ví dụ bên dưới, tiêu đề X-API-Token được trích xuất từ yêu cầu đến và được chuyển vào làm đối số x_api_token cho make_api_request_on_behalf_of_user.
import gradio as gr
def make_api_request_on_behalf_of_user(prompt: str, x_api_token: gr.Header):
"""Make a request to everyone's favorite API.
Args:
prompt: The prompt to send to the API.
Returns:
The response from the API.
Raises:
AssertionError: If the API token is not valid.
"""
return "Hello from the API" if not x_api_token else "Hello from the API with token!"
demo = gr.Interface(
make_api_request_on_behalf_of_user,
[
gr.Textbox(label="Prompt"),
],
gr.Textbox(label="Response"),
)
demo.launch(mcp_server=True)
Bạn có thể đọc thêm về điều này trong Hướng dẫn Gradio.
Sửa đổi mô tả công cụ
Gradio tự động tạo mô tả công cụ từ tên hàm và chuỗi tài liệu của bạn. Giờ đây, bạn có thể tùy chỉnh mô tả công cụ hơn nữa bằng tham số api_description. Trong ví dụ này, mô tả công cụ sẽ đọc “Áp dụng bộ lọc màu nâu đỏ cho bất kỳ hình ảnh nào.”
import gradio as gr
import numpy as np
def sepia(input_img):
"""
Args:
input_img (np.array): The input image to apply the sepia filter to.
Returns:
The sepia filtered image.
"""
sepia_filter = np.array([
[0.393, 0.769, 0.189],
[0.349, 0.686, 0.168],
[0.272, 0.534, 0.131]
])
sepia_img = input_img.dot(sepia_filter.T)
sepia_img /= sepia_img.max()
return sepia_img
gr.Interface(sepia, "image", "image",
api_description="Apply a sepia filter to any image.")\
.launch(mcp_server=True)
Đọc thêm trong hướng dẫn.
Kết luận
Bạn muốn chúng tôi thêm một tính năng liên quan đến MCP mới vào Gradio? Hãy cho chúng tôi biết trong phần bình luận của blog hoặc trên GitHub. Ngoài ra, nếu bạn đã xây dựng một máy chủ MCP hoặc ứng dụng Gradio thú vị, hãy cho chúng tôi biết trong phần bình luận và chúng tôi sẽ khuếch đại nó!
Link bài viết gốc
- Tags:
- Ai
- July 17, 2025
- Huggingface.co