api-inference 文档

文本生成

Hugging Face's logo
加入 Hugging Face 社区

并获取增强型文档体验

以开始使用

文本生成

根据提示生成文本。

如果您对聊天完成任务感兴趣,该任务会根据消息列表生成响应,请查看 chat-completion 任务。

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

推荐的模型

探索所有可用的模型并找到最适合您的模型 这里

使用 API

Python
JavaScript
cURL
import requests

API_URL = "https://api-inference.huggingface.co/models/google/gemma-2-2b-it"
headers = {"Authorization": "Bearer hf_***"}

def query(payload):
	response = requests.post(API_URL, headers=headers, json=payload)
	return response.json()
	
output = query({
	"inputs": "Can you please let us know more details about your ",
})

要使用 Python 客户端,请查看 huggingface_hub软件包参考

API 规范

请求

有效负载
inputs* 字符串
parameters 对象
        adapter_id 字符串 Lora 适配器 ID
        best_of 整数 生成 best_of 序列并返回具有最高令牌 logprob 的序列。
        decoder_input_details 布尔值 是否返回解码器输入令牌 logprob 和 ID。
        details 布尔值 是否返回生成细节。
        do_sample 布尔值 激活 logits 抽样。
        frequency_penalty 数字 频率惩罚参数。1.0 表示无惩罚,根据新词在文本中出现的频率对新词进行惩罚,降低模型重复相同行的可能性。
        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 布尔值

一些选项可以通过向推理 API 传递标头进行配置。以下是可用的标头

标头
authorization 字符串 hf_**** 是具有推理 API 权限的个人用户访问令牌时,身份验证标头以 'Bearer: hf_****' 的形式出现。您可以在 设置页面 生成一个。
x-use-cache 布尔值,默认为 true 推理 API 上有一个缓存层,用于加速我们已经见过的请求。大多数模型可以使用这些结果,因为它们是确定性的(这意味着输出无论如何都是相同的)。但是,如果您使用的是非确定性模型,则可以将此参数设置为阻止使用缓存机制,从而导致真正的新的查询。阅读更多关于缓存 的信息
x-wait-for-model 布尔值,默认为 false 如果模型未准备好,则等待它,而不是接收 503。它限制了完成推理所需的请求数量。建议仅在收到 503 错误后才将此标志设置为 true,因为它会将应用程序中的挂起限制在已知位置。阅读更多关于模型可用性 的信息

有关推理 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 字符串
索引 整数
token 对象
        id 整数
        logprob 数字
        special 布尔值
        text 字符串
top_tokens object[]
        id 整数
        logprob 数字
        special 布尔值
        text 字符串
< > 更新 在 GitHub 上