Chạy Mô Hình Ngôn Ngữ Lớn Trên Docker với Qwen 3 và .NET Semantic Kernel
Giới thiệu
Phát triển trí tuệ nhân tạo (AI) đang diễn ra với tốc độ chóng mặt. Tuy nhiên, một điều vẫn cản trở các nhà phát triển là việc phụ thuộc vào các API đám mây. Nhưng bạn đã bao giờ nghĩ đến việc có thể chạy các Mô Hình Ngôn Ngữ Lớn (LLMs) mạnh mẽ ngay trên máy tính cá nhân của mình, giống như việc khởi động một container Docker chưa?
Trong bài viết này, tôi sẽ hướng dẫn bạn:
- Chạy LLMs cục bộ bằng Docker Model Runner
- Tải và chạy mô hình Qwen 3
- Kết nối nó với một ứng dụng console .NET sử dụng Semantic Kernel
Hãy cùng bắt đầu! 🚀
Để có một hướng dẫn chi tiết hơn, bạn hãy xem video trên YouTube của tôi, nơi tôi trình bày từng bước một!
🔹 Tại sao nên chạy LLMs trong Docker?
Docker hiện đang là tiêu chuẩn cho việc đóng gói và chạy ứng dụng. Giờ đây, với Docker Model Runner, bạn có thể:
- Tải các mô hình AI giống như hình ảnh Docker
- Chạy các mô hình cục bộ mà không cần API đám mây
- Cung cấp các API tương thích với OpenAI để tích hợp dễ dàng vào ứng dụng
Điều này có nghĩa là bạn có thể kiểm tra, lập mẫu và thậm chí triển khai các tải công việc AI cục bộ — mà không tốn phí và bảo mật thông tin.
🔹 Bước 1: Bật Docker Model Runner
Mở Docker Desktop → Cài đặt → Tính năng AI và bật:
- ✅ Docker Model Runner
- ✅ Hỗ trợ TCP phía máy chủ (trên cổng
12434)
Điều này cho phép các mô hình cung cấp các API REST mà bạn có thể gọi từ ứng dụng của mình.
🔹 Bước 2: Tải và chạy mô hình Qwen 3
Mở terminal và chạy:
# Tải mô hình
docker model pull qwen/qwen-3b
# Chạy mô hình
docker model run qwen/qwen-3b
Bạn sẽ thấy một phiên trò chuyện tương tác nơi bạn có thể đặt câu hỏi.
Ví dụ:
> Xin chào
< Chào bạn! Tôi có thể giúp gì cho bạn hôm nay?
🔹 Bước 3: Sử dụng API REST
Mô hình cung cấp các điểm cuối trên:
http://localhost:12434/v1
Ví dụ, để liệt kê các mô hình có sẵn:
curl http://localhost:12434/models
Bạn sẽ thấy thông tin chi tiết về Qwen 3 và bất kỳ mô hình nào khác mà bạn đã tải về.
🔹 Bước 4: Kết nối với Semantic Kernel (.NET)
Điều tuyệt vời là — bạn không cần phải viết lại ứng dụng của mình.
Semantic Kernel đã hoạt động với các API OpenAI, và vì Docker cung cấp cùng một cấu trúc, tất cả những gì bạn cần làm là thay đổi URL cơ sở.
Cài đặt gói
dotnet add package Microsoft.SemanticKernel
Tạo một ứng dụng Console
csharp
using Microsoft.SemanticKernel;
var builder = Kernel.CreateBuilder();
builder.AddOpenAIChatCompletion(
modelId: "qwen/qwen-3b",
apiKey: "dummy", // không cần cho chế độ cục bộ
endpoint: new Uri("http://localhost:12434/v1") // điểm cuối Docker
);
var kernel = builder.Build();
var result = await kernel.InvokePromptAsync("Giải thích Docker bằng những từ đơn giản.");
Console.WriteLine(result);
Thế là xong! Ứng dụng .NET của bạn giờ đây đang nói chuyện với Qwen 3 trong Docker, thông qua Semantic Kernel.
🔹 Tại sao điều này quan trọng
- 🖥️ AI ưu tiên cục bộ → Chạy LLMs mà không cần internet hay chi phí
- 🔒 Bảo mật → Dữ liệu của bạn không bao giờ rời khỏi máy tính của bạn
- ⚡ Thân thiện với nhà phát triển → Cùng một SDK, cùng một API, chỉ khác URL cơ sở
- 🔗 Thay thế dễ dàng → Di chuyển giữa cục bộ và đám mây một cách mượt mà
✅ Kết luận
Việc chạy các mô hình AI giờ đây trở nên dễ dàng như việc chạy các container.
Với Docker Model Runner, bạn có thể:
- Tải Qwen 3
- Chạy nó cục bộ
- Kết nối nó với các ứng dụng .NET bằng Semantic Kernel
Điều này mở ra vô vàn khả năng cho việc xây dựng các ứng dụng thông minh mà không cần phụ thuộc vào đám mây.
👉 Bạn dự định chạy mô hình nào đầu tiên với Docker?
Hãy để lại bình luận — tôi rất muốn biết!