Tổng quan

Runtime Local LLM là một plugin chạy các mô hình ngôn ngữ lớn hoàn toàn trên thiết bị sử dụng llama.cpp, không yêu cầu kết nối internet trong thời gian chạy. Plugin hỗ trợ các tệp mô hình GGUF và cung cấp API Blueprint đầy đủ để tải mô hình, gửi tin nhắn và nhận phản hồi từng token, tất cả đều chạy trên luồng nền với callback trên luồng game.
Plugin hỗ trợ Windows, Mac, Linux, Android (bao gồm Meta Quest và các nền tảng dựa trên Android khác), và iOS.
Tính năng chính
- Suy luận ngoại tuyến hoàn toàn: Không cần dịch vụ đám mây hay khóa API trong thời gian chạy
- Hỗ trợ mô hình GGUF: Tải bất kỳ mô hình định dạng GGUF nào (Llama, Mistral, Phi, Gemma, Qwen, v.v.)
- llama.cpp cập nhật: Được cập nhật thường xuyên trên Fab để theo kịp các bản phát hành của llama.cpp, do đó luôn hỗ trợ các định dạng mô hình GGUF mới nhất
- Tăng tốc GPU: Sử dụng Vulkan trên Windows và Linux, Metal trên Mac và iOS, và CPU + intrinsics trên Android và Meta Quest
- Nhiều phương pháp tải mô hình:
- Tải từ đường dẫn tệp cục bộ
- Tải theo tên mô hình (chọn từ danh sách thả xuống trong Blueprints)
- Tải xuống từ URL và tự động tải
- Chỉ tải xuống để lưu trữ trước mô hình
- Streaming từng token: Nhận từng token ngay khi được tạo để hiển thị theo thời gian thực
- Node Blueprint bất đồng bộ: Các node với delegate đầu ra để tải mô hình, gửi tin nhắn và tải xuống
- Tham số suy luận có thể cấu hình: Nhiệt độ (Temperature), Top-P, Top-K, phạt lặp (repeat penalty), giảm tải lớp GPU (GPU layer offloading), kích thước ngữ cảnh (context size), seed, số luồng (thread count) và prompt hệ thống (system prompt)
- Quản lý ngữ cảnh hội thoại: Duy trì các cuộc hội thoại nhiều lượt với hỗ trợ đặt lại ngữ cảnh
- Trình quản lý mô hình trong Editor: Duyệt, tải xuống, nhập, xóa và kiểm tra mô hình trực tiếp trong cài đặt dự án
- Đóng gói đa nền tảng: Mô hình được đóng gói cùng với dự án của bạn thông qua phân đoạn NonUFS
Cách hoạt động
- Quản lý mô hình trong Editor: Sử dụng bảng cài đặt plugin để duyệt danh mục các mô hình được xác định trước, tải chúng xuống hoặc nhập tệp GGUF của riêng bạn
- Tải mô hình trong thời gian chạy: Gọi một trong các hàm tải (theo tệp, theo tên, theo URL hoặc theo siêu dữ liệu) với các tham số suy luận của bạn
- Gửi tin nhắn: Truyền tin nhắn người dùng đến phiên bản LLM; các token được stream trở lại thông qua delegate khi mô hình tạo ra phản hồi
- Sử dụng phản hồi: Hiển thị token trong giao diện trò chuyện, điều khiển hội thoại NPC, tạo nội dung động hoặc đưa vào các hệ thống khác
Tất cả quá trình suy luận đều chạy trên một luồng nền chuyên dụng. Các callback (tạo token, hoàn thành, lỗi) được kích hoạt trên luồng game, do đó bạn có thể cập nhật giao diện người dùng và trạng thái trò chơi một cách an toàn từ chúng.
Lưu trữ và đóng gói mô hình
Các mô hình được lưu trữ dưới dạng tệp .gguf trong thư mục Content/RuntimeLocalLLM/Models của dự án của bạn. Plugin tự động cấu hình Thư mục không phải nội dung bổ sung để sao chép (DirectoriesToAlwaysStageAsNonUFS) để các tệp mô hình được đóng gói cùng với dự án đã đóng gói của bạn và vẫn có thể truy cập được thông qua I/O tệp tiêu chuẩn trong thời gian chạy.
Mỗi mô hình cũng có một tệp đi kèm .json lưu trữ siêu dữ liệu của nó (tên hiển thị, họ, biến thể, mô tả, số lượng tham số).
Mô hình được hỗ trợ
Plugin hoạt động với bất kỳ mô hình nào ở định dạng GGUF. Trình chỉnh sửa cung cấp danh mục các mô hình phổ biến được xác định trước để tải xuống một cú nhấp chuột và bạn có thể nhập bất kỳ tệp GGUF tùy chỉnh nào. Các họ mô hình phổ biến bao gồm:
- Llama (Meta) — 1B, 3B, 8B và lớn hơn
- Mistral / Mixtral — 7B và lớn hơn
- Phi (Microsoft) — 2B, 3B, 4B
- Gemma (Google) — 2B, 7B
- Qwen (Alibaba) — 1.5B, 7B và lớn hơn
- TinyLlama — 1.1B
- Và nhiều mô hình cộng đồng khác
Lượng tử hóa
Các mô hình có nhiều mức lượng tử hóa khác nhau, đánh đổi giữa chất lượng với kích thước và tốc độ:
| Lượng tử hóa | Chất lượng | Kích thước | Tốc độ |
|---|---|---|---|
| Q2_K | Thấp hơn | Nhỏ nhất | Nhanh nhất |
| Q4_K_M | Tốt | Trung bình | Nhanh |
| Q5_K_M | Tốt hơn | Lớn hơn | Vừa phải |
| Q8_0 | Cao | Lớn | Chậm hơn |
| F16 / F32 | Cao nhất | Lớn nhất | Chậm nhất |
Đối với thiết bị di động và VR, nên sử dụng lượng tử hóa nhỏ hơn (Q2_K đến Q4_K_M) với các mô hình nhỏ gọn (1B–3B tham số). Đối với máy tính để bàn, bạn có thể sử dụng các mô hình lớn hơn và mức lượng tử hóa cao hơn tùy thuộc vào RAM và tài nguyên CPU/GPU khả dụng.
Tài nguyên bổ sung
- Mua trên Fab
- Trang web sản phẩm
- Tải xuống bản Demo (Windows)
- Video hướng dẫn
- Hỗ trợ Plugin & Phát triển tùy chỉnh: [email protected] (giải pháp phù hợp cho nhóm & tổ chức)