推理提供商文件
聊天補全
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
聊天補全
根據會話上下文中的訊息列表生成響應,支援會話式語言模型 (LLM) 和會話式視覺語言模型 (VLM)。這是 文字生成
和 影像文字到文字
的一個子任務。
推薦模型
會話式大型語言模型 (LLM)
- 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 開發的強大文字生成模型。
- simplescaling/s1.1-32B: 一個具有推理能力的非常強大的模型。
- Qwen/Qwen2.5-7B-Instruct-1M: 支援超長指令的強大對話模型。
- Qwen/Qwen2.5-Coder-32B-Instruct: 用於編寫程式碼的文字生成模型。
- deepseek-ai/DeepSeek-R1: 強大的基於推理的開放大型語言模型。
會話式視覺語言模型 (VLM)
- Qwen/Qwen2.5-VL-7B-Instruct: 強大的影像文字到文字模型。
在此處探索所有可用模型,找到最適合您的模型 這裡。
API 遊樂場
對於聊天補全模型,我們提供了一個互動式 UI 遊樂場,以便更輕鬆地進行測試
- 透過 UI 快速迭代您的提示。
- 設定和覆蓋系統、助手和使用者訊息。
- 瀏覽和選擇當前推理 API 中可用的模型。
- 並排比較兩個模型的輸出。
- 從 UI 調整請求引數。
- 在 UI 檢視和程式碼片段之間輕鬆切換。

