Inference Providers 文档
文本生成
加入 Hugging Face 社区
并获得增强的文档体验
开始使用
文本生成
基于提示生成文本。
如果您对聊天补全任务感兴趣,该任务基于消息列表生成响应,请查看 chat-completion
任务。
有关 text-generation
任务的更多详细信息,请查看其专用页面!您将在那里找到示例和相关材料。
推荐模型
- google/gemma-2-2b-it: 一个经过训练以遵循指令的文本生成模型。
- deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B: 最强大的模型之一的较小变体。
- meta-llama/Meta-Llama-3.1-8B-Instruct: 非常强大的文本生成模型,经过训练以遵循指令。
- microsoft/phi-4: Microsoft 强大的文本生成模型。
- Qwen/Qwen2.5-Coder-32B-Instruct: 用于编写代码的文本生成模型。
- deepseek-ai/DeepSeek-R1: 强大的基于推理的开放大型语言模型。
在这里浏览所有可用的模型,找到最适合您的模型 here。
使用 API
from huggingface_hub import InferenceClient
client = InferenceClient(
provider="hf-inference",
api_key="hf_xxxxxxxxxxxxxxxxxxxxxxxx",
)
completion = client.chat.completions.create(
model="Qwen/QwQ-32B",
messages="\"Can you please let us know more details about your \"",
max_tokens=500,
)
print(completion.choices[0].message)
API 规范
请求
有效载荷 | ||
---|---|---|
inputs* | 字符串 | |
parameters | 对象 | |
adapter_id | 字符串 | Lora 适配器 ID |
best_of | 整数 | 生成 best_of 序列,如果 token logprobs 最高,则返回其中一个。 |
decoder_input_details | 布尔值 | 是否返回解码器输入 token logprobs 和 ID。 |
details | 布尔值 | 是否返回生成详细信息。 |
do_sample | 布尔值 | 激活 logits 采样。 |
frequency_penalty | 数字 | 频率惩罚的参数。1.0 表示没有惩罚。根据新 token 在目前文本中的现有频率对其进行惩罚,从而降低模型逐字重复同一行的可能性。 |
grammar | 未知 | 以下之一 |
(#1) | 对象 | |
type* | 枚举 | 可能的值:json。 |
value* | 未知 | 表示 JSON Schema 的字符串。JSON Schema 是一种声明性语言,允许使用类型和描述来注释 JSON 文档。 |
(#2) | 对象 | |
type* | 枚举 | 可能的值:regex。 |
value* | 字符串 | |
max_new_tokens | 整数 | 要生成的最大 token 数。 |
repetition_penalty | 数字 | 重复惩罚的参数。1.0 表示没有惩罚。有关更多详细信息,请参阅本文。 |
return_full_text | 布尔值 | 是否将提示添加到生成的文本前面 |
seed | 整数 | 随机采样种子。 |
stop | string[] | 如果生成了 stop 的成员,则停止生成 token。 |
temperature | 数字 | 用于调节 logits 分布的值。 |
top_k | 整数 | 为 top-k 过滤保留的最高概率词汇 token 的数量。 |
top_n_tokens | 整数 | 为 top-n 过滤保留的最高概率词汇 token 的数量。 |
top_p | 数字 | 核采样的 top-p 值。 |
truncate | 整数 | 将输入 token 截断为给定大小。 |
typical_p | 数字 | 典型解码质量。有关更多信息,请参阅自然语言生成的典型解码。 |
watermark | 布尔值 | 使用大型语言模型的水印进行水印。 |
stream | 布尔值 |
可以通过将标头传递给 Inference API 来配置一些选项。以下是可用的标头
标头 | ||
---|---|---|
authorization | 字符串 | 形式为 'Bearer: hf_****' 的身份验证标头,其中 hf_**** 是具有 Inference API 权限的个人用户访问令牌。您可以从您的设置页面生成一个。 |
x-use-cache | 布尔值,默认为 true | Inference API 上有一个缓存层,以加快我们已经看到的请求。大多数模型都可以使用这些结果,因为它们是确定性的(意味着无论如何输出都将相同)。但是,如果您使用非确定性模型,则可以设置此参数以防止使用缓存机制,从而产生真正的全新查询。在此处阅读有关缓存的更多信息here。 |
x-wait-for-model | 布尔值,默认为 false | 如果模型未准备好,请等待它,而不是收到 503 错误。这限制了完成推理所需的请求数量。建议仅在收到 503 错误后才将此标志设置为 true,因为它会将应用程序中的挂起限制在已知位置。在此处阅读有关模型可用性的更多信息here。 |
有关 Inference API 标头的更多信息,请查看参数指南。
响应
输出类型取决于 stream
输入参数。如果 stream
为 false
(默认),则响应将是一个 JSON 对象,包含以下字段
正文 | ||
---|---|---|
details | 对象 | |
best_of_sequences | object[] | |
finish_reason | 枚举 | 可能的值:length、eos_token、stop_sequence。 |
generated_text | 字符串 | |
generated_tokens | 整数 | |
prefill | object[] | |
id | 整数 | |
logprob | 数字 | |
text | 字符串 | |
seed | 整数 | |
tokens | object[] | |
id | 整数 | |
logprob | 数字 | |
special | 布尔值 | |
text | 字符串 | |
top_tokens | array[] | |
id | 整数 | |
logprob | 数字 | |
special | 布尔值 | |
text | 字符串 | |
finish_reason | 枚举 | 可能的值:length、eos_token、stop_sequence。 |
generated_tokens | 整数 | |
prefill | object[] | |
id | 整数 | |
logprob | 数字 | |
text | 字符串 | |
seed | 整数 | |
tokens | object[] | |
id | 整数 | |
logprob | 数字 | |
special | 布尔值 | |
text | 字符串 | |
top_tokens | array[] | |
id | 整数 | |
logprob | 数字 | |
special | 布尔值 | |
text | 字符串 | |
generated_text | 字符串 |
如果 stream
为 true
,则生成的 token 将作为流返回,使用服务器发送事件 (SSE)。有关流的更多信息,请查看本指南。
正文 | ||
---|---|---|
details | 对象 | |
finish_reason | 枚举 | 可能的值:length、eos_token、stop_sequence。 |
generated_tokens | 整数 | |
input_length | 整数 | |
seed | 整数 | |
generated_text | 字符串 | |
index | 整数 | |
token | 对象 | |
id | 整数 | |
logprob | 数字 | |
special | 布尔值 | |
text | 字符串 | |
top_tokens | object[] | |
id | 整数 | |
logprob | 数字 | |
special | 布尔值 | |
text | 字符串 |