OpenAI WebSocket API: بث فوري في الوقت الحقيقي بتكلفة أقل بنسبة 75%
يدعم Smart AIPI الآن OpenAI WebSocket API للبث الفوري ثنائي الاتجاه في الوقت الحقيقي. زمن استجابة أقل من SSE، واتصالات دائمة، وتكلفة أقل بنسبة 75%. إليك كيفية الاتصال.
باختصار: يدعم Smart AIPI الآن OpenAI WebSocket API. اتصل بـ wss://api.smartaipi.com/v1/realtime، وأرسل حدث response.create، وقم ببث الاستجابات في الوقت الحقيقي عبر اتصال دائم. نفس النماذج، ونفس البروتوكول، وتكلفة أقل بنسبة 75%.
يُعد WebSocket streaming أسرع طريقة للتفاعل مع نماذج AI. على عكس طلبات HTTP التقليدية أو حتى Server-Sent Events (SSE)، يحافظ WebSocket على اتصال دائم وثنائي الاتجاه بين تطبيقك وواجهة API. لا حاجة لإعداد اتصال لكل طلب، ولا يوجد حمل HTTP إضافي، ولا قيود half-duplex.
يدعم Smart AIPI الآن هذا البروتوكول على wss://api.smartaipi.com/v1/realtime — متوافق بالكامل مع OpenAI WebSocket API، وبتكلفة أقل بنسبة 75%.
لماذا WebSocket بدلًا من SSE؟
كانت Server-Sent Events هي المعيار الشائع لبث AI، لكنها تأتي مع بعض التنازلات التي يزيلها WebSocket:
| الميزة | SSE (HTTP) | WebSocket |
|---|---|---|
| اتصال لكل طلب | اتصال جديد في كل مرة | دائم (يُعاد استخدامه) |
| الاتجاه | Server → Client فقط | ثنائي الاتجاه |
| طلبات متعددة على اتصال واحد | لا | نعم |
| زمن وصول أول token | أعلى (TCP + TLS جديدان) | أقل (إعادة استخدام الاتصال) |
| مثالي لـ | عمليات التكامل البسيطة | Agents، وتطبيقات الوقت الحقيقي، والإنتاجية العالية |
بالنسبة إلى حلقات agent التي تُجري عشرات من استدعاءات API المتتالية، يكون التوفير التراكمي في زمن الاستجابة الناتج عن اتصال WebSocket دائم كبيرًا.
كيف يعمل
يتبع WebSocket API بروتوكولًا قائمًا على الأحداث. ترسل أحداث JSON إلى الخادم وتتلقى أحداث JSON في المقابل — وكل ذلك عبر اتصال دائم واحد.
1. الاتصال والمصادقة
افتح اتصال WebSocket مع API key الخاص بك داخل الترويسات:
wss://api.smartaipi.com/v1/realtime
Authorization: Bearer sk-proj-your-smart-aipi-key
OpenAI-Beta: realtime=v1
2. إرسال طلب
أرسل حدث response.create مع prompt الخاص بك:
{
"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?" }
]
}
]
}
}
ملاحظة: المعامل store: false مطلوب لاتصالات Smart AIPI WebSocket.
3. استلام أحداث streaming
يرسل الخادم سلسلة من الأحداث أثناء إنشاء الاستجابة:
| الحدث | الوصف |
|---|---|
| response.created | تم إنشاء كائن الاستجابة |
| response.output_item.added | بدأ عنصر إخراج جديد (رسالة) |
| response.content_part.added | بدأ جزء محتوى داخل عنصر إخراج |
| response.output_text.delta | جزء نصي (المحتوى الفعلي الذي يتم بثه) |
| response.output_text.done | اكتمل إخراج النص |
| response.completed | اكتملت الاستجابة بالكامل (الحدث النهائي) |
أمثلة على الكود
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 (اختبار سريع)
تحقق من نجاح WebSocket handshake باستخدام أمر واحد:
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
يعيد الاتصال الناجح HTTP/1.1 101 Switching Protocols.
متى تستخدم WebSocket بدلًا من SSE
يعمل كلا البروتوكولين عبر Smart AIPI. اختر بناءً على حالة الاستخدام لديك:
- استخدم SSE لعمليات التكامل البسيطة، والطلبات الفردية، وعندما تريد أبسط تنفيذ ممكن. اضبط
stream: trueفي أي استدعاء API قياسي. - استخدم WebSocket لحلقات agent، والتطبيقات التفاعلية، وأنماط الطلبات عالية التكرار، وأي مكان تحتاج فيه إلى أقل زمن استجابة ممكن بين الاستدعاءات المتتالية.
الأسعار
تتم فوترة طلبات WebSocket بالطريقة نفسها مثل طلبات API القياسية — حسب استخدام token. ويُطبق الخصم البالغ 75%:
| النموذج | OpenAI Direct | Smart AIPI | التوفير |
|---|---|---|---|
| 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% |
البدء
- احصل على API key — سجّل في smartaipi.com (تشمل أرصدة مجانية، ولا حاجة إلى بطاقة ائتمان)
- اتصل — افتح WebSocket إلى
wss://api.smartaipi.com/v1/realtime - أرسل الأحداث — استخدم غلاف
response.createمع النموذج وprompt الخاص بك - قم ببث الاستجابات — عالج أحداث
response.output_text.deltaعند وصولها
إذا كنت تستخدم بالفعل OpenAI WebSocket API، فالتغيير الوحيد هو عنوان URL. كل شيء آخر — المصادقة، والأحداث، وتنسيق payload — متطابق.
الأسئلة الشائعة
هل يدعم Smart AIPI OpenAI WebSocket API؟
نعم. اتصل بـ wss://api.smartaipi.com/v1/realtime باستخدام API key الخاص بك في ترويسة Authorization. البروتوكول متوافق بالكامل مع OpenAI WebSocket Responses API.
هل WebSocket أسرع من SSE؟
بالنسبة إلى الطلبات المتتالية، نعم. يحافظ WebSocket على اتصال دائم، ما يزيل حمل TCP وTLS handshake الذي تتحمله SSE مع كل طلب جديد. أما في الطلبات الفردية لمرة واحدة، فالفارق يكاد لا يُذكر.
ما النماذج التي تعمل عبر WebSocket؟
كل النماذج المتاحة عبر Responses API: GPT-5.3 Codex، وGPT-5.2، وCodex Mini، وغيرها. حدّد النموذج في حدث response.create.
هل يعمل function calling وtool use عبر WebSocket؟
نعم. مجموعة ميزات Responses API الكاملة متاحة — function calling، وtool use، وstructured outputs، والمحادثات متعددة الأدوار كلها تعمل عبر اتصال WebSocket.
هل هناك حد زمني للاتصال؟
يتم إغلاق الاتصالات الخاملة بعد 15 دقيقة. أرسل رسائل دورية أو أعد الاتصال عند الحاجة. أما الاتصالات النشطة التي تبث بيانات فلن تتم مقاطعتها.
هل يمكنني إرسال عدة طلبات عبر اتصال واحد؟
نعم. هذه إحدى أهم المزايا. بعد اكتمال استجابة ما، أرسل حدث response.create آخر على الاتصال نفسه دون إعادة الاتصال.
بوابة API متوافقة مع OpenAI. وصول إلى نماذج AI الرائدة بتكلفة أقل بنسبة 75٪.
ابدأ مجانًا