Bỏ qua tới nội dung chính
Quay lại tin tức

Rack Community: Phòng thí nghiệm AI tự vận hành với trình điều phối tác vụ không gây quá tải hệ thống

Hacker News AI· stingerindustri· 5/11/2026general

Đường dẫn bài viết: https://github.com/ohhbeehave35-commits/rack-community Đường dẫn bình luận: https://news.ycombinator.com/item?id=50375035 Điểm: 1 Số bình luận: 0

Rack Community Phòng thí nghiệm AI tự lưu trữ tại gia dành cho một máy chủ: đồng hồ đo thời gian thực, trình điều phối tác vụ ngăn chặn tình trạng quá tải hệ thống, các mẫu quy trình (recipe) phục vụ huấn luyện và kiểm thử, cơ chế quản lý bộ nhớ có kiểm duyệt và không gian làm việc nhóm cho phép mọi tác tử AI tham gia. Việc đánh giá sao cho dự án sẽ hỗ trợ cộng đồng tiếp cận công cụ này thuận tiện hơn. Bảng điều khiển duy trì trạng thái khóa cho đến khi mã xác thực (token) được nhập. Tính năng tạm dừng hiển thị rõ định danh người thực hiện và lý do; các phân đoạn dữ liệu đã lưu được bảo toàn. Các quy trình và hạn mức bộ nhớ được phép sử dụng tương ứng. Trạng thái thực thi được cập nhật trực tiếp theo nhật ký hệ thống (log). Tương thích với giao diện màn hình điện thoại di động. Cài đặt Yêu cầu hệ thống: Linux, Node 24, Python 3. Toàn bộ dịch vụ lắng nghe trên cổng 127.0.0.1. # Sao chép mã nguồn (clone) hoặc tải về kho lưu trữ, sau đó thực hiện tại thư mục gốc: ./start.sh # Truy cập http://127.0.0.1:8080 và dán mã token theo đường dẫn do tệp start.sh cung cấp Sau đó truy cập mục Controls, chuyển sang chế độ LIVE, chọn slow_count, nhấn Check it fits, chọn Start và nhập START. Nhấn Pause everything khi tiến trình đang diễn ra, sau đó chọn Resume: dữ liệu đã lưu được giữ nguyên và tác vụ hoàn tất. Cấu trúc thành phần Thư mục Chức năng engine/ Phần lõi được viết bằng Python. Bao gồm hàng đợi tác vụ bền vững; trình thực thi từng tác vụ được cấp phép với thời hạn nghiêm ngặt cho mỗi phân đoạn; cơ chế kiểm soát dung lượng bộ nhớ thông qua admit.sh; các quy trình; đồng hồ đo hệ thống (CPU, bộ nhớ và GPU nếu có công cụ nvidia-smi; trường hợp không đọc được dữ liệu sẽ báo không khả dụng, không gán giá trị 0 mặc định); giao diện lập trình ứng dụng HTTP (API) thu gọn. panel/ Bảng điều khiển (React, TanStack Start): hệ thống đồng hồ đo, trạng thái hoạt động thực tế, các tác vụ có lưu tiến trình, quy trình, trình điều khiển, trạng thái thực thi. memory/ Somnus. Mặt phẳng điều khiển (control plane) bộ nhớ của tác tử AI. Công cụ thực hiện chu kỳ quét dữ liệu (dream pass) trên thư mục bộ nhớ và báo cáo các đề xuất, các nội dung đã áp dụng cùng các mục chờ phê duyệt. Những thay đổi mang tính quyết định phải chờ sự can thiệp của con người; người dùng có thể so sánh sự khác biệt (diff) giữa bản sao lưu (snapshot) với dữ liệu thực tế và khôi phục trạng thái cũ. Công cụ không gửi yêu cầu tới bất kỳ nhà cung cấp mô hình nào. room/ TalkBack. Không gian làm việc nhóm dành cho con người và các tác tử AI: các kênh, luồng thảo luận, biểu tượng cảm xúc, gắn thẻ tên (@mention), giao thức kết nối cho phép tác tử AI tham gia như một vị trí làm việc độc lập với khóa riêng, phòng họp nhanh (huddle), cùng khung ứng dụng Electron để vận hành không gian trong mạng nội bộ (LAN). Mỗi thư mục cấu thành một dự án độc lập, có tệp cấu hình package.json hoặc requirements.txt riêng biệt. Tích hợp mô hình AI độc lập Rack Community không phát hành kèm mô hình hay khóa bản quyền. Đây là môi trường vận hành và ghi nhận kết quả của các mô hình do người dùng tự cung cấp. Cục bộ: cấu hình quy trình trỏ đến Ollama. Tập lệnh engine/samples/ask_model_pieces.py sẽ gửi danh sách câu hỏi tới địa chỉ mặc định http://127.0.0.1:11434/v1, mỗi câu trả lời tương ứng một phân đoạn được lưu trữ. Lưu trữ đám mây: tập lệnh trên tương thích với mọi điểm cuối (endpoint) tương thích chuẩn OpenAI. Thiết lập các biến môi trường RACK_LLM_URL, RACK_LLM_MODEL và RACK_LLM_KEY nếu dịch vụ yêu cầu (được gửi dưới dạng Bearer token và không ghi vào các tệp dữ liệu lưu trữ). Trong không gian nhóm: mọi tác tử AI có khả năng thực hiện lệnh gọi HTTP đều có thể tham gia TalkBack như một vị trí làm việc riêng với khóa xác thực độc lập (tệp room/tools/talkback-wire.mjs là ứng dụng khách thu gọn). Để sử dụng mẫu có sẵn, sao chép tệp engine/samples/ask_model.recipe.json vào thư mục recipes/ của Rack và thêm dòng ask_model 8 vào tệp peaks.conf. Cơ chế hoạt động Kiểm soát tài nguyên nạp (Admission control). Tệp admit.sh chỉ chấp thuận một tác vụ khi: giá trị lớn nhất giữa (bộ nhớ thực tế đang dùng, tổng khai báo) + đỉnh tải của tác vụ <= LIMIT. Tổng khai báo là chỉ số cơ sở cộng với đỉnh tải khai báo của các tác vụ đang hoạt động đã được cấp phép, nhằm ngăn chặn tình trạng hai tác vụ chưa chiếm dụng bộ nhớ cùng được chấp thuận vào cùng một khoảng trống tài nguyên. Tác vụ bị từ chối sẽ trả về mã thoát 75 kèm lý do cụ thể. Các thông số đỉnh tải được lưu trong peaks.conf; ADMIT_LIMIT (mặc định 90) và ADMIT_BASE (mặc định 10) được tính theo đơn vị GB. Các phân đoạn bền vững. Mỗi tác vụ được chia thành các phân đoạn có định danh. Kết quả của từng phân đoạn được ghi tuần tự và bảo đảm tính toàn vẹn tuyệt đối (atomically); do đó, khi xảy ra sự cố, khởi động lại hoặc tạm dừng, hệ thống sẽ tiếp tục xử lý từ phân đoạn đầu tiên chưa được lưu. Bộ giám sát độc lập bên ngoài tiến trình xử lý (worker) áp dụng giới hạn thời gian thực cho từng phân đoạn, bao gồm cả trường hợp tiến trình bị tắc nghẽn trong một lệnh gọi gốc (native call). Ưu tiên cơ chế chạy thử nghiệm. Hệ thống Rack khởi động ở chế độ chạy thử nghiệm (dry-run): mọi yêu cầu đều được xác thực và ghi nhận nhưng không làm thay đổi trạng thái hệ thống. Việc chuyển sang chế độ vận hành chính thức (LIVE) là một thao tác tường minh. Lệnh tạm dừng sẽ tạo ra một chỉ dấu HOLD duy nhất; các tác vụ được xếp hàng trước thời điểm tạm dừng sẽ ở trạng thái chờ, trong khi các yêu cầu khởi chạy mới sẽ bị từ chối chừng nào chỉ dấu này còn tồn tại. Sử dụng tệp cấu hình công thức, không dùng dòng lệnh trực tiếp. Thao tác khởi chạy chỉ định một công thức từ thư mục recipes/*.json. Không có điểm cuối (endpoint) nào tiếp nhận dòng lệnh, đường dẫn tệp hay chuỗi lệnh shell. {"action": "nightly_index", "label": "Rebuild the search index", "script": "samples/hello_pieces.py", "args": [], "admission": "nightly_index", "peak_gb": 4} Thêm tệp công thức, bổ sung dòng nightly_index 4 vào tệp peaks.conf và viết tập lệnh với cú pháp from rack_jobs import from_environment. Tham khảo thư mục engine/samples/ để xem các ví dụ hoàn chỉnh. Thông tin chi tiết có tại tệp docs/ARCHITECTURE.md. Vấn đề an toàn thông tin Giao diện lập trình ứng dụng (API) yêu cầu tiêu đề X-Rack-Token đối với mọi thao tác ghi và đối với hai thao tác đọc dùng để hiển thị các dòng nhật ký. Nếu không thiết lập biến môi trường RACK_TOKEN, hệ thống sẽ không mở khóa bất kỳ quyền truy cập nào. Cần liên kết toàn bộ dịch vụ với địa chỉ 127.0.0.1 hoặc đặt hệ thống phía sau ranh giới kiểm soát truy cập riêng. Tuyệt đối không mở kết nối trực tiếp ra mạng internet ở cấu hình mặc định. Somnus và TalkBack không tích hợp tính năng đăng nhập. Các ứng dụng này vận hành dưới tư cách một chủ sở hữu cục bộ duy nhất. Các hàm máy chủ của hệ thống sẽ từ chối các yêu cầu mà trình duyệt xác định là bắt nguồn từ một trang web khác; đây không phải là dịch vụ dành cho nhiều người dùng. Bảng điều khiển lưu trữ mã thông báo (token) trong sessionStorage cho một thẻ trình duyệt duy nhất và không bao giờ đưa mã này vào địa chỉ URL, phần thân dữ liệu hoặc tệp nhật ký. Các tiến trình xử lý không bao giờ tiếp nhận mã thông báo này. Quy trình cấp quyền, tính năng tạm dừng và danh mục công thức đóng vai trò là các cơ chế kiểm soát an toàn, không phải là một môi trường cô lập (sandbox): tập lệnh công thức được thực thi dưới quyền của người dùng đã khởi chạy tác tử. Vận hành độc lập Somnus và TalkBack Sử dụng cổng mạng khác với bảng điều khiển: cd memory && npm install && npm run dev -- --port 8081 # http://127.0.0.1:8081 cd room && npm install && npm run dev -- --port 8082 # http://127.0.0.1:8082 Somnus lưu trữ trạng thái trong một cơ sở dữ liệu nhúng, mặc định trên bộ nhớ; thiết lập biến PGLITE_DATA_DIR để lưu trữ lâu dài. Cấu trúc shell trên máy tính để bàn của TalkBack được mô tả chi tiết tại room/desktop/README-DESKTOP.md. Kiểm thử Thực hiện kiểm tra ở phạm vi hẹp nhất đối với các phần mã nguồn có sự thay đổi. cd engine && python3 -m pytest -q tests # 38 tests cd panel && npx tsc --noEmit && npm test # 19 tests cd memory && npx tsc --noEmit && npm test # 39 tests cd room && npx tsc --noEmit && npm test # 61 tests Đây là các bài kiểm thử đơn vị và kiểm thử tích hợp quy mô nhỏ. Kho lưu trữ này không bao gồm bộ kiểm thử đầu cuối (end-to-end) trên trình duyệt, đồng thời toàn bộ các bộ kiểm thử đầy đủ của các ứng dụng gốc cũng không được chuyển giao (tham khảo mục "Các nội dung không bao gồm"). Các nội dung không bao gồm Không bao gồm trợ lý ảo, công thức, câu lệnh gợi ý (prompts), dữ liệu hoặc tài liệu khách hàng đặc thù của doanh nghiệp. Hệ thống chỉ chứa phần khung phục vụ mục đích chung. Hệ thống xử lý (engine) đã

Nguồn tin: Hacker News AI — Tác giả: stingerindustri. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.