如何将 Hugging Face 推理端点与 JavaScript 结合使用

社区文章 发布于 2025 年 3 月 17 日

image/jpeg

在这篇文章中,我将引导您使用 Hugging Face 推理端点@huggingface/inference JavaScript SDK 的 textGeneration 方法。

要探索可用的模型,请查看:https://huggingface.co/tasks/text-generation。但是,并非所有模型都适用——有些可能会返回**错误:禁止:**消息。

什么是推理端点?

Hugging Face 推理端点是 API 端点,允许您部署可通过 HTTP 访问的机器学习模型。通过完全托管的基础设施,您无需担心设置或维护。您只需选择模型和硬件,Hugging Face 就会为您处理其余事务,并为您创建一个可供使用的 API 端点。

例如:

import 'dotenv/config';
import { InferenceClient } from '@huggingface/inference';

const client = new InferenceClient(process.env.HF_ACCESS_TOKEN).endpoint(
  'https://g7u9q9gquz2wxrjn.us-east-1.aws.endpoints.huggingface.cloud'
);

背景故事

但是,在我们深入探讨之前,请允许我解释一下是什么让我首先探索推理端点。

Neon,我一直致力于改进我们的 开发/测试工作流程,特别是自动化合成数据生成以支持我们文档的 Neon Twin 部分中的新指南。我之前曾尝试使用 Anthropic 的 Claude Sonnet 模型,我在这篇文章中详细介绍了这一点:使用 AI 生成合成数据 Vibe 编码:第一部分。那个实验让我开始思考——还有哪些其他选择?

因此,我测试了三个模型,看看它们如何处理这项任务。每个模型都对相同的提示产生了独特的响应,我将其分为**好**、**坏**和**丑**

想自己尝试一下吗?下面,我将引导您完成设置步骤以及一个示例提示来测试每个模型。

先决条件

  1. 创建一个 Hugging Face 账户
  2. 为您的账户添加积分,或注册 专业账户

创建推理端点

通过创建推理端点,您将能够通过 HTTP 请求测试各种模型。

部署模型

访问上面任何模型链接,然后单击**部署**按钮并选择**HR 推理端点**。

image/jpeg

端点配置

在下一个屏幕上,为您的端点命名(或保留默认名称),并配置硬件。准备就绪后,单击**创建端点**。

image/jpeg

端点 URL

您的端点可能需要几分钟才能配置完成,但一旦**就绪**,您就可以复制端点 URL,这将在后续步骤中用到。

image/jpeg

初始化完成后,您的端点即可使用,但您需要创建访问令牌才能发出请求。

创建 Hugging Face 访问令牌

前往您的 Hugging Face 帐户,然后点击右上角的个人资料图片。在下拉菜单中,选择**访问令牌**。

image/jpeg

在“访问令牌”页面上,单击**创建新令牌**。在下一个屏幕上,选择**读取**权限,为您的令牌命名,然后单击**创建令牌**。

请务必记下您的令牌,因为您只能查看一次。您将在后续步骤中用到它。

image/jpeg

创建测试应用程序

运行以下命令以初始化新项目

npm init -y

安装依赖

安装 Hugging Face Inference SDK 和 dotenv

npm install @huggingface/inference dotenv

更新 package.json

在您的 package.json 中,找到 type 键并将其从 commonjs 更改为 module。这允许您使用 ESM JavaScript 语法。

- "type": "commonjs",
+ "type": "module",

创建文件

在项目根目录下创建两个新文件

  1. index.js
  2. .env

自调用函数示例

将以下代码添加到 index.js 中,确保将 "Add your Endpoint URL here" 替换为您的实际端点 URL。

import 'dotenv/config';
import { InferenceClient } from '@huggingface/inference';

const client = new InferenceClient(process.env.HF_ACCESS_TOKEN).endpoint('Add your Endpoint URL here');

(async () => {
  try {
    const { generated_text } = await client.textGeneration({
      max_tokens: 150,
      inputs: 'Explain Hugging Face Inference Endpoints.',
    });

    console.log(generated_text);
  } catch (error) {
    console.error('Error:', error);
  }
})();

环境变量

.env 文件中,添加以下行并粘贴您之前创建的**访问令牌**。

HF_ACCESS_TOKEN=

测试应用程序

在您的终端中运行以下命令以测试应用程序

node index.js

结果

输出将取决于您使用的模型。以下是使用 mistralai/Mixtral-8x7B-Instruct-v0.1 模型的结果。

"解释 Hugging Face 推理端点。Hugging Face 推理端点是 Hugging Face 提供的基于云的服务,允许用户以高度可伸缩的方式运行大规模自然语言处理 (NLP) 和计算机视觉 (CV) 模型。这些端点允许开发人员轻松部署、配置和扩展模型 API,从而可以通过 HTTP 请求从其自己的应用程序进行访问。借助 Hugging Face 推理端点,常见的用例包括语言翻译、文本分类、文本生成和图像分类。这些端点使用 Hugging Face 的 Transformers 库构建,该库提供对数千个预训练模型的访问,并且它们设计得易于使用,允许用户通过最少的设置和配置快速上手。"

完成

有很多模型可以测试,但在配置端点之前找出哪些模型真正有效对我来说一直是一个真正的挑战。这可能非常耗时且令人沮丧。我对此仍然陌生,所以也许我遗漏了什么,或者最佳实践仍在不断发展。无论哪种方式,这篇文章都应该能帮助您快速上手。

如果您正在这个领域工作并希望建立联系,请随时通过 X 与我联系:@PaulieScanlon

社区

注册登录 以评论