Inference Providers 文档

文本生成

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

文本生成

基于提示生成文本。

如果您对聊天补全任务感兴趣,该任务基于消息列表生成响应,请查看 chat-completion 任务。

有关 text-generation 任务的更多详细信息,请查看其专用页面!您将在那里找到示例和相关材料。

推荐模型

在这里浏览所有可用的模型,找到最适合您的模型 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 输入参数。如果 streamfalse(默认),则响应将是一个 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 字符串

如果 streamtrue,则生成的 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 字符串
< > 在 GitHub 上更新