BazaarLinkBazaarLink
登入
文件API 參考SDK 參考Agent 應用AI Skills
聊天

建立聊天

為給定的對話請求模型回應。支援串流與非串流兩種模式,單一 OpenAI 相容請求/回應格式跨所有模型與供應商通用。

POST/api/v1/chat/completions

驗證

Authorization必填
string · header

在 Authorization 標頭以 Bearer token 傳入 API 金鑰。

Body

model必填
string

要使用的模型,供應商前綴格式,例如 "openai/gpt-4.1"。 常見家族的簡稱(例如 "gpt-4o")會自動解析為完整的 canonical id("openai/gpt-4o");已是 canonical 形式的值原樣通過。無法解析的簡稱不會被硬改寫,模型解析階段會回報清楚的「找不到模型」錯誤。

minLength: 1
Example: "openai/gpt-4.1"
messages必填
Message[]

對話訊息陣列,至少一則。每則含 role(system/user/assistant/tool)與 content。

minLength: 1
models
string[]

備援模型清單——依序嘗試,主要模型的候選群全部失敗時才會用到。

stream
boolean

true 時以 SSE 串流回應;省略或 false 為一次性 JSON 回應。

temperature
number

取樣溫度,越高越隨機、越低越確定。

0–2
max_tokens
integer

回應可生成的最大 token 數。

max_completion_tokens
integer

max_tokens 的別名,語意相同。

top_p
number

核採樣(nucleus sampling)閾值。

0–1
top_k
integer

限制取樣時只從機率最高的 K 個 token 中選。

frequency_penalty
number

依 token 已出現的頻率懲罰重複。

-2.0–2.0
presence_penalty
number

依 token 是否曾出現過(不論次數)懲罰重複。

-2.0–2.0
repetition_penalty
number

重複 token 的懲罰係數,獨立於 frequency/presence penalty 的另一種機制。

min_p
number

相對於最高機率 token 的最小機率門檻。

0–1
top_a
number

另一種動態調整取樣範圍的機制,依最高機率的平方縮放門檻。

seed
integer

確定性取樣種子;非所有供應商都保證可重現。

n
integer

要生成的回應數量。

stop
string | string[]

遇到即停止生成的字串,最多 4 個。

tools
Tool[]

模型可呼叫的工具/函式定義清單。

tool_choice
string | object

控制模型是否/如何被強制呼叫工具。

parallel_tool_calls
boolean

有提供 tools 時,是否允許並行工具呼叫。預設 true。 僅限 OpenAI 系列模型——目標模型不是 OpenAI 自家的時,此欄位會被靜默拿掉,不會報錯。

response_format
object

限制輸出格式,例如 {type:"json_object"} 或帶 JSON Schema 的 {type:"json_schema"}。

logit_bias
object

把 token ID 對映到 [-100, 100] 的偏差值,在取樣前加上。 僅限 OpenAI 系列模型——目標模型不是 OpenAI 自家的時,此欄位會被靜默拿掉,不會報錯。

logprobs
boolean

回傳每個輸出 token 的對數機率。 僅限 OpenAI 系列模型——目標模型不是 OpenAI 自家的時,此欄位會被靜默拿掉,不會報錯。

top_logprobs
integer

每個位置回傳機率最高的候選 token 數(需搭配 logprobs: true)。 僅限 OpenAI 系列模型——目標模型不是 OpenAI 自家的時,此欄位會被靜默拿掉,不會報錯。

0–20
user
string

終端使用者識別碼,用於監控與濫用偵測。對計費無影響。 僅限 OpenAI 系列模型——目標模型不是 OpenAI 自家的時,此欄位會被靜默拿掉,不會報錯。

reasoning
object

推理模型的思考控制物件(例如 {effort, max_tokens})。

reasoning_effort
string

reasoning.effort 的簡寫平面欄位。

lowmediumhigh
image_config
object

圖片生成/圖生圖選項(當 modalities 含 image 時使用)。

modalities
string[]

要求的輸出模態。含 image 時走圖片生成派工路徑。

textimage
plugins
object[]

外掛陣列(例如 {id:"web"} 啟用網頁搜尋)。僅部分模型路由支援,不支援時無效;:online 模型變體會自動注入 {id:"web"},同樣僅限支援的路由。

POST /api/v1/chat/completions
curl https://bazaarlink.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $BAZAARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4.1",
    "messages": [{"role": "user", "content": "Explain quantum computing in one paragraph."}]
  }'
回應範例

成功。BazaarLink 只正規化兩個欄位——model,以及移除 provider 欄位——其餘上游回應原樣轉發,包括 native_finish_reason、system_fingerprint、reasoning 等只有在該供應商有填值時才會出現的欄位。usage.cost 是例外,永遠是 BazaarLink 自己結算的金額,不是上游轉發過來的數值。

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1740000000,
  "model": "openai/gpt-4o",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Quantum computing leverages quantum mechanics..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 28,
    "completion_tokens": 74,
    "total_tokens": 102,
    "cost": 0.000648
  }
}
客服
客服
您好!有什麼可以協助?
請留下訊息,我們會盡快回覆。
建立聊天 — BazaarLink API