Hugging Face Blog
85

Thủ thuật

Hướng dẫn xây dựng và triển khai quy trình làm việc AI với Gradio

(giờ Việt Nam)

Tóm tắt AI

Bài viết hướng dẫn chi tiết cách kết nối, vận hành và triển khai các quy trình xử lý AI phức tạp bằng công cụ Gradio, giúp tối ưu hóa việc đưa mô hình vào thực tế.

Bản dịch AI

Wire It, Run It, Deploy It: AI Workflows in Gradio

Hầu hết các ứng dụng AI thú vị đều là các quy trình (pipelines). Bạn tạo ra một hình ảnh, sau đó xóa nền nếu muốn, hoặc chỉnh sửa nó thành một thứ gì đó mới mẻ. Bạn viết một kịch bản, sau đó tạo giọng nói cho nó, hoặc thay đổi giọng nói trong khi vẫn giữ nguyên kịch bản. Chúng ta thường kết nối các bước này lại với nhau bằng Python, và ngay khi có điều gì đó không ổn, chúng ta lại quay về với việc print-debugging để tìm xem bước nào đã tạo ra giá trị bất thường.

gr.Workflow, được tích hợp ngay trong Gradio, biến quy trình thành giao diện. Bạn mô tả các bước của mình dưới dạng một đồ thị các nút (nodes) có kiểu dữ liệu, và Gradio cung cấp một khung làm việc kéo-thả nơi mọi nút đều có thể chạy được và mọi kết quả trung gian đều có thể nhìn thấy. Đồ thị đó cũng đồng thời là một REST API và có thể triển khai chỉ với một lệnh lên Hugging Face Spaces.

Cách tốt nhất để nắm bắt ý tưởng là xem một vài quy trình hoạt động thực tế. Mỗi ứng dụng dưới đây là một Hugging Face Space trực tiếp mà bạn có thể mở, chạy và sao chép (duplicate).

Chỉnh sửa hình ảnh

Tải lên một hình ảnh, nhập yêu cầu chỉnh sửa ("biến nó thành khung cảnh mùa đông đầy tuyết", "thêm kính râm", "làm cho chiếc xe có màu đỏ"), và nhận lại bức ảnh đã chỉnh sửa. Toàn bộ ứng dụng chỉ là một nút duy nhất gọi Qwen-Image-Edit trên Hugging Face Inference Providers.

👉 Thử nghiệm quy trình chỉnh sửa ảnh (Image Editor Pipeline)

Kết nối các mô hình thực tế thành một studio đa phương tiện

Một đồ thị, ba quy trình. Bắt đầu với một câu lệnh (prompt) và tạo hình ảnh bằng FLUX, sau đó chuyển nó đến một Gradio Space xóa nền để biến nó thành một nhãn dán (sticker). Một chủ đề sẽ trở thành lời dẫn thông qua một Gradio Space chuyển văn bản thành giọng nói (text-to-speech), trong khi cùng chủ đề đó trở thành tiêu đề tập phim hấp dẫn thông qua một lệnh gọi LLM.

Đó là một khung làm việc, hai lệnh gọi mô hình thông qua Hugging Face Inference Providers, và hai lệnh gọi đến các Gradio Spaces.

Vì đây là một quy trình làm việc (workflow), mỗi kết quả trong ba đầu ra cũng có REST endpoint riêng: /sticker, /voiceover, và /episode_title. Bạn có thể gọi trực tiếp bất kỳ endpoint nào từ mã nguồn mà không cần mở giao diện người dùng (UI). Xem phần "Gọi từ mã nguồn" bên dưới để biết ví dụ có thể chạy được.

👉 Thử nghiệm AI Media Studio

Phân nhánh tạo hình ảnh song song

Nhập một ý tưởng, và nó sẽ biến thành một bộ tác phẩm nghệ thuật được tạo ra cùng lúc: một hình ảnh gốc từ FLUX, hai phiên bản tái hiện bằng AI của hình ảnh đó (một phiên bản màu nước nhẹ nhàng và một phiên bản neon cyberpunk), và một tiêu đề thư viện do LLM viết.

