Gate.AI 快速入門:使用 Python、Node.js 和 curl 存取 API
Gate.AI 提供了相容 OpenAI 的 API 介面,讓開發者可以使用 Python、Node.js、curl 以及相容的 AI 開發工具來送出聊天補全(chat completions)請求。若你已使用 OpenAI 風格 SDK 或 REST 請求,在接入 Gate.AI API 時,主要只需更換 API Key 與 Base URL,通常不需要調整請求結構。本文快速入門指南包含一個必要的設定步驟、一次接入路徑選擇,以及 Python、Node.js、curl 三種互斥的實作方式。串流架構、帳號權限、生產監控與計費控管等進階主題不在本指南範圍內。
前置條件
- 一組 Gate.AI API Key。
- 已安裝 Python、Node.js 或 curl(取決於你選擇的接入方式)。
完成本指南後你將具備什麼能力?
完成本 Gate.AI API 快速入門指南後,你將能使用所選的 Python、Node.js 或 curl 方式,成功送出聊天補全請求至 Gate.AI。
你不需要完成全部三種語言的範例;只要選擇與你的應用環境相符的路徑即可。本範例使用 Gate.AI 相容 OpenAI 的 Base URL 與聊天補全格式,基於 2026年6月的產品版本。如需產品背景,請造訪 Gate.AI 產品頁面。
步驟1:準備通用的 Gate.AI API 設定
本步驟會為所有接入路徑準備通用的 API 設定參數。
操作:
在選擇實作路徑前,請使用以下 Gate.AI API 設定參數。
| 設定項目 | 值 |
|---|---|
| API Key | YOUR_GATEAI_API_KEY |
| Base URL | xx/openai/v1 |
| 聊天補全介面 | xx/openai/v1/chat/completions |
| Python 範例模型值 | auto |
| Node.js 範例模型值 | auto |
| curl 範例模型值 | deepseek/deepseek-v3.2 |
API Key 用於請求鑑權,Base URL 用於將相容 OpenAI 的 SDK 呼叫路由到 Gate.AI。curl 路徑則需要直接使用 Endpoint。
步驟2:選擇一種 API 接入路徑
本步驟的目的是避免 Python、Node.js 與 curl 範例被誤以為必須全部都執行。
操作:
請從下表中選擇一種路徑。
| 接入路徑 | 適用情境 | 所需環境 | 下一步 |
|---|---|---|---|
| Python | 應用、腳本或後端使用 Python | Python 與 OpenAI Python SDK | 步驟3A |
| Node.js | 應用或服務使用 JavaScript 或 Node.js | Node.js 與 OpenAI Node.js SDK | 步驟3B |
| curl | 需要直接在終端機測試或進行 REST 除錯請求 | curl | 步驟3C |
只要完成其中一種路徑即可驗證 Gate.AI API 接入。僅在你需要跨多個開發環境測試 Gate.AI 時,才需要多路徑並行。
步驟3A:送出 Python 聊天補全請求
本路徑使用 OpenAI Python SDK,並指定 Gate.AI Base URL。
操作:
僅在你的環境為 Python 時使用本路徑。
from openai import OpenAIclient = OpenAI(api_key="YOUR_GATEAI_API_KEY",base_url="https://api.gate.ai/openai/v1",)completion = client.chat.completions.create(model="auto",messages=[{"role": "system", "content": "system prompt"},{"role": "user", "content": "how are you?"}],)print(completion.choices[0].message.content)
你將在終端機看到助理回覆,例如:
Hello! Nice to meet you. How can I help you?
本路徑維持 OpenAI Python SDK 的請求結構,只需將 API Key 與 Base URL 換成 Gate.AI 即可。
步驟3B:送出 Node.js 聊天補全請求
本路徑使用 OpenAI Node.js SDK,並指定 Gate.AI Base URL。
操作:
僅在你的環境為 Node.js 時使用本路徑。
const OpenAI = require("openai")const client = new OpenAI({apiKey: "YOUR_GATEAI_API_KEY",baseURL: "https://api.gate.ai/openai/v1",})async function main() {const completion = await client.chat.completions.create({model: "auto",messages: [{"role": "system", "content": "system prompt"},{"role": "user", "content": "how are you?"}],})console.log(completion.choices[0].message.content)}main()
你將在主控台看到助理回覆。若腳本執行後沒有任何輸出,請印出完整的 completion 物件,確認 choices[0].message.content 欄位存在。
步驟3C:送出 curl 聊天補全請求
本路徑不需要 SDK,直接呼叫 Gate.AI 聊天補全介面。
操作:
僅在你需要透過終端機直接送出 REST 請求時使用本路徑。
curl --location --request POST 'https://api.gate.ai/openai/v1/chat/completions' \--header 'Authorization: Bearer YOUR_GATEAI_API_KEY' \--header 'Content-Type: application/json' \--data-raw '{"model": "deepseek/deepseek-v3.2","stream": false,"messages": [{"role": "user","content": "how are you"}]}'
你將收到包含 choices 陣列的 JSON 回應。助理回覆位於 choices[0].message.content 欄位。
Gate.AI API 成功回應範例
成功的 Gate.AI 聊天補全回應遵循 OpenAI 相容的結構。
{"id": "243c850e-214c-431e-977f-ebaf4aa95f56","choices": [{"index": 0,"message": {"role": "assistant","content": "Hello! Nice to meet you. How can I help you?"},"finish_reason": "stop"}],"created": 1773408946,"model": "deepseek.v3-v1:0","object": "chat.completion","usage": {"prompt_tokens": 5,"completion_tokens": 15,"total_tokens": 20}}
| 回應欄位 | 檢查重點 |
|---|---|
| choices[0].message.content | 產生的助理回覆內容 |
| finish_reason | 模型是否正常停止 |
| model | 實際服務請求的模型 |
| usage.prompt_tokens | 輸入訊息消耗的 Token 數 |
| usage.completion_tokens | 助理回覆消耗的 Token 數 |
| usage.total_tokens | 請求與回覆合計消耗的 Token 數 |
快速測試時,最關鍵的欄位是 choices[0].message.content。usage 物件可協助你確認 Gate.AI 已處理提示詞與回覆內容。
Gate.AI API 請求失敗常見原因與排查
- 狀況:請求回傳鑑權錯誤。
- 原因:API Key 遺失、已過期、格式錯誤,或未正確從 Gate.AI 複製。
- 解法:將
YOUR_GATEAI_API_KEY取代為有效的 Gate.AI API Key。對於 curl,請保留Authorization: Bearer YOUR_GATEAI_API_KEY標頭格式。
- 狀況:SDK 請求送到錯誤的服務。
- 原因:OpenAI SDK 仍使用預設的 Base URL。
- 解法:在 Python 中設定
base_url,在 Node.js 中將baseURL設為https://api.gate.ai/openai/v1後再送出請求。
- 狀況:回應未使用預期模型。
- 原因:請求使用
auto,或 Gate.AI 在自動模型選擇時對應了不同的模型 ID。
- 原因:請求使用
- 狀況:腳本有執行但沒有輸出。
- 原因:程式未讀取
completion.choices[0].message.content,或在印出之前請求就已失敗。
- 原因:程式未讀取
下一步可設定或整合的內容
完成任一 Gate.AI 快速入門 API 路徑後,你可以將相同的 Gate.AI Base URL 整合到你的應用後端、開發工具、內部自動化或測試流程中。
建議後續主題:
- 了解 Gate.AI 在 AI 開發流程中的應用,請參閱 Gate.AI 產品概覽。
- 請查閱 Gate.AI API 文件,取得支援的 API 行為、模型細節與實作參考。
常見問題解答
我需要同時執行 Python、Node.js 和 curl 嗎?
不需要。依照你的開發環境選擇其中一種接入路徑即可。Python、Node.js 與 curl 只是送出 Gate.AI 聊天補全請求的不同方式。
為什麼 Python 用 base_url,Node.js 用 baseURL?
Python SDK 使用底線命名(snake_case),Node.js SDK 使用駝峰命名(camelCase)。兩者都指向同一個 Gate.AI Base URL。
每次請求都能用 model="auto" 嗎?
當你希望 Gate.AI 自動選擇模型且你的設定支援時,可以使用 auto。若要指定模型,請參考 Gate.AI 文件並選用支援的模型 ID。
JSON 輸出中的助理回覆在哪裡?
助理回覆位於 choices[0].message.content 欄位。Token 使用情況會在 usage 物件中另外顯示。