ngxson/wllama
WebAssembly binding for llama.cpp - Enabling on-browser LLM inference
解決的問題
wllama 提供了一種無需後端伺服器或專用 GPU 即可在瀏覽器中直接執行大型語言模型(LLMs)的方法。透過利用 WebAssembly(Wasm)與 WebGPU,它解決了在維持隱私、降低伺服器成本並實現離線功能的同時,將 AI 模型部署至 Web 的問題。
工作原理
它作為 llama.cpp 的 WebAssembly 綁定,使瀏覽器能夠執行 GGUF 模型檔案。該專案使用 WebAssembly SIMD 進行 CPU 基礎的推論,使用 WebGPU 實現硬體加速的 GPU 推論。為應對瀏覽器記憶體限制並提升下載速度,它支援將大型模型檔案拆分為較小的區塊,可並行載入。
適用對象
希望使用熟悉的 OpenAI 兼容 API 將 LLM 功能(如對話、嵌入或多模態輸入)整合至前端應用的 Web 開發者。
主要亮點
- 瀏覽器原生推論:使用 Wasm 與 WebGPU 在瀏覽器中本地執行模型,確保資料不會離開使用者裝置。
- OpenAI 兼容 API:提供完全類型化的內建 API,便於整合。
- 多模態與工具支援:支援圖像與音訊檔案輸入以及工具呼叫。
- 高效載入:允許將模型拆分為更小的檔案,以繞過 2GB ArrayBuffer 限制,並透過平行載入加快下載速度。
- 非阻塞 UI:在 Web Worker 中執行推論,防止瀏覽器 UI 冻結。
相關
- 專案
- 專案
- 專案
- Dispatch
- 專案