推理提供商文档

您的第一个推理提供商调用

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

您的第一个推理提供商调用

在本指南中,我们将帮助您使用推理提供商进行您的第一个 API 调用。

许多开发者避免使用开源 AI 模型,因为他们认为部署很复杂。本指南将向您展示如何在五分钟内使用最先进的模型,而无需任何基础设施设置。

我们将使用 FLUX.1-schnell 模型,这是一个强大的文本到图像模型。

本指南假设您拥有一个 Hugging Face 帐户。如果您没有,可以在 huggingface.co 免费创建一个。

步骤 1:在 Hub 上找到一个模型

访问 Hugging Face Hub 并寻找带有“推理提供商”过滤器的模型,您可以选择您想要的提供商。我们将选择 `fal`。

search image

在此示例中,我们将使用 FLUX.1-schnell,一个强大的文本到图像模型。接下来,导航到模型页面并向下滚动以在右侧找到推理小部件。

步骤 2:尝试交互式小部件

在编写任何代码之前,直接在模型页面上尝试该小部件

widget image

在这里,您可以直接在浏览器中通过任何可用提供商测试模型。您还可以复制相关的代码片段以在您自己的项目中使用。

  1. 输入一个提示,例如“日落时宁静的山地景观”
  2. 点击“生成”
  3. 观察模型在几秒钟内创建图像

此小部件使用您将要在代码中实现的相同端点。

您需要一个 Hugging Face 帐户(在 huggingface.co 免费创建)和剩余的信用点数才能使用该模型。

步骤 3:从点击到代码

现在我们用 Python 来重现它。点击小部件中的“查看代码片段”按钮,查看生成的代码片段

code snippets image

您需要使用有效的 Hugging Face 用户访问令牌填充此片段。您可以在您的设置页面找到您的用户访问令牌。

将您的令牌设置为环境变量

export HF_TOKEN="your_token_here"

您可以将此行添加到您的`.bash_profile`或类似文件中,以便所有终端环境自动获取令牌。

Python 或 TypeScript 代码片段将使用环境变量中的令牌。

Python
TypeScript

安装所需包

pip install huggingface_hub

您现在可以使用代码片段在您的应用程序中生成图像。

import os
from huggingface_hub import InferenceClient

client = InferenceClient(
    provider="auto",
    api_key=os.environ["HF_TOKEN"],
)

# output is a PIL.Image object
image = client.text_to_image(
    "Astronaut riding a horse",
    model="black-forest-labs/FLUX.1-schnell",
)

发生了什么?

干得好!您已经成功使用了生产级 AI 模型,无需任何复杂的设置。只需几行代码,您就

  • 连接到一个强大的文本到图像模型
  • 从文本生成自定义图像
  • 将结果保存在本地

您刚才使用的模型运行在专业的底层架构上,自动处理扩展、优化和可靠性。

深入了解:提供商选择

您可能已经注意到上述代码示例中的 `provider="auto"` 参数。这是推理提供商的一个关键特性,它允许您控制哪个基础设施提供商处理您的请求。

`auto` 之所以强大,是因为它

  1. 让提供商之间轻松切换,并测试不同提供商针对您的用例的性能。
  2. 它还提供了在提供商不可用时的回退机制。

但如果您想更具体,也可以指定一个提供商。让我们看看如何操作。

理解提供商选择

当您使用 `provider="auto"`(这是默认设置)时,系统会根据您在推理提供商设置中的偏好顺序,自动为所选模型选择第一个可用提供商。这提供了

  • 自动故障转移:如果一个提供商不可用,系统会尝试下一个
  • 简化设置:无需研究哪些提供商支持您的模型
  • 最佳路由:系统为您处理提供商选择

指定特定提供商

或者,如果您有特定要求,可以明确选择提供商

Python
TypeScript
import os
from huggingface_hub import InferenceClient

client = InferenceClient(api_key=os.environ["HF_TOKEN"])

# Using automatic provider selection (default)
image_auto = client.text_to_image(
    "Astronaut riding a horse",
    model="black-forest-labs/FLUX.1-schnell",
    provider="auto"  # This is the default
)

# Using a specific provider
image_fal = client.text_to_image(
    "Astronaut riding a horse", 
    model="black-forest-labs/FLUX.1-schnell",
    provider="fal-ai"  # Explicitly use Fal AI
)

# Using another specific provider
image_replicate = client.text_to_image(
    "Astronaut riding a horse",
    model="black-forest-labs/FLUX.1-schnell", 
    provider="replicate"  # Explicitly use Replicate
)

何时使用每种方法

在以下情况下使用 `provider="auto"`:

  • 您刚开始使用推理提供商
  • 您想要最简单的设置和最大的可靠性
  • 您没有特定的基础设施要求
  • 您希望在提供商不可用时自动故障转移

在以下情况下使用特定提供商:

  • 您需要一致的性能特性
  • 您有特定的计费或成本要求
  • 您想测试不同提供商在您的用例中的性能

下一步

现在您已经了解了使用 AI 模型是多么简单,您可能会想:

  • “提供商”系统在幕后做了什么?
  • 计费是如何运作的?
  • 您还可以使用哪些其他模型?

继续阅读下一篇指南,了解提供商生态系统,并对身份验证和计费做出明智选择。

< > 在 GitHub 上更新