gpt-live-1 لمعالجة الصوت، بينما تستمر الأسئلة المعقدة في المعالجة بواسطة نموذج الدردشة المحدد حاليًا.
الاتصال
استخدم Platform API Token للاتصال بـwss://realtime.acedata.cloud/v1/live/sessions. تستخدم بيانات اعتماد Studio أو خدمة الدردشة wss://realtime.acedata.cloud/aichat2/live. يقوم الخادم بالمصادقة عبر Authorization: Bearer <token>؛ ويمرر المتصفح بيانات الاعتماد عبر بروتوكول WebSocket الفرعي لتجنب كتابتها في URL:
session.started، أرسل session.input_audio.append بشكل متواصل، حيث يكون audio هو Base64 للصوت الخام PCM أحادي القناة، بمعدل 24 kHz، و16 بت little-endian، من دون ترويسة ملف WAV. أرسل الصوت وفقًا لمعدل أخذ العينات الفعلي، ويجب أن تبقى المقاطع الصامتة متواصلة أيضًا.
شغّل session.output_audio.delta.delta بالترتيب. تأتي ترجمات المستخدم والمساعد من session.input_transcript.delta وsession.output_transcript.delta على التوالي، مع الاحتفاظ بـ delta وstart_ms وend_ms لكل مقطع؛ وقد تنمو ترجمات الطرفين في الوقت نفسه. لا يحتوي Live على حدث انتهاء لكل رد صوتي، ويجب تحديث حالة «جارٍ الرد» وفقًا لقائمة التشغيل المحلية.
المهام الخلفية
يدعم حاليًا وضع التفويضclient. بعد تلقي session.delegation.created، يستدعي التطبيق الخلفية الخاصة به بناءً على الترجمات الصوتية والسياق المحفوظ، ويعيد النتائج عبر session.thinking.append أو session.commentary.append، مع تضمين delegation_id المقابل وcontent نصيًا خالصًا بحد أقصى 500 token. يجب أن تأتي النتائج من عمليات خلفية مكتملة؛ ولا يعني انقطاع الصوت أن المهمة الخلفية قد أُلغيت.
لا يتم دعم تفويض Responses المُدار، أو تخزين التسجيلات، أو session.update، أو استئناف الجلسة، أو إعادة الاتصال التلقائية في الوقت الحالي. النموذج ثابت على gpt-live-1، والصوت ثابت على PCM16 بمعدل 24 kHz، ويتم اختيار الصوت عند بدء المكالمة. لا يزال بإمكانك استخدام Realtime API القديم.
الفوترة وإنهاء المكالمة
تُحتسب تكلفة الصوت بحسب مدة الجلسة النشطة: 0.01 Credits/ثانية، أي 0.6 Credits/دقيقة، ولا يتم التقريب إلى أعلى بالدقائق الكاملة. تُحتسب تكلفة وقت تحدث المستخدم، وتحدث المساعد، والصمت، وصمت الطرفين، وانتظار المهام الخلفية. تُحتسب تكلفة استدعاءات النموذج أو الأدوات الخلفية بشكل منفصل وفقًا للـ API المقابل. يعتمد السعر بالدولار المقابل لـ Credits على باقة الشحن، ويُعتد بالسعر الحالي في وحدة التحكم.session.usage.updated.usage.seconds هو الاستخدام التراكمي. على سبيل المثال، إذا تم تلقي 12 ثانية أولًا ثم 15 ثانية، فالإجمالي هو 15 ثانية. لا تقوم المنصة بتسوية سوى المدة الجديدة، ولا تجمع اللقطات بشكل مكرر.
عند الانتهاء، أرسل session.close، واستمر في الاستقبال حتى تلقي session.closed، ثم أغلق الاتصال وحرر الميكروفون. قد يؤدي الفصل القسري إلى عدم تأكيد الاستخدام النهائي، ويجب أن تعرض الواجهة ذلك بوضوح. سينتهي الاتصال عند عدم كفاية الرصيد، أو فشل الفوترة، أو بلوغ حد الجلسة. الحد الافتراضي للمكالمة الواحدة هو 30 دقيقة.
تُعاد أخطاء المعلمات عبر حدث error؛ ويطابق error.client_event_id الأمر الفاشل. يجب عند فشل البدء إيقاف التسجيل وعرض الخطأ، من دون تبديل النموذج تلقائيًا أو إعادة المحاولة بما يولد رسومًا جديدة.
