Huggingface.js: 强大的JavaScript库助力人工智能开发

Ray

huggingface.js

Huggingface.js简介

Huggingface.js是由Hugging Face公司开发的一套JavaScript库集合,旨在为开发者提供便捷的方式与Hugging Face API进行交互。这些库涵盖了从模型推理到仓库管理等多个方面,使得在JavaScript环境中使用和部署AI模型变得更加简单。

Huggingface.js Logo

Huggingface.js的主要组件

Huggingface.js包含以下几个主要的库:

  1. @huggingface/inference: 用于使用推理端点(dedicated)和推理API(serverless)来调用100,000多个机器学习模型。

  2. @huggingface/hub: 用于与huggingface.co交互,创建或删除仓库,以及提交/下载文件。

  3. @huggingface/agents: 通过自然语言接口与HF模型进行交互。

  4. @huggingface/gguf: 一个可以在远程托管文件上工作的GGUF解析器。

  5. @huggingface/tasks: Hub主要原语(如pipeline任务、模型库等)的定义文件和真实来源。

  6. @huggingface/space-header: 在Hugging Face之外使用Space mini_header

这些库利用现代特性来避免使用polyfills和依赖,因此它们只能在现代浏览器、Node.js >= 18、Bun或Deno上运行。

安装和使用

NPM安装

可以通过NPM按需安装所需的库:

npm install @huggingface/inference
npm install @huggingface/hub
npm install @huggingface/agents

然后在代码中导入:

import { HfInference } from "@huggingface/inference";
import { HfAgent } from "@huggingface/agents";
import { createRepo, commit, deleteRepo, listFiles } from "@huggingface/hub";
import type { RepoId, Credentials } from "@huggingface/hub";

CDN或静态托管

也可以通过CDN或静态托管在原生JavaScript中使用这些库:

<script type="module">
    import { HfInference } from 'https://cdn.jsdelivr.net/npm/@huggingface/inference@2.8.0/+esm';
    import { createRepo, commit, deleteRepo, listFiles } from "https://cdn.jsdelivr.net/npm/@huggingface/hub@0.15.1/+esm";
</script>

Deno支持

Deno用户可以使用以下方式导入:

// esm.sh
import { HfInference } from "https://esm.sh/@huggingface/inference"
import { HfAgent } from "https://esm.sh/@huggingface/agents";

// 或者使用npm:
import { HfInference } from "npm:@huggingface/inference"
import { HfAgent } from "npm:@huggingface/agents";

使用示例

以下是一些使用Huggingface.js的示例代码:

@huggingface/inference 示例

import { HfInference } from "@huggingface/inference";

const HF_TOKEN = "hf_...";

const inference = new HfInference(HF_TOKEN);

// 聊天完成API
const out = await inference.chatCompletion({
  model: "mistralai/Mistral-7B-Instruct-v0.2",
  messages: [{ role: "user", content: "Complete the this sentence with words one plus one is equal " }],
  max_tokens: 100
});
console.log(out.choices[0].message);

// 流式聊天完成API
for await (const chunk of inference.chatCompletionStream({
  model: "mistralai/Mistral-7B-Instruct-v0.2",
  messages: [{ role: "user", content: "Complete the this sentence with words one plus one is equal " }],
  max_tokens: 100
})) {
  console.log(chunk.choices[0].delta.content);
}

// 翻译
await inference.translation({
  model: 't5-base',
  inputs: 'My name is Wolfgang and I live in Amsterdam'
})

// 文本生成图像
await inference.textToImage({
  model: 'stabilityai/stable-diffusion-2',
  inputs: 'award winning high resolution photo of a giant tortoise/((ladybird)) hybrid, [trending on artstation]',
  parameters: {
    negative_prompt: 'blurry',
  }
})

// 图像生成文本
await inference.imageToText({
  data: await (await fetch('https://picsum.photos/300/300')).blob(),
  model: 'nlpconnect/vit-gpt2-image-captioning',  
})

Huggingface.js的优势

  1. 易于使用: 提供了简洁的API,使得与Hugging Face的交互变得简单直观。

  2. 功能丰富: 涵盖了从模型推理到仓库管理的多个方面,满足不同的AI开发需求。

  3. TypeScript支持: 所有库都包含TypeScript类型定义,提高了开发效率和代码质量。

  4. 现代化: 利用现代JavaScript特性,避免了不必要的polyfills和依赖。

  5. 灵活性: 支持多种安装和使用方式,适应不同的开发环境和需求。

应用场景

