QVAC: SDK AI Cục Bộ, Đa Nền Tảng
QVAC là SDK AI cục bộ mã nguồn mở của Tether để chạy LLM, speech-to-text, và RAG ngay trên thiết bị, trên Linux, macOS, Windows, Android, và iOS, kèm khả năng chuyển inference sang peer tuỳ chọn. Client JS/TypeScript và Python của nó dùng chung một worker, nên cả hai ngôn ngữ có năng lực giống hệt nhau. Hãy dùng QVAC nếu bạn muốn inference chạy trên thiết bị hoặc qua peer thay vì API cloud; bỏ qua nếu bạn chỉ cần một endpoint LLM được host sẵn.
QVAC Là Gì?
QVAC là một AI SDK mã nguồn mở, đa nền tảng của Tether để xây ứng dụng AI local-first, ngang hàng. Nó có client cho JavaScript/TypeScript (@qvac/sdk) và Python (tetherto-qvac-sdk), để load model và chạy inference trên Linux, macOS, Windows, Android, hoặc iOS, hoặc chuyển inference cho peer qua lớp P2P. Nó cũng chạy như một HTTP server với API tương thích OpenAI, đóng vai trò local model provider.
Năng Lực Cốt Lõi
- ✓Inference on-device, local-first: load model và chạy các tác vụ AI ngay trên máy của bạn, không phụ thuộc API bên thứ ba, SaaS, hay cloud, theo README.
- ✓Chuyển inference qua peer-to-peer: khả năng P2P tích hợp sẵn cho phép bạn chuyển việc inference cho các peer khác, điều mà README so sánh với BitTorrent, IPFS, và mạng blockchain áp dụng cho AI.
- ✓Hai SDK dùng chung một worker: client JS/TS (@qvac/sdk) và client Python (tetherto-qvac-sdk) chạy trên cùng một worker nền, nên năng lực và hành vi giống nhau ở cả hai.
- ✓Phạm vi đa nền tảng: trải nghiệm phát triển nhất quán trên Linux, macOS, Windows, Android, và iOS, theo README.
- ✓HTTP server tương thích OpenAI: QVAC có thể chạy như một local model provider, gắn vào bất kỳ harness nào được xây cho OpenAI API, như OpenCode hay OpenClaw theo README.
- ✓Linh hoạt về runtime ở phía JS/TS: client chạy được trên Node.js, Bare runtime, và Expo, chứ không chỉ trong browser hay server.
- ✓Mã nguồn mở theo giấy phép Apache-2.0, được README mô tả là miễn phí để dùng, chỉnh sửa, và xây dựng thêm.
Bắt Đầu Với QVAC
Sau khi cài đặt, luồng làm việc giống nhau ở cả hai ngôn ngữ: load một model, chạy inference, rồi unload nó. Trong JavaScript, loadModel nhận vào modelSrc, modelType (ví dụ "llm"), và callback onProgress để theo dõi tiến độ tải; completion nhận modelId cùng một mảng lịch sử hội thoại (history) và trả về token stream để bạn duyệt qua bằng vòng lặp for-await; unloadModel giải phóng tài nguyên khi xong. Client Python có luồng tương tự với các lệnh gọi async load_model, completion, và unload_model bên trong Client() context manager, vì nó asyncio-native. Ngoài SDK, QVAC còn chạy như một HTTP server độc lập, nên bạn có thể trỏ một công cụ tương thích OpenAI API có sẵn vào nó mà không cần viết code SDK.
Các Tác Vụ AI Được Hỗ Trợ
- •Text generation, embeddings, và RAG — LLM inference và text embeddings chạy qua Fabric LLM, cùng một RAG workflow dựng sẵn cho câu trả lời dạng retrieval-augmented.
- •Speech và dịch thuật — nhận dạng giọng nói (ASR) qua @qvac/asr-ggml (Whisper hoặc NVIDIA Parakeet) với duplex streaming, text-to-speech qua @qvac/tts-ggml (Chatterbox, Supertonic, Parler, hoặc CosyVoice3), và dịch máy neural (NMT) qua Fabric LLM và Bergamot.
- •Tạo ảnh, video, và nhạc — text-to-image và image-to-image qua Diffusion backend tuỳ chỉnh, text-to-video và image-to-video cùng nhóm backend đó, và tạo nhạc từ text, lời, và musical controls qua ACE-Step.
- •Multimodal và inference chuyên biệt — hội thoại LLM multimodal trên cả text và hình ảnh, OCR qua ONNX Runtime hoặc GGML backend, phân loại ảnh, transcription brain-computer interface (BCI) qua Whisper backend tuỳ chỉnh, và inference vision-language-action (VLA) để điều khiển robot.
- •Fine-tuning — tinh chỉnh LLM cho tác vụ theo domain cụ thể bằng LoRA.
Điểm mạnh
- ✓Một API SDK duy nhất cho nhiều loại tác vụ AI — LLM chat, RAG, speech, dịch thuật, tạo ảnh/video/nhạc, và hơn thế — thay vì phải ghép nhiều thư viện đơn nhiệm riêng lẻ.
- ✓Client JavaScript/TypeScript và Python dùng chung một worker, nên tuyên bố của README về năng lực giống nhau ở cả hai ngôn ngữ nghĩa là bạn không phải chọn một binding "kém hơn".
- ✓Khả năng chuyển inference qua peer-to-peer tích hợp sẵn cho bạn một phương án dự phòng khi phần cứng cục bộ không chạy nổi model, mà không phải mặc định quay về cloud API.
- ✓Đóng vai trò một local model provider tương thích OpenAI qua HTTP server, nên các công cụ đã có sẵn theo chuẩn OpenAI API có thể trỏ vào nó mà không cần tích hợp SDK.
- ✓Giấy phép Apache-2.0, không ràng buộc độc quyền lên phần code.
Lưu Ý Cho Nhà Phát Triển
- △README không có hướng dẫn cài đặt/build cho chế độ HTTP-server/local-model-provider ngay trong repo — nó dẫn tới docs.qvac.tether.io thay vì mô tả setup trực tiếp.
- △Bước install-worker của client Python phụ thuộc vào việc máy đã có sẵn Node.js và npm, một dependency hệ thống thêm cho một project được giới thiệu như một Python SDK.
- △Repo của QVAC còn khá nhỏ so với phạm vi tác vụ AI rộng, từ LLM chat đến OCR đến điều khiển robot, mà nó hỗ trợ trong một SDK; README không nói rõ mức độ trưởng thành hay đã được kiểm chứng trong production của từng nhánh tác vụ.
- △README không nêu yêu cầu phần cứng, kích thước model, hay tốc độ inference dự kiến cho bất kỳ tác vụ nào được liệt kê, nên chỉ nhìn vào repo thì không biết được một tác vụ cụ thể có chạy tốt trên phần cứng phổ thông hay không.
- △TTS GPU offload được README ghi là tuỳ chọn (opt-in) và chỉ dành cho Android (OpenCL/Adreno); mọi backend khác được liệt kê đều chạy CPU-only, theo README.
Các Local AI SDK Tương Tự
Câu Hỏi Thường Gặp
QVAC là mã nguồn mở, theo giấy phép Apache-2.0, và README mô tả nó là miễn phí để dùng, chỉnh sửa, và xây dựng thêm.
QVAC chạy cục bộ trên Linux, macOS, Windows, Android, và iOS, theo mô tả repo và README trên GitHub.
QVAC cung cấp SDK chính thức cho JavaScript/TypeScript (gói npm @qvac/sdk) và Python (gói PyPI tetherto-qvac-sdk); cả hai dùng chung một worker nên năng lực giống nhau.
QVAC có một HTTP server với API tương thích OpenAI, nên có thể đóng vai trò local model provider cho các công cụ được xây cho OpenAI API, như OpenCode hay OpenClaw theo README.
Chế độ local-first của QVAC chạy inference hoàn toàn trên máy của bạn, không gọi API bên thứ ba hay cloud; chế độ peer-to-peer tuỳ chọn là ngoại lệ, vì nó chuyển inference qua một mạng peer.
QVAC bao gồm LLM text generation và embeddings, RAG, fine-tuning bằng LoRA, hội thoại multimodal text/hình ảnh, tạo ảnh/video/nhạc, transcription và text-to-speech, dịch thuật, OCR, phân loại ảnh, transcription BCI, và inference VLA để điều khiển robot, theo bảng AI capabilities trong README.
Vấn đề QVAC giải quyết
Phần lớn công cụ local AI chỉ chọn một tác vụ — một LLM runner, một thư viện TTS, hoặc một công cụ OCR — nên khi nhà phát triển xây ứng dụng cần nhiều hơn một tác vụ, họ phải ghép nhiều project riêng lẻ lại, mỗi cái có API shape và cách đóng gói khác nhau. README của QVAC đóng khung câu trả lời của mình là một SDK duy nhất bao phủ nhiều loại tác vụ AI — từ LLM chat, RAG đến speech, tạo ảnh/video, dịch thuật, và OCR — sau một API client duy nhất bằng JavaScript/TypeScript hoặc Python, cộng với một đường chuyển inference sang peer thay vì một cloud vendor khi phần cứng cục bộ không đủ.
Cách cài đặt / dùng thử
Cách cài QVAC tuỳ vào client bạn chọn. Với JavaScript/TypeScript: chạy npm install @qvac/sdk trong một project Node.js (quickstart trong README cũng chạy npm init -y và npm pkg set type=module trước đó, để hỗ trợ ESM). Với Python: pip install "tetherto-qvac-sdk", sau đó chạy python -m tetherto.qvac_sdk install-worker — một bước bắt buộc, vì client Python cần Node.js và npm trên máy, và install-worker sẽ tự chạy npm install để cài chúng. Cả hai client đều tải trọng số model thật (quickstart trong README dùng LLAMA_3_2_1B_INST_Q4_0) khi load lần đầu, không phải lúc cài đặt.
Ai nên dùng — và ai nên bỏ qua
Hãy dùng QVAC nếu bạn đang xây một ứng dụng JS/TS hoặc Python cần inference cục bộ hoặc chuyển qua peer cho nhiều hơn một tác vụ AI — ví dụ chat cộng RAG cộng transcription — và không muốn tích hợp ba thư viện riêng để làm việc đó. Nó cũng đáng thử nếu bạn chỉ cần một endpoint local tương thích OpenAI API để trỏ một công cụ có sẵn vào, mà không cần viết code SDK. Bỏ qua nếu bạn cần một thư viện hẹp, đã được kiểm chứng kỹ cho đúng một tác vụ thay vào đó, như một project ASR hay TTS chuyên dụng, hoặc nếu yêu cầu phần cứng chưa được ghi rõ và một repo còn nhỏ, giai đoạn sớm là điều bạn không chấp nhận được cho project của mình.
Repo liên quan
Muốn nghe thêm một ý kiến về qvac?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về qvac.
