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 代理人的工具。