Huggingface.js可以应用于多种AI开发场景,包括但不限于:

  1. 聊天机器人开发: 利用聊天完成API快速构建智能对话系统。

  2. 文本处理: 进行翻译、摘要、情感分析等自然语言处理任务。

  3. 图像生成与分析: 使用文本生成图像或图像生成文本的功能进行创意设计或图像理解。

  4. 模型管理: 通过Hub API管理和部署机器学习模型。

  5. AI辅助开发: 利用Agents API创建智能编码助手或问答系统。

结语

Huggingface.js为JavaScript开发者提供了一套强大的工具,使得在Web环境中集成和使用先进的AI模型变得更加容易。无论是构建智能应用、进行自然语言处理还是实现计算机视觉任务,Huggingface.js都能提供所需的功能和灵活性。随着AI技术的不断发展,Huggingface.js必将在推动AI民主化和普及方面发挥重要作用。

开发者们可以通过GitHub仓库了解更多信息,并参与到这个开源项目的贡献中来。让我们一起探索Huggingface.js的无限可能,为AI的未来贡献自己的力量!

avatar
0
0
0
相关项目
Project Cover

PaddleHub

PaddleHub提供超过400种高质量AI模型,覆盖计算机视觉、自然语言处理和语音识别等领域。用户仅需3行代码即可进行模型预测,同时支持模型即服务,通过简单命令即可部署。最新版本v2.3.0引入了ERNIE-ViLG、Disco Diffusion和Stable Diffusion等模型,并支持在HuggingFace平台上发布。PaddleHub兼容Linux、Windows和MacOS,适合多平台开发。

Project Cover

text-generation-inference

Text Generation Inference (TGI) 是一个部署和服务大型语言模型的工具包。它支持Llama、Falcon、StarCoder、BLOOM、GPT-NeoX等流行的开源模型,提供简便的启动器、分布式追踪、张量并行、多GPU推理加速、令牌流等特性。TGI还支持权重量化和安全张量加载,具备自定义提示生成和微调功能,兼容Nvidia、AMD、Inferentia、Intel GPU、Gaudi和Google TPU等硬件平台。

Project Cover

tortoise

Tortoise TTS 是一款先进的文本转语音软件,专为提供多声音功能和高度真实的语调与韵律设计。该项目支持各种安装方式,包括pip和Docker,并提供了完善的本地安装指南。此外,Tortoise TTS 还在Hugging Face上提供在线演示,用户可体验其强大功能。它使用了自回归解码器和扩散解码器,大幅提升了语音生成的速度和质量。无论是个人用户还是开发者,都可通过详细的使用指南迅速上手和部署。

Project Cover

deep-rl-class

本页面提供Hugging Face深度强化学习课程的全部资源,包括mdx文件和教程笔记。学习者可获取课程大纲、注册信息及详细介绍,适合研究AI和机器学习的人员深入了解深度强化学习的核心概念和应用技术。

Project Cover

Hugging Face

Hugging Face是开放源码机器学习平台,支持模型、数据集与应用的无限制托管,包含丰富的模态支持,已服务于超过5万家机构。

Project Cover

Deep_reinforcement_learning_Course

免费深度强化学习课程,结合理论与实践,掌握Stable Baselines3、RL Baselines3 Zoo、Sample Factory和CleanRL等库的使用。训练智能体在SnowballFight、Huggy the Doggo、MineRL(Minecraft)、VizDoom(Doom)及经典环境(如Space Invaders、PyBullet)中运行。发布和下载社区智能体,并参与挑战与其他团队及AI对抗。

Project Cover

mergekit

MergeKit是一款合并预训练语言模型的工具,支持Llama、Mistral、GPT-NeoX等多种模型。该工具采用先进的方法,在资源有限的情况下执行复杂的合并操作。MergeKit可以在CPU或最低8GB VRAM环境下运行,支持多种合并算法,如线性插值、任务算术、TIES等。还提供图形用户界面并集成到Hugging Face Spaces,简化了模型合并流程。

Project Cover

basaran

Basaran是一款开源工具,旨在替代OpenAI的文本生成API,支持Hugging Face Transformers模型。其主要功能包括流式生成、多GPU支持、与OpenAI API的兼容性等。用户无需修改代码即可使用最新的开源模型,适用于多种解码策略和实时进度显示。

Project Cover

autotrain-advanced

AutoTrain Advanced 是一款无代码解决方案,只需几次点击即可训练机器学习模型。需要上传正确格式的数据以创建项目,关于数据格式和定价的详细信息请查阅文档。AutoTrain 免费使用,只需为使用的资源付费。支持在 Colab 和 Hugging Face Spaces 上运行,也可以通过 PIP 本地安装。适用于 Python 3.10 及以上版本,推荐在 Conda 环境中运行。更多信息请访问项目文档页面。

最新项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号