huggingface/huggingface.js

Use Hugging Face with JavaScript

它解決了什麼

此專案提供完整的 JavaScript 與 TypeScript 函式庫,讓開發者能以程式方式與 Hugging Face 生態系統互動。它消除撰寫原始 API 呼叫以管理模型、資料集與 Spaces 的需求,並提供將 AI 模型整合至 Web 與 Node.js 應用的簡化方式。

它如何運作

此專案以一系列專門化的套件組成:

  • @huggingface/hub: 處理倉庫管理,包括在 Hub 上建立、刪除以及上傳/下載檔案。
  • @huggingface/inference: 提供客戶端,可呼叫超過 100,000 個無伺服器推論提供者或專屬推論端點,支援聊天完成、文字轉圖像與翻譯等任務。
  • @huggingface/mcp-client: 實作 Model Context Protocol(MCP)客戶端以及用於工具使用 AI 代理人的小型代理程式庫。
  • @huggingface/tiny-agents: 一個與模型無關的函式庫,用於構建能使用工具的 AI 代理人。
  • @huggingface/gguf & @huggingface/dduf: 用於 ML 模型的 GGUF 與 DDUF 檔案格式的解析器。
  • @huggingface/jinja: Jinja 模板引擎的極簡實作,用於 ML 聊天模板。
  • @huggingface/ollama-utils: 用於維持 Ollama 與 Hugging Face Hub 模型相容性的工具。

目標對象

在現代瀏覽器、Node.js(>=18)、Bun 或 Deno 中構建 AI 驅動應用的 JavaScript 與 TypeScript 開發者。

重點特色

  • 多執行環境支援:可在瀏覽器、Node.js、Bun 與 Deno 中運行,無需 polyfill。
  • 廣泛模型存取:可透過無伺服器或專屬端點輕鬆存取數千個模型。
  • @huggingface/inference:支援串流聊天完成與多模態輸入。
  • 代理功能:透過 MCP 客戶端與 tiny-agents 函式庫提供構建 AI 代理人的工具。