النقل والنشر

2.1 النشر الافتراضي

يجب على الخدمة أن تستمع افتراضيًا إلى عنواني loopback وهما 127.0.0.1 و::1. المنفذ المتعارف عليه هو 17832، ما يجعل العنوان الأساسي الافتراضي http://127.0.0.1:17832.

البند القيمة
عناوين الاستماع 127.0.0.1 و::1
النقل HTTP/1.1 أو HTTP/2 يحملان JSON
البث الأحداث التي يرسلها الخادم، Content-Type: text/event-stream
بادئة الواجهة الأساسية /lmsp/v1
بادئة الواجهة المتوافقة مع OpenAI /v1
وصف الخدمة GET /.well-known/lmsp.json
العقد المقروء آليًا GET /lmsp/v1/openapi.json
قناة محلية اختيارية مقبس نطاق Unix أو أنبوب مسمّى في Windows

الطلبات والاستجابات تستخدم JSON بترميز UTF-8 (Content-Type: application/json)، باستثناء التدفقات (text/event-stream) والأخطاء (application/problem+json). الطوابع الزمنية أعداد صحيحة: ثوانٍ منذ حقبة Unix. المعرّفات سلاسل معتمة؛ واستخدام بادئة نوع، مثل resp_ أو task_، موصى به.

عقد الواجهة وثيقة OpenAPI 3.2. ويستطيع OpenAPI 3.2 وصف الأحداث التي يرسلها الخادم وJSON Lines وJSON Sequences، ولذلك تُحدَّد نقاط نهاية البث في الوثيقة نفسها التي تُحدَّد فيها بقية النقاط. ويُنشر عقد هذا الإصدار في /lmsp/1.0/openapi.json.

يجوز للخدمة أيضًا أن تقبل الاتصالات على مقبس نطاق Unix أو أنبوب مسمّى في Windows بدلالات HTTP نفسها. وفي الإصدار 1.0 يُترك إعلان نقاط النهاية هذه للامتدادات.

2.2 التشغيل الدائم

ينبغي أن يستضيف نظام التشغيل الخدمة: launchd على macOS، وsystemd على Linux، ومدير الخدمات على Windows.

ينبغي أن تكون عملية الخدمة وعمليات النماذج منفصلة. وينبغي أن يقتصر أثر تعطل نموذج على المهام التي تستخدم ذلك النموذج. ولا ينبغي أن يجعل هذا التعطل اكتشاف الخدمة أو فهرس النماذج أو الاستعلام عن المهام السابقة غير متاح.