إنتقل إلى المحتوى الرئيسي

واجهة API العامة

يوفّر Libre WebUI واجهة API متوافقة مع OpenAI، بحيث يمكن لحِزم SDK والمحررات والبرامج النصية الحالية الاتصال بمثيلك بمجرد تغيير عنوان URL الأساسي.

المصادقة

أنشئ رمز API محدد النطاق من الإعدادات ← الحساب ← رموز API (تستخدم الرموز البادئة lwk_ وتُخزّن في صورة تجزئة). تتطلب واجهة /v1 النطاق chat. مرّر الرمز كمفتاح bearer عادي:

export OPENAI_BASE_URL="https://your-instance/v1"
export OPENAI_API_KEY="lwk_..."

تخضع الطلبات لحد المعدل الخاص بكل رمز (600 طلب في الدقيقة) ولحد معدل المحادثة المشترك.

نقاط النهاية

نقطة النهايةالغرض
GET /v1/modelsالنماذج المتاحة (المحلية أو المدعومة بإضافات الموفّرين)
POST /v1/chat/completionsإكمال محادثة عديم الحالة، متدفقًا أو غير متدفق

تقبل POST /v1/chat/completions بنية الطلب المعهودة: model وmessages (system/user/assistant؛ تُسطّح أجزاء النص متعددة الوسائط) وstream وtemperature وtop_p وmax_tokens/max_completion_tokens وseed وstop. تأتي الاستجابات المتدفقة في إطارات SSE من النوع chat.completion.chunk وتنتهي بـdata: [DONE]؛ وتشمل الاستجابات غير المتدفقة أعداد الرموز في usage عندما يبلغ عنها الموفّر.

curl "$OPENAI_BASE_URL/chat/completions" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "llama3.2",
"messages": [{"role": "user", "content": "One sentence on herons."}]
}'

الحدود المقصودة

واجهة /v1 مخصصة للاستدلال عديم الحالة: فهي لا تنشئ محادثات أبدًا، ولا تمس قاعدة معارفك، ولا تشغّل أدوات. أما المحادثات ذات الحالة التي توفر أحداثًا دائمة قابلة لإعادة التشغيل، وإلغاءً حسب الهوية، وإدراجًا متكررًا آمنًا في الطابور، وحلقة الأدوات الأصلية، فتوجد في واجهة الأحداث الأصلية /api/chat. ويمكن للرموز نفسها استدعاؤها بالنطاق chat. تُرفض الأدوار غير system/user/assistant (مثل tool) بدل قبولها بصمت.

مستندات ذات صلة