Mỗi hình ảnh được tạo trực tiếp từ câu lệnh bởi một nút mô hình sử dụng Inference Providers, trong khi tiêu đề đến từ một nút fn gọi LLM. Đây là mô hình phân nhánh (fan-out) trong thực tế: một ý tưởng có thể cung cấp dữ liệu cho nhiều toán tử (operators) cùng lúc, tất cả đều tạo ra kết quả song song.

👉 Thử nghiệm Generative Art Lab

Phân tích dữ liệu từ Hugging Face dataset

Nhập một ID tập dữ liệu Hugging Face, chẳng hạn như stanfordnlp/imdb hoặc mteb/tweet_sentiment_extraction, và một đầu vào duy nhất sẽ phân nhánh đến bốn nút toán tử để phân tích tập dữ liệu trực tiếp bằng Datasets Server API.

Bạn sẽ nhận được một thẻ tổng quan, bản xem trước của vài hàng đầu tiên, số liệu thống kê theo cột và biểu đồ phân phối, tất cả đều được tính toán độc lập và song song. Đó chính là sức mạnh của quy trình làm việc!

👉 Thử nghiệm Data Detective

Chạy mô hình GPU của riêng bạn

Mọi nút cho đến nay đều kết nối với Hugging Face. Nhưng một nút fn chỉ đơn giản là Python, nghĩa là nó cũng có thể chạy một mô hình bên trong Space trên GPU.

Gắn decorator @spaces.GPU vào hàm đã liên kết và khi nút chạy, ZeroGPU sẽ lấy một GPU cho lệnh gọi đó, chạy mô hình và giải phóng nó. Chúng ta không phải lúc nào cũng cần dựa vào Inference Providers hoặc các Gradio Spaces có sẵn.

Hãy xem bản demo này, nó tạo hiệu ứng chuyển động cho một hình ảnh tĩnh bằng cách sử dụng Lightricks/LTX-Video được tải qua Diffusers, chạy hoàn toàn thông qua một nút duy nhất. gr.Workflow không cần biết bất cứ điều gì về thiết lập GPU của bạn. Nó chỉ đơn giản là gọi hàm đã được liên kết.

👉 Thử nghiệm ZeroGPU Animator

Tóm tắt cách thức hoạt động

Mỗi quy trình làm việc là một đồ thị với ba loại nút: tham chiếu (đầu vào của bạn), toán tử (các bước thực hiện công việc) và chủ thể (đầu ra của bạn). Một toán tử có thể là hàm Python của riêng bạn, một mô hình trên Hugging Face Inference Providers, một Gradio Space khác hoặc một hàng từ tập dữ liệu trên Hub. Bạn kết nối chúng bằng cách kéo thả giữa các cổng (ports) có kiểu dữ liệu tương ứng, nhấn Run và xem từng kết quả xuất hiện tại chỗ.

Gọi từ mã nguồn

Mọi quy trình làm việc bạn xây dựng cũng là một API mà không cần thêm bất kỳ công việc nào. Mỗi đầu ra trở thành một REST endpoint được đặt tên theo nhãn của nó, và bạn có thể gọi nó từ Python bằng Gradio client. Đây là một ví dụ trực tiếp, không cần token đối với Space demo đa endpoint, chính xác như hiện trạng:

Các endpoint gọi mô hình hoặc Space chạy dưới một token Hugging Face, vì vậy hãy truyền token khi bạn tạo client:

Bạn thích dùng HTTP thuần túy? Mọi endpoint cũng có thể truy cập được qua curl:

Tự xây dựng quy trình của riêng bạn

Cách nhanh nhất là mở bất kỳ bản demo nào ở trên, nhấp vào Duplicate và bắt đầu kết nối lại. Từ Python, chỉ cần ngắn gọn như sau:

Để xem hướng dẫn đầy đủ, các loại toán tử, lược đồ JSON và các mẫu có thể tái sử dụng, hãy xem hướng dẫn gr.Workflow chính thức trong tài liệu Gradio.

Bạn thậm chí có thể xây dựng một thứ phức tạp như AUTOMATIC1111 với gr.Workflow. Hãy theo dõi bài viết tiếp theo của chúng tôi, nơi chúng tôi sẽ hướng dẫn xây dựng nó từng bước một. Đây là một cái nhìn thoáng qua 😉👇

Đọc bài gốc

Bài viết được AI dịch và tổng hợp tự động từ Hugging Face Blog. Liên kết bài gốc ở phía trên. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.