# GPT 6 Luna API مرجع API الكامل لنماذج اللغة الكبيرة GPT 6 Luna المقدمة من OpenAI. ## إصدارات النموذج تدعم واجهة API هذه أربعة إصدارات من النموذج: | النموذج | المعرّف | الوصف | |-------|----|-------------| | **GPT 6 Luna Text to Text** | `gpt-6-luna-text-to-text` | الاستدلال النصي والكتابة للأغراض العامة | | **GPT 6 Luna Image to Text** | `gpt-6-luna-image-to-text` | فهم الصور باستخدام تعليمات نصية | | **GPT 6 Luna Web Search** | `gpt-6-luna-web-search` | سير عمل لنموذج لغوي كبير نصي مع إمكانية البحث على الويب | | **GPT 6 Luna File Analysis** | `gpt-6-luna-file-analysis` | تحليل الملفات باستخدام تعليمات نصية | ## مقارنة سريعة | الميزة | من نص إلى نص | من صورة إلى نص | البحث على الويب | تحليل الملفات | |---------|--------------|---------------|------------|---------------| | إدخال النص | مطلوب ✅ | اختياري | مطلوب ✅ | اختياري | | إدخال الصور | غير مدعوم ❌ | اختياري | اختياري | اختياري | | إدخال الملفات | غير مدعوم ❌ | غير مدعوم ❌ | اختياري | اختياري | | الاستجابة المتدفقة | SSE | SSE | SSE | SSE | | `max_tokens` | اختياري | اختياري | اختياري | اختياري | ## GPT 6 Luna Text to Text ### نقطة النهاية ```http POST /api/v1/chat/completions ``` ### معاملات الطلب #### مطلوب | المعامل | النوع | الوصف | |-----------|------|-------------| | `model` | string | يجب أن يكون `"gpt-6-luna-text-to-text"` | | `messages` | array | رسائل مرتبة. راجع وثائق LLM API لمعرفة بنية الرسائل. | | `stream` | boolean | `true` لاستخدام SSE، و`false` للحصول على استجابة JSON واحدة. | #### دعم محتوى الرسائل | الحقل | نص | ملف | صورة | |-------|------|------|-------| | `messages` | مطلوب ✅ | غير مدعوم ❌ | غير مدعوم ❌ | #### اختياري | المعامل | النوع | النطاق | الوصف | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | الحد الأقصى لرموز الإخراج. لا يوجد حد أقصى افتراضي. | ### مثال على الطلب ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-6-luna-text-to-text', messages: [ { role: 'user', content: 'Write a short launch announcement for a new AI feature.' } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 6 Luna Image to Text ### نقطة النهاية ```http POST /api/v1/chat/completions ``` ### معاملات الطلب #### مطلوب | المعامل | النوع | الوصف | |-----------|------|-------------| | `model` | string | يجب أن يكون `"gpt-6-luna-image-to-text"` | | `messages` | array | رسائل مرتبة. راجع وثائق LLM API ومرفقات الرسائل. | | `stream` | boolean | `true` لاستخدام SSE، و`false` للحصول على استجابة JSON واحدة. | #### دعم محتوى الرسائل | الحقل | نص | ملف | صورة | |-------|------|------|-------| | `messages` | اختياري | غير مدعوم ❌ | اختياري | #### اختياري | المعامل | النوع | النطاق | الوصف | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | الحد الأقصى لرموز الإخراج. لا يوجد حد أقصى افتراضي. | ### مثال على الطلب ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-6-luna-image-to-text', messages: [ { role: 'user', content: [ { type: 'text', text: 'Describe the image and extract any visible text.' }, { type: 'image_url', image_url: { url: 'https://example.com/sample-image.jpg' } } ] } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 6 Luna Web Search ### نقطة النهاية ```http POST /api/v1/chat/completions ``` ### معاملات الطلب #### مطلوب | المعامل | النوع | الوصف | |-----------|------|-------------| | `model` | string | يجب أن يكون `"gpt-6-luna-web-search"` | | `messages` | array | رسائل مرتبة. راجع وثائق LLM API ومرفقات الرسائل. | | `stream` | boolean | `true` لاستخدام SSE، و`false` للحصول على استجابة JSON واحدة. | #### دعم محتوى الرسائل | الحقل | نص | ملف | صورة | |-------|------|------|-------| | `messages` | مطلوب ✅ | اختياري | اختياري | #### اختياري | المعامل | النوع | النطاق | الوصف | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | الحد الأقصى لرموز الإخراج. لا يوجد حد أقصى افتراضي. | ### مثال على الطلب ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-6-luna-web-search', messages: [ { role: 'user', content: 'Find recent product launch trends in AI developer tools.' } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 6 Luna File Analysis ### نقطة النهاية ```http POST /api/v1/chat/completions ``` ### معاملات الطلب #### مطلوب | المعامل | النوع | الوصف | |-----------|------|-------------| | `model` | string | يجب أن يكون `"gpt-6-luna-file-analysis"` | | `messages` | array | رسائل مرتبة. راجع وثائق LLM API ومرفقات الرسائل. | | `stream` | boolean | `true` لاستخدام SSE، و`false` للحصول على استجابة JSON واحدة. | #### دعم محتوى الرسائل | الحقل | نص | ملف | صورة | |-------|------|------|-------| | `messages` | اختياري | اختياري | اختياري | #### اختياري | المعامل | النوع | النطاق | الوصف | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | الحد الأقصى لرموز الإخراج. لا يوجد حد أقصى افتراضي. | ### مثال على الطلب ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-6-luna-file-analysis', messages: [ { role: 'user', content: [ { type: 'text', text: 'Summarize this document and list the key action items.' }, { type: 'file', file: { filename: 'demo.pdf', file_data: 'https://example.com/demo.pdf' } } ] } ], stream: true, max_tokens: 2048 }) }); ``` ## تنسيق الاستجابة تُرجع نماذج اللغة الكبيرة GPT 6 Luna استجابات إكمال متوافقة مع OpenAI. عند استخدام `stream: true`، تكون الاستجابة على هيئة أحداث يرسلها الخادم؛ وعند استخدام `stream: false`، تكون الاستجابة كائن JSON واحداً. ### استجابة ناجحة ```text data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-6-luna-image-to-text","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-6-luna-image-to-text","choices":[{"index":0,"delta":{"content":"The image shows"},"finish_reason":null}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-6-luna-image-to-text","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-6-luna-image-to-text","choices":[],"usage":{"prompt_tokens":12,"completion_tokens":8,"total_tokens":20}} data: [DONE] ``` ### استجابة خطأ ```text event: error data: {"error":{"message":"API requests too frequent, exceeding rate limit","type":"rate_limit_error","code":"1302","param":null}} ``` ## أفضل الممارسات 1. **حافظ على بنية الرسائل:** استخدم `messages[]` لسجل المحادثة بدلاً من دمج السياق في موجّه واحد. 2. **أرفق الملفات والصور بالرسائل:** ضع أجزاء `image_url` و`file` داخل الرسالة التي قدّمتها. 3. **استخدم تحليل SSE:** ألحِق `choices[0].delta.content` لعرض المحتوى تدريجياً، واعتبر `data: [DONE]` علامة على الاكتمال بنجاح. 4. **أرسل المدخلات المدعومة فقط:** اجعل أجزاء النصوص والصور والملفات متوافقة مع إصدار النموذج المحدد. 5. **خزّن حالة الطلب محلياً:** تتضمن الأجزاء معرّف `id` للإكمال، لكن ينبغي للعملاء توجيه الأجزاء عبر حالة الطلب النشط.