訪問推理 UI 遊樂場並開始探索:https://huggingface.co/playground
使用 API
API 支援
- 使用與 OpenAI SDK 相容的聊天補全 API。
- 使用語法、約束和工具。
- 流式輸出
會話式 LLM 程式碼片段示例
語言
客戶端
提供商
import os
from huggingface_hub import InferenceClient
client = InferenceClient(
provider="cerebras",
api_key=os.environ["HF_TOKEN"],
)
completion = client.chat.completions.create(
model="openai/gpt-oss-120b",
messages=[
{
"role": "user",
"content": "What is the capital of France?"
}
],
)
print(completion.choices[0].message)
會話式 VLM 程式碼片段示例
語言
客戶端
提供商
import os
from huggingface_hub import InferenceClient
client = InferenceClient(
provider="cerebras",
api_key=os.environ["HF_TOKEN"],
)
completion = client.chat.completions.create(
model="meta-llama/Llama-4-Scout-17B-16E-Instruct",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "Describe this image in one sentence."
},
{
"type": "image_url",
"image_url": {
"url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg"
}
}
]
}
],
)
print(completion.choices[0].message)
API 規範
請求
標頭 | ||
---|---|---|
授權 | 字串 | 身份驗證標頭,形式為 'Bearer: hf_****' ,其中 hf_**** 是具有“推理提供商”許可權的個人使用者訪問令牌。您可以從您的設定頁面生成一個。 |
有效負載 | ||
---|---|---|
frequency_penalty | 數字 | 介於 -2.0 和 2.0 之間的數字。正值根據新標記在文字中已有的頻率對其進行懲罰,從而降低模型逐字重複相同行的可能性。 |
logprobs | 布林值 | 是否返回輸出標記的對數機率。如果為 true,則返回訊息內容中返回的每個輸出標記的對數機率。 |
max_tokens | 整數 | 聊天補全中可生成的最大標記數。 |
messages* | 物件陣列 | 到目前為止的對話訊息列表。 |
(#1) | 未知 | 以下之一 |
(#1) | 物件 | |
content* | 未知 | 以下之一 |
(#1) | 字串 | |
(#2) | 物件陣列 | |
(#1) | 物件 | |
text* | 字串 | |
type* | 列舉 | 可能的值:text。 |
(#2) | 物件 | |
image_url* | 物件 | |
url* | 字串 | |
type* | 列舉 | 可能的值:image_url。 |
(#2) | 物件 | |
tool_calls* | 物件陣列 | |
function* | 物件 | |
parameters | 未知 | |
description | 字串 | |
name* | 字串 | |
id* | 字串 | |
type* | 字串 | |
(#2) | 物件 | |
name | 字串 | |
role* | 字串 | |
presence_penalty | 數字 | 介於 -2.0 和 2.0 之間的數字。正值根據新標記是否出現在文字中對其進行懲罰,從而增加模型談論新主題的可能性。 |
response_format | 未知 | 以下之一 |
(#1) | 物件 | |
type* | 列舉 | 可能的值:text。 |
(#2) | 物件 | |
type* | 列舉 | 可能的值:json_schema。 |
json_schema* | 物件 | |
name* | 字串 | 響應格式的名稱。 |
description | 字串 | 響應格式的用途描述,模型使用它來確定如何以該格式響應。 |
schema | 物件 | 響應格式的模式,描述為 JSON Schema 物件。在此處瞭解如何構建 JSON 模式這裡。 |
strict | 布林值 | 是否在生成輸出時啟用嚴格模式遵循。如果設定為 true,模型將始終遵循 schema 欄位中定義的精確模式。 |
(#3) | 物件 | |
type* | 列舉 | 可能的值:json_object。 |
種子 | 整數 | |
stop | 字串陣列 | API 將停止生成進一步標記的最多 4 個序列。 |
stream | 布林值 | |
stream_options | 物件 | |
include_usage | 布林值 | 如果設定,將在 data: [DONE] 訊息之前流式傳輸一個額外的塊。此塊上的 usage 欄位顯示整個請求的標記使用統計資訊,choices 欄位將始終為空陣列。所有其他塊也將包含 usage 欄位,但值為 null。 |
temperature | 數字 | 要使用的取樣溫度,介於 0 和 2 之間。較高的值(例如 0.8)將使輸出更隨機,而較低的值(例如 0.2)將使其更集中和確定性。我們通常建議更改此引數或 top_p ,但不要同時更改兩者。 |
tool_choice | 未知 | 以下之一 |
(#1) | 列舉 | 可能的值:auto。 |
(#2) | 列舉 | 可能的值:none。 |
(#3) | 列舉 | 可能的值:required。 |
(#4) | 物件 | |
function* | 物件 | |
name* | 字串 | |
tool_prompt | 字串 | 附加在工具之前的提示 |
tools | 物件陣列 | 模型可能呼叫的工具列表。目前,僅支援函式作為工具。使用此引數提供模型可能為其生成 JSON 輸入的函式列表。 |
function* | 物件 | |
parameters | 未知 | |
description | 字串 | |
name* | 字串 | |
type* | 字串 | |
top_logprobs | 整數 | 一個介於 0 和 5 之間的整數,指定在每個標記位置返回最可能的標記數量,每個標記都有一個關聯的對數機率。如果使用此引數,則必須將 logprobs 設定為 true。 |
top_p | 數字 | 一種替代溫度取樣的取樣方法,稱為核取樣,模型考慮具有 top_p 機率質量的標記結果。因此,0.1 表示僅考慮包含前 10% 機率質量的標記。 |
響應
輸出型別取決於 stream
輸入引數。如果 stream
為 false
(預設),則響應將是一個 JSON 物件,包含以下欄位:
正文 | ||
---|---|---|
choices | 物件陣列 | |
finish_reason | 字串 | |
index | 整數 | |
logprobs | 物件 | |
content | 物件陣列 | |
logprob | 數字 | |
token | 字串 | |
top_logprobs | 物件陣列 | |
logprob | 數字 | |
token | 字串 | |
message | 未知 | 以下之一 |
(#1) | 物件 | |
content | 字串 | |
role | 字串 | |
tool_call_id | 字串 | |
(#2) | 物件 | |
role | 字串 | |
tool_calls | 物件陣列 | |
function | 物件 | |
arguments | 字串 | |
description | 字串 | |
name | 字串 | |
id | 字串 | |
type | 字串 | |
created | 整數 | |
id | 字串 | |
模型 | 字串 | |
system_fingerprint | 字串 | |
usage | 物件 | |
completion_tokens | 整數 | |
prompt_tokens | 整數 | |
total_tokens | 整數 |
如果 stream
為 true
,生成的標記將作為流式傳輸返回,使用 Server-Sent Events (SSE)。有關流式傳輸的更多資訊,請檢視此指南。
正文 | ||
---|---|---|
choices | 物件陣列 | |
delta | 未知 | 以下之一 |
(#1) | 物件 | |
content | 字串 | |
role | 字串 | |
tool_call_id | 字串 | |
(#2) | 物件 | |
role | 字串 | |
tool_calls | 物件陣列 | |
function | 物件 | |
arguments | 字串 | |
name | 字串 | |
id | 字串 | |
index | 整數 | |
type | 字串 | |
finish_reason | 字串 | |
index | 整數 | |
logprobs | 物件 | |
content | 物件陣列 | |
logprob | 數字 | |
token | 字串 | |
top_logprobs | 物件陣列 | |
logprob | 數字 | |
token | 字串 | |
created | 整數 | |
id | 字串 | |
模型 | 字串 | |
system_fingerprint | 字串 | |
usage | 物件 | |
completion_tokens | 整數 | |
prompt_tokens | 整數 | |
total_tokens | 整數 |