OpenAI WebSocket API: Streaming thời gian thực với chi phí thấp hơn 75%

Smart AIPI hiện hỗ trợ OpenAI WebSocket API cho streaming thời gian thực, hai chiều. Độ trễ thấp hơn SSE, kết nối duy trì liên tục và rẻ hơn 75%. Đây là cách kết nối.

S
Smart AIPI Team
Đọc trong 7 phút ·
OpenAI WebSocket API: Streaming thời gian thực với chi phí thấp hơn 75%

Tóm tắt: Smart AIPI hiện hỗ trợ OpenAI WebSocket API. Kết nối tới wss://api.smartaipi.com/v1/realtime, gửi một event response.create và stream phản hồi theo thời gian thực qua một kết nối duy trì liên tục. Cùng model, cùng giao thức, rẻ hơn 75%.

WebSocket streaming là cách nhanh nhất để tương tác với các model AI. Khác với các request HTTP truyền thống hoặc thậm chí Server-Sent Events (SSE), WebSocket duy trì một kết nối hai chiều, liên tục giữa ứng dụng của bạn và API. Không cần thiết lập lại kết nối cho mỗi request, không có overhead HTTP, không bị giới hạn half-duplex.

Smart AIPI hiện hỗ trợ giao thức này tại wss://api.smartaipi.com/v1/realtime — tương thích hoàn toàn với OpenAI WebSocket API, với chi phí thấp hơn 75%.

Tại sao chọn WebSocket thay vì SSE?

Server-Sent Events từng là tiêu chuẩn cho AI streaming, nhưng chúng đi kèm những đánh đổi mà WebSocket loại bỏ được:

Tính năng SSE (HTTP) WebSocket
Kết nối cho mỗi request Kết nối mới mỗi lần Duy trì liên tục (tái sử dụng)
Chiều truyền Chỉ Server → Client Hai chiều
Nhiều request trên một kết nối Không
Độ trễ token đầu tiên Cao hơn (TCP + TLS mới) Thấp hơn (tái sử dụng kết nối)
Phù hợp nhất cho Tích hợp đơn giản Agents, ứng dụng thời gian thực, thông lượng cao

Với các vòng lặp agent thực hiện hàng chục lệnh gọi API liên tiếp, phần tiết kiệm độ trễ tích lũy từ một kết nối WebSocket duy trì liên tục là rất đáng kể.

Cách hoạt động

WebSocket API sử dụng giao thức hướng sự kiện. Bạn gửi các event JSON tới server và nhận lại các event JSON — tất cả qua một kết nối duy trì liên tục duy nhất.

1. Kết nối và xác thực

Mở một kết nối WebSocket với API key của bạn trong headers:

wss://api.smartaipi.com/v1/realtime
Authorization: Bearer sk-proj-your-smart-aipi-key
OpenAI-Beta: realtime=v1

2. Gửi một request

Gửi một event response.create với prompt của bạn:

{
  "type": "response.create",
  "response": {
    "model": "gpt-5.3-codex",
    "store": false,
    "instructions": "You are a helpful assistant.",
    "input": [
      {
        "type": "message",
        "role": "user",
        "content": [
          { "type": "input_text", "text": "What is WebSocket?" }
        ]
      }
    ]
  }
}

Lưu ý: Tham số store: false là bắt buộc đối với các kết nối Smart AIPI WebSocket.

3. Nhận các event streaming

Server sẽ gửi lại một chuỗi event khi phản hồi đang được tạo:

Event Mô tả
response.created Đối tượng phản hồi đã được tạo
response.output_item.added Mục output mới (message) đã bắt đầu
response.content_part.added Một phần nội dung đã bắt đầu trong một mục output
response.output_text.delta Một đoạn text (nội dung thực tế được stream)
response.output_text.done Output text đã hoàn tất
response.completed Toàn bộ phản hồi đã hoàn tất (event kết thúc)

Ví dụ mã

Node.js

import WebSocket from "ws";

const ws = new WebSocket("wss://api.smartaipi.com/v1/realtime", {
  headers: {
    "Authorization": "Bearer sk-proj-your-key",
    "OpenAI-Beta": "realtime=v1",
  },
});

ws.on("open", () => {
  ws.send(JSON.stringify({
    type: "response.create",
    response: {
      model: "gpt-5.3-codex",
      store: false,
      input: [{
        type: "message",
        role: "user",
        content: [{ type: "input_text", text: "Hello!" }],
      }],
    },
  }));
});

ws.on("message", (data) => {
  const event = JSON.parse(data);
  if (event.type === "response.output_text.delta") {
    process.stdout.write(event.delta);
  }
  if (event.type === "response.completed") {
    console.log("\n\nDone. Usage:", event.response.usage);
    ws.close();
  }
});

Python

import asyncio
import json
import websockets

async def main():
    headers = {
        "Authorization": "Bearer sk-proj-your-key",
        "OpenAI-Beta": "realtime=v1",
    }

    async with websockets.connect(
        "wss://api.smartaipi.com/v1/realtime",
        extra_headers=headers,
    ) as ws:
        await ws.send(json.dumps({
            "type": "response.create",
            "response": {
                "model": "gpt-5.3-codex",
                "store": False,
                "input": [{
                    "type": "message",
                    "role": "user",
                    "content": [{"type": "input_text", "text": "Hello!"}],
                }],
            },
        }))

        async for message in ws:
            event = json.loads(message)
            if event["type"] == "response.output_text.delta":
                print(event["delta"], end="", flush=True)
            if event["type"] == "response.completed":
                print(f"\n\nUsage: {event['response']['usage']}")
                break

asyncio.run(main())

cURL (Kiểm tra nhanh)

Xác minh rằng bắt tay WebSocket thành công chỉ với một lệnh:

curl -isN --http1.1 \
  -H "Connection: Upgrade" \
  -H "Upgrade: websocket" \
  -H "Sec-WebSocket-Version: 13" \
  -H "Sec-WebSocket-Key: dGVzdA==" \
  -H "Authorization: Bearer sk-proj-your-key" \
  -H "OpenAI-Beta: realtime=v1" \
  https://api.smartaipi.com/v1/realtime

Một kết nối thành công sẽ trả về HTTP/1.1 101 Switching Protocols.

Khi nào nên dùng WebSocket so với SSE

Cả hai giao thức đều hoạt động qua Smart AIPI. Hãy chọn theo trường hợp sử dụng của bạn:

  • Dùng SSE cho các tích hợp đơn giản, request một lần và khi bạn muốn cách triển khai đơn giản nhất có thể. Đặt stream: true trên bất kỳ lệnh gọi API tiêu chuẩn nào.
  • Dùng WebSocket cho vòng lặp agent, ứng dụng tương tác, mẫu request tần suất cao và bất kỳ đâu bạn cần độ trễ thấp nhất có thể giữa các lệnh gọi liên tiếp.

Giá

Các request WebSocket được tính phí giống như các request API tiêu chuẩn — theo mức sử dụng token. Mức giảm giá 75% được áp dụng:

Model OpenAI Direct Smart AIPI Tiết kiệm
GPT-5.3 Codex (output) $14.00 / 1M tokens $3.50 / 1M tokens 75%
GPT-5.2 (output) $10.00 / 1M tokens $2.50 / 1M tokens 75%
Codex Mini (output) $0.60 / 1M tokens $0.15 / 1M tokens 75%

Bắt đầu

  1. Lấy API key — Đăng ký tại smartaipi.com (đã bao gồm credit miễn phí, không cần thẻ tín dụng)
  2. Kết nối — Mở một kết nối WebSocket tới wss://api.smartaipi.com/v1/realtime
  3. Gửi event — Dùng envelope response.create với model và prompt của bạn
  4. Stream phản hồi — Xử lý các event response.output_text.delta khi chúng đến

Nếu bạn đã dùng OpenAI WebSocket API, thay đổi duy nhất là URL. Mọi thứ khác — xác thực, event, định dạng payload — đều giống hệt.

Câu hỏi thường gặp

Smart AIPI có hỗ trợ OpenAI WebSocket API không?

Có. Kết nối tới wss://api.smartaipi.com/v1/realtime với API key của bạn trong header Authorization. Giao thức này tương thích hoàn toàn với OpenAI WebSocket Responses API.

WebSocket có nhanh hơn SSE không?

Với các request liên tiếp, có. WebSocket duy trì một kết nối liên tục, loại bỏ overhead bắt tay TCP và TLS mà SSE phải chịu ở mỗi request mới. Với các request đơn lẻ một lần, khác biệt là không đáng kể.

Những model nào hoạt động qua WebSocket?

Tất cả model có sẵn qua Responses API: GPT-5.3 Codex, GPT-5.2, Codex Mini và các model khác. Chỉ định model trong event response.create.

Function calling và sử dụng tool có hoạt động qua WebSocket không?

Có. Toàn bộ bộ tính năng của Responses API đều khả dụng — function calling, tool use, structured outputs và hội thoại nhiều lượt đều hoạt động qua kết nối WebSocket.

Có giới hạn thời gian kết nối không?

Các kết nối idle sẽ bị đóng sau 15 phút. Hãy gửi message định kỳ hoặc kết nối lại khi cần. Các kết nối đang hoạt động và stream dữ liệu sẽ không bị gián đoạn.

Tôi có thể gửi nhiều request trên cùng một kết nối không?

Có. Đây là một trong những ưu điểm chính. Sau khi một phản hồi hoàn tất, hãy gửi một event response.create khác trên cùng kết nối mà không cần kết nối lại.

WebSocket Streaming Thời gian thực API
S
Viết bởi
Smart AIPI

API gateway tương thích OpenAI. Truy cập các mô hình AI frontier với chi phí thấp hơn 75%.

Bắt đầu miễn phí

Đã gửi tin nhắn

Chúng tôi sẽ phản hồi trong vòng 2 ngày làm việc.

Liên hệ hỗ trợ

Có câu hỏi hoặc cần hỗ trợ? Hãy gửi cho chúng tôi một tin nhắn và chúng tôi sẽ phản hồi trong vòng 2 ngày làm việc.