كيفية استخدام واجهة برمجة تطبيقات GPT-5.4

Ashley Innocent

Ashley Innocent

6 مارس 2026

كيفية استخدام واجهة برمجة تطبيقات GPT-5.4

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

باختصار / إجابة سريعة

لاستخدام واجهة برمجة تطبيقات GPT-5.4: ثبّت OpenAI SDK (pip install openai)، وهيّئ العميل بمفتاح API، واستدعِ chat.completions.create() بالنموذج gpt-5.4. الميزات الرئيسية: استخدام الكمبيوتر (أتمتة المتصفح الأصلية)، البحث عن الأدوات (تقليل الرموز بنسبة 47%)، نافذة سياق بحجم 1 مليون رمز، قدرات الرؤية. الأسعار: 2.50 دولار لكل مليون رمز إدخال، 15 دولار لكل مليون رمز إخراج. يغطي هذا الدليل الإعداد، أمثلة التعليمات البرمجية، تهيئة استخدام الكمبيوتر، دمج الأدوات، وأفضل ممارسات الإنتاج.

مقدمة

GPT-5.4 ليس مجرد ترقية نموذج أخرى. إنه أول نموذج عام من OpenAI بقدرات استخدام الكمبيوتر الأصلية، والبحث الفعال عن الأدوات، ونوافذ سياق بحجم 1 مليون رمز. يتطلب استخدام GPT-5.4 بفعالية فهم هذه القدرات الجديدة وكيفية دمجها في سير عملك.

يقدم هذا الدليل أمثلة عملية للتعليمات البرمجية لكل ميزة رئيسية في GPT-5.4. ستتعلم كيفية تنفيذ أتمتة استخدام الكمبيوتر، وتهيئة البحث عن الأدوات لخوادم MCP، ومعالجة الصور عالية الدقة، والتعامل مع قواعد التعليمات البرمجية ذات السياق الطويل، وتحسين التكاليف لعمليات النشر الإنتاجية.

سواء كنت تقوم ببناء وكلاء الذكاء الاصطناعي، أو أتمتة سير عمل المتصفح، أو دمج GPT-5.4 في التطبيقات الحالية، فإن هذا الدليل يمنحك تفاصيل التنفيذ التي تحتاجها.

💡
عند دمج GPT-5.4 في التطبيقات، استخدم Apidog لتصميم واختبار وتوثيق نقاط نهاية API الخاصة بك. تساعدك منصة Apidog الموحدة في تصحيح أخطاء طلبات API، وإنشاء مجموعات اختبار آلية، ومحاكاة الاستجابات أثناء التطوير، وإنشاء وثائق لفريقك. هذا ذو قيمة خاصة عند بناء ميزات مدعومة بالذكاء الاصطناعي تجمع GPT-5.4 مع خدمات أخرى.
button

بدء سريع: طلبك الأول لـ GPT-5.4

ابدأ واستخدم GPT-5.4 في أقل من 5 دقائق. قبل كتابة التعليمات البرمجية، اختبر طلبات واجهة برمجة تطبيقات GPT-5.4 في Apidog:

  1. أنشئ طلب HTTP جديدًا باستخدام POST إلى https://api.openai.com/v1/chat/completions
  2. أضف رأس التخويل (Authorization header): Bearer YOUR_API_KEY
  3. عيّن نص الطلب (request body) مع النموذج والرسائل والمعاملات
  4. أرسل وافحص الاستجابة
  5. احفظ في مجموعة للاختبار المتكرر
  6. استخدم متغيرات البيئة للتبديل بين مفاتيح API
يُسرع هذا النهج البصري عملية الاختبار الأولي ويساعدك على فهم بنية واجهة برمجة التطبيقات قبل تطبيقها في التعليمات البرمجية.

المتطلبات الأساسية

بدء سريع لـ Python

from openai import OpenAI
import os

# Initialize client
client = OpenAI(
    api_key=os.getenv("OPENAI_API_KEY")
)

# Make request
response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[
        {"role": "system", "content": "You are a helpful coding assistant."},
        {"role": "user", "content": "Write a Python function to sort a list of dictionaries by a key."}
    ]
)

print(response.choices[0].message.content)

بدء سريع لـ Node.js

const OpenAI = require('openai');

const client = new OpenAI({
    apiKey: process.env.OPENAI_API_KEY
});

async function main() {
    const response = await client.chat.completions.create({
        model: 'gpt-5.4',
        messages: [
            { role: 'system', content: 'You are a helpful coding assistant.' },
            { role: 'user', content: 'Write a Python function to sort a list of dictionaries by a key.' }
        ]
    });

    console.log(response.choices[0].message.content);
}

main();

الإخراج المتوقع

def sort_dicts_by_key(dict_list, key, reverse=False):
    """
    Sort a list of dictionaries by a specified key.

    Args:
        dict_list: List of dictionaries to sort
        key: The dictionary key to sort by
        reverse: If True, sort in descending order

    Returns:
        Sorted list of dictionaries
    """
    return sorted(dict_list, key=lambda x: x.get(key, ''), reverse=reverse)

# Example usage
data = [
    {'name': 'Alice', 'age': 30},
    {'name': 'Bob', 'age': 25},
    {'name': 'Charlie', 'age': 35}
]

sorted_by_age = sort_dicts_by_key(data, 'age')
print(sorted_by_age)
# [{'name': 'Bob', 'age': 25}, {'name': 'Alice', 'age': 30}, {'name': 'Charlie', 'age': 35}]

فهم قدرات GPT-5.4

يتفوق GPT-5.4 في أربعة مجالات رئيسية. يساعدك فهم هذه المجالات على اختيار النهج الصحيح لكل حالة استخدام.

1. العمل المعرفي (معدل فوز 83% في GDPval)

الأفضل لـ:

2. استخدام الكمبيوتر (موثق بنسبة 75% بواسطة OSWorld)

الأفضل لـ:

3. البرمجة (57.7% SWE-Bench Pro)

الأفضل لـ:

4. تكامل الأدوات (54.6% Toolathlon)

الأفضل لـ:

واجهة برمجة تطبيقات استخدام الكمبيوتر

تمثل قدرات استخدام الكمبيوتر الأصلية في GPT-5.4 أكبر قفزة في هذا الإصدار. يمكن للنموذج تشغيل أجهزة الكمبيوتر من خلال لقطات الشاشة، وأوامر الماوس، وإدخال لوحة المفاتيح.

عند بناء تطبيقات ذات قدرات استخدام الكمبيوتر، اختبر كل خطوة من سير العمل في Apidog:

كيف يعمل استخدام الكمبيوتر

يستخدم سير عمل استخدام الكمبيوتر أداة computer في طلبات API. يقوم النموذج بـ:

  1. يستقبل لقطات شاشة للحالة الحالية للشاشة
  2. يحلل عناصر واجهة المستخدم ويحدد الإجراءات
  3. يعيد أوامر الكمبيوتر (النقر، الكتابة، التمرير، إلخ.)
  4. ينفذ تطبيقك الأوامر ويلتقط لقطات شاشة جديدة
  5. تستمر الحلقة حتى اكتمال المهمة

إعداد استخدام الكمبيوتر الأساسي

from openai import OpenAI
import base64

client = OpenAI()

def take_screenshot():
    """Capture current screen state - implement for your platform."""
    # Use pyautogui, PIL, or platform-specific screenshot
    import pyautogui
    screenshot = pyautogui.screenshot()
    import io
    buffer = io.BytesIO()
    screenshot.save(buffer, format='PNG')
    return base64.b64encode(buffer.getvalue()).decode('utf-8')

def execute_computer_command(command):
    """Execute computer command - implement based on command type."""
    import pyautogui

    action = command.get('action')

    if action == 'click':
        x, y = command.get('coordinate', [0, 0])
        pyautogui.click(x, y)
    elif action == 'type':
        text = command.get('text', '')
        pyautogui.write(text, interval=0.05)
    elif action == 'scroll':
        amount = command.get('scroll_amount', 0)
        pyautogui.scroll(amount)
    elif action == 'keypress':
        key = command.get('key', '')
        pyautogui.press(key)

    # Return new screenshot after action
    return take_screenshot()

# Computer use conversation
messages = [{
    "role": "user",
    "content": [
        {
            "type": "text",
            "text": "Navigate to gmail.com and log in with the credentials I provided."
        },
        {
            "type": "image_url",
            "image_url": {
                "url": f"data:image/png;base64,{take_screenshot()}"
            }
        }
    ]
}]

# Request with computer tool
response = client.chat.completions.create(
    model="gpt-5.4",
    messages=messages,
    tools=[{
        "type": "computer",
        "display_width": 1920,
        "display_height": 1080,
        "display_number": 1
    }],
    tool_choice="required"
)

# Parse and execute computer commands
for tool_call in response.choices[0].message.tool_calls:
    if tool_call.type == "computer":
        command = tool_call.function.arguments
        new_screenshot = execute_computer_command(command)

        # Continue conversation with new screenshot
        messages.append({
            "role": "assistant",
            "content": response.choices[0].message.content
        })
        messages.append({
            "role": "user",
            "content": [{
                "type": "image_url",
                "image_url": {"url": f"data:image/png;base64,{new_screenshot}"}
            }]
        })

سياسات أمان استخدام الكمبيوتر

قم بتهيئة سلوك الأمان بناءً على مدى تحملك للمخاطر:

# Safe mode - requires confirmation for sensitive actions
response = client.chat.completions.create(
    model="gpt-5.4",
    messages=messages,
    tools=[{
        "type": "computer",
        "display_width": 1920,
        "display_height": 1080,
        "confirmation_policy": "always"  # or "never" or "selective"
    }],
    # Custom system message for safety
    system_message="""You are operating a computer. Follow these safety rules:
    1. Never enter credentials without explicit user confirmation
    2. Ask before deleting files or data
    3. Confirm before sending emails or messages
    4. Report any errors or unexpected states immediately
    """
)

مثال على أتمتة المتصفح

أتمتة مهام المتصفح باستخدام تكامل Playwright:

from playwright.sync_api import sync_playwright

def browser_automation_workflow():
    with sync_playwright() as p:
        browser = p.chromium.launch(headless=False)
        page = browser.new_page()

        # Navigate to page
        page.goto("https://example.com")

        # Get screenshot for GPT-5.4
        screenshot = page.screenshot()
        screenshot_b64 = base64.b64encode(screenshot).decode('utf-8')

        messages = [{
            "role": "user",
            "content": [
                {"type": "text", "text": "Find the login form and fill it out."},
                {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{screenshot_b64}"}}
            ]
        }]

        # Get computer commands from GPT-5.4
        response = client.chat.completions.create(
            model="gpt-5.4",
            messages=messages,
            tools=[{"type": "computer"}],
            tool_choice="required"
        )

        # Parse and execute commands on browser
        for tool_call in response.choices[0].message.tool_calls:
            if tool_call.type == "computer":
                command = json.loads(tool_call.function.arguments)

                if command.get('action') == 'click':
                    x, y = command.get('coordinate', [0, 0])
                    page.mouse.click(x, y)
                elif command.get('action') == 'type':
                    page.keyboard.type(command.get('text', ''))

                # Get new screenshot and continue
                new_screenshot = page.screenshot()
                # ... continue loop

أتمتة البريد الإلكتروني والتقويم

مثال واقعي: معالجة رسائل البريد الإلكتروني وجدولة الأحداث:

def process_email_and_schedule_meeting():
    """
    سير العمل: قراءة رسائل البريد الإلكتروني غير المقروءة، استخراج طلبات الاجتماعات،
    التحقق من توفر التقويم، وإرسال دعوات التقويم.
    """

    workflow_prompt = """
    أكمل سير العمل هذا:
    1. افتح Gmail وابحث عن رسائل البريد الإلكتروني غير المقروءة من آخر 24 ساعة
    2. حدد أي طلبات اجتماعات أو أسئلة جدولة
    3. لكل طلب اجتماع:
       - استخرج التواريخ/الأوقات المقترحة
       - لاحظ الحضور والغرض من الاجتماع
    4. افتح تقويم Google وتحقق من التوفر
    5. أرسل دعوات تقويم للاجتماعات المؤكدة
    6. رد على رسائل البريد الإلكتروني لتأكيد الوقت المحدد

    أبلغ بملخص لما تم إنجازه.
    """

    # ابدأ بلقطة شاشة لعلبة الوارد
    screenshot = take_screenshot()

    messages = [{
        "role": "user",
        "content": [
            {"type": "text", "text": workflow_prompt},
            {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{screenshot}"}}
        ]
    }]

    # نفذ سير عمل استخدام الكمبيوتر متعدد الأدوار
    for turn in range(10):  # حد الأدوار لمنع الحلقات اللانهائية
        response = client.chat.completions.create(
            model="gpt-5.4",
            messages=messages,
            tools=[{"type": "computer"}],
            tool_choice="required"
        )

        # تحقق مما إذا كانت المهمة قد اكتملت
        if "complete" in response.choices[0].message.content.lower():
            print(f"اكتمل سير العمل في {turn + 1} دورة")
            break

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

تحسين الأداء

نتائج Mainstay في معالجة 30 ألف بوابة ضريبية عقارية:

نصائح للتحسين:

  1. استخدم لقطات شاشة عالية الجودة (1920x1080 كحد أدنى)
  2. قدم أوصاف مهام واضحة ومحددة
  3. نفذ قيودًا على الأدوار لمنع الحلقات اللانهائية
  4. خزِّن لقطات الشاشة مؤقتًا لتجنب الالتقاط المتكرر
  5. استخدم سياسات تأكيد انتقائية لسير العمل الموثوق به

البحث عن الأدوات وتكاملها

يقلل البحث عن الأدوات استخدام الرموز بنسبة 47% بينما يتيح العمل مع أنظمة أدوات كبيرة.

كيف يعمل البحث عن الأدوات

بدلاً من تحميل جميع تعريفات الأدوات مسبقًا، يتلقى النموذج قائمة خفيفة الوزن ويبحث عن التعريفات عند الطلب.

إعداد البحث الأساسي عن الأدوات

# تعريف الأدوات المتاحة (قائمة خفيفة الوزن)
available_tools = [
    {
        "name": "get_weather",
        "description": "Get current weather for a location"
    },
    {
        "name": "send_email",
        "description": "Send an email to a recipient"
    },
    {
        "name": "calendar_search",
        "description": "Search calendar for events"
    },
    # ... المئات من الأدوات الأخرى
]

# الطلب الأولي - يرى النموذج قائمة الأدوات، وليس التعريفات الكاملة
response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[
        {"role": "user", "content": "What's the weather in Tokyo and send it to my team?"}
    ],
    tools=available_tools,
    tool_choice="auto"
)

# إذا أراد النموذج استخدام أداة، فإنه يطلب التعريف
# يوفر تطبيقك التعريف الكامل في تلك النقطة

تكامل خادم MCP

أظهر معيار MCP Atlas الخاص بـ Scale تقليلًا بنسبة 47% في الرموز عند استخدام البحث عن الأدوات.

# خادم MCP مع العديد من الأدوات
mcp_servers = [
    {
        "name": "filesystem",
        "description": "File system operations",
        "tool_count": 12
    },
    {
        "name": "database",
        "description": "Database query operations",
        "tool_count": 8
    },
    {
        "name": "web-search",
        "description": "Web search and scraping",
        "tool_count": 15
    }
    # ... 36 خادم MCP في المعيار
]

# تهيئة البحث عن الأدوات
response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[
        {"role": "user", "content": "Find all Python files modified today and search for TODO comments."}
    ],
    tools=mcp_servers,
    # Tool search enabled automatically when using this pattern
    parallel_tool_calls=True
)

# سيطلب النموذج تعريفات الأدوات حسب الحاجة
# توفير الرموز: 47% مقارنة بتحميل جميع التعريفات مقدمًا

سير العمل متعدد الخطوات على غرار Toolathlon

يختبر Toolathlon سير العمل المعقدة متعددة الخطوات للأدوات:

def grade_assignments_workflow():
    """
    سير عمل معقد: قراءة رسائل البريد الإلكتروني مع المرفقات،
    التحميل إلى نظام الدرجات، تصحيح المهام،
    تسجيل النتائج في جدول البيانات.
    """

    workflow_steps = """
    1. قراءة رسائل البريد الإلكتروني من الطلاب مع مرفقات المهام
    2. تنزيل كل مرفق
    3. التحميل إلى بوابة الدرجات
    4. تصحيح كل مهمة باستخدام معايير التقييم
    5. تسجيل الدرجات في جدول البيانات
    6. إرسال رسائل بريد إلكتروني تأكيدية للطلاب
    """

    tools = [
        {"name": "email_read", "description": "Read emails from inbox"},
        {"name": "email_send", "description": "Send emails"},
        {"name": "file_download", "description": "Download file attachments"},
        {"name": "file_upload", "description": "Upload files to web portal"},
        {"name": "web_form_fill", "description": "Fill and submit web forms"},
        {"name": "spreadsheet_write", "description": "Write data to spreadsheet"},
        {"name": "rubric_evaluate", "description": "Evaluate work against rubric"}
    ]

    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=[
            {"role": "user", "content": workflow_steps}
        ],
        tools=tools,
        parallel_tool_calls=True  # تفعيل تنفيذ الأدوات المتوازية
    )

    # يحقق GPT-5.4 نسبة 54.6% في Toolathlon مقابل 45.7% لـ GPT-5.2
    # المفتاح: اختيار أفضل للأدوات وعدد أقل من الأدوار المطلوبة

الرؤية ومعالجة الصور

يدعم GPT-5.4 الإدراك البصري المحسّن بتفاصيل الصورة الأصلية التي تصل إلى 10.24 مليون بكسل.

مستويات تفاصيل الصورة

# التفاصيل الأصلية - أعلى دقة (10.24 مليون بكسل، بأبعاد قصوى 6000 بكسل)
response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{
        "role": "user",
        "content": [
            {
                "type": "image_url",
                "image_url": {
                    "url": "https://example.com/high-res-image.jpg",
                    "detail": "original"  # أو "high" أو "low"
                }
            },
            {"type": "text", "text": "Analyze this technical diagram."}
        ]
    }]
)

# تفاصيل عالية - 2.56 مليون بكسل، بأبعاد قصوى 2048 بكسل
# تفاصيل منخفضة - أسرع معالجة، دقة أقل

مثال على تحليل المستندات

OmniDocBench: معدل خطأ 0.109 (مقابل 0.140 لـ GPT-5.2)

def parse_complex_document(pdf_path):
    """تحليل ملف PDF متعدد الصفحات مع الجداول والأشكال."""

    # تحويل صفحات PDF إلى صور
    from pdf2image import convert_from_path
    pages = convert_from_path(pdf_path, dpi=300)

    messages = [{"role": "user", "content": []}]

    for i, page in enumerate(pages[:5]):  # أول 5 صفحات
        import io, base64
        buffer = io.BytesIO()
        page.save(buffer, format='PNG')
        img_b64 = base64.b64encode(buffer.getvalue()).decode()

        messages[0]["content"].append({
            "type": "image_url",
            "image_url": {
                "url": f"data:image/png;base64,{img_b64}",
                "detail": "high"
            }
        })

    messages[0]["content"].append({
        "type": "text",
        "text": """
        استخرج جميع البيانات من هذا المستند:
        1. الجداول ذات رؤوس الصفوف/الأعمدة
        2. الأشكال الرئيسية وتسمياتها
        3. الإحصائيات الملخصة المذكورة في النص
        إرجاع بصيغة JSON منظمة.
        """
    })

    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=messages
    )

    return response.choices[0].message.content

تحليل لقطة شاشة واجهة المستخدم

def analyze_ui_screenshot(screenshot_path):
    """تحليل لقطة شاشة واجهة المستخدم لمشكلات إمكانية الوصول."""

    with open(screenshot_path, 'rb') as f:
        img_b64 = base64.b64encode(f.read()).decode()

    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=[{
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {
                        "url": f"data:image/png;base64,{img_b64}",
                        "detail": "original"
                    }
                },
                {
                    "type": "text",
                    "text": """
                    راجع لقطة شاشة واجهة المستخدم هذه بحثًا عن مشكلات إمكانية الوصول:
                    1. مشاكل تباين الألوان
                    2. ملصقات مفقودة أو مؤشرات نص بديل
                    3. مشاكل التنقل بلوحة المفاتيح (حالات التركيز المرئية)
                    4. حجم النص وقابليته للقراءة
                    5. مخاوف التوافق مع قارئات الشاشة

                    اذكر المشاكل مع تحديد المواقع ومستوى الخطورة.
                    """
                }
            ]
        }]
    )

    return response.choices[0].message.content

سير عمل السياق الطويل

يدعم GPT-5.4 نوافذ سياق تصل إلى 1 مليون رمز (تجريبي).

السياق القياسي (272 ألف رمز)

# تحميل ملف قاعدة تعليمات برمجية كبيرة
with open('large_codebase.py', 'r') as f:
    code = f.read()

response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[
        {"role": "system", "content": "أنت مساعد لمراجعة التعليمات البرمجية."},
        {"role": "user", "content": f"""
        راجع قاعدة التعليمات البرمجية هذه بحثًا عن:
        1. ثغرات أمنية
        2. مشاكل الأداء
        3. تضارب في أسلوب التعليمات البرمجية
        4. معالجة أخطاء مفقودة

        التعليمات البرمجية:
        {code}
        """}
    ],
    max_tokens=4000
)

السياق الموسع (1 مليون رمز)

قم بالتهيئة عبر معاملات API:

response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[
        {"role": "user", "content": large_document}
    ],
    # تهيئة السياق الموسع
    extra_body={
        "model_context_window": 1048576,  # 1 مليون رمز
        "model_auto_compact_token_limit": 272000  # ضغط تلقائي بعد 272 ألف
    }
)

# ملاحظة: تُحسب الطلبات التي تتجاوز 272 ألف بمعدل استخدام مضاعف

تحليل المستندات المتعددة

def analyze_multiple_documents(documents):
    """تحليل 10+ مستندات في سياق واحد."""

    content_parts = []

    for i, doc in enumerate(documents):
        content_parts.append(f"=== المستند {i+1}: {doc['title']} ===\n")
        content_parts.append(doc['content'][:50000])  # اقتطع إذا لزم الأمر
        content_parts.append("\n\n")

    combined_content = "".join(content_parts)

    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=[{
            "role": "user",
            "content": f"""
            حلل هذه المستندات وقدم:
            1. ملخص للموضوعات الرئيسية عبر جميع المستندات
            2. تناقضات أو عدم اتساق بين المستندات
            3. بنود العمل المذكورة في أي مستند
            4. الجدول الزمني للأحداث إن أمكن

            {combined_content}
            """
        }],
        max_tokens=8000
    )

    return response.choices[0].message.content

سير عمل البرمجة والتطوير

يطابق GPT-5.4 أداء GPT-5.3-Codex على SWE-Bench Pro (57.7%) مع إضافة قدرات استخدام الكمبيوتر.

إنشاء الواجهة الأمامية

def generate_frontend_component(spec):
    """إنشاء مكون React كامل مع التنسيق."""

    prompt = f"""
    أنشئ مكون React كامل بناءً على هذه المواصفة:

    {spec}

    المتطلبات:
    1. مكون وظيفي مع خطافات (hooks)
    2. أنواع TypeScript لجميع الخصائص والحالة
    3. Tailwind CSS للتنسيق
    4. تصميم متجاوب (الجوال، الجهاز اللوحي، سطح المكتب)
    5. إمكانية الوصول (تسميات ARIA، التنقل بلوحة المفاتيح)
    6. اختبارات الوحدات باستخدام Jest/React Testing Library

    إرجاع التعليمات البرمجية الكاملة لـ:
    - ملف المكون (.tsx)
    - التنسيقات (إذا لم تكن Tailwind)
    - ملف الاختبار (.test.tsx)
    """

    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=[{"role": "user", "content": prompt}],
        max_tokens=6000
    )

    return response.choices[0].message.content

# مثال: محاكاة مدينة الملاهي (من عرض OpenAI التوضيحي)
theme_park_spec = """
أنشئ لعبة محاكاة مدينة ملاهي تفاعلية متساوية القياس (isometric):
- وضع المسارات القائمة على المربعات
- بناء الألعاب والمناظر الطبيعية
- إيجاد طريق الضيوف ووقوفهم في الطوابير
- مقاييس المنتزه (المال، الضيوف، السعادة، النظافة)
- قابلة للعب في المتصفح مع اختبار Playwright
- أصول متساوية القياس (isometric assets) مُولّدة
"""

component_code = generate_frontend_component(theme_park_spec)

تصحيح الأخطاء المعقدة

def debug_with_full_context(error_logs, codebase_files, stack_trace):
    """تصحيح الأخطاء باستخدام السياق الكامل للسجلات والتعليمات البرمجية وتتبع المكدس."""

    context = f"""
    سجلات الأخطاء:
    {error_logs}

    تتبع المكدس:
    {stack_trace}

    ملفات التعليمات البرمجية ذات الصلة:
    {codebase_files}

    المهمة: تحديد السبب الجذري وتقديم حل.
    ضع في اعتبارك:
    1. ظروف السباق (Race conditions) أو مشاكل التوقيت
    2. تسرب الذاكرة أو استنزاف الموارد
    3. افتراضات غير صحيحة حول تدفق البيانات
    4. حالات حافة غير معالجة
    5. مشاكل التبعيات الخارجية

    قدم:
    1. تحليل السبب الجذري
    2. تغييرات محددة في التعليمات البرمجية المطلوبة
    3. اختبارات لمنع التراجع
    """

    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=[{"role": "user", "content": context}],
        max_tokens=4000
    )

    return response.choices[0].message.content

اختبار Playwright التفاعلي

مهارة Codex التجريبية لاختبار اللعب في المتصفح:

def playwright_interactive_debug():
    """
    استخدم Playwright Interactive لاختبار اللعب في المتصفح.
    يمكن لـ GPT-5.4 اختبار التطبيقات أثناء بنائها.
    """

    prompt = """
    أنشئ تطبيق ويب لإدارة المهام واختبره أثناء بنائه:

    1. إنشاء هيكل HTML
    2. إضافة تنسيق CSS
    3. تنفيذ وظائف JavaScript
    4. بعد كل ميزة، استخدم Playwright من أجل:
       - التحقق من رؤية العنصر
       - اختبار تفاعلات المستخدم
       - التحقق من استمرارية الحالة
       - التحقق من صحة حالات الحافة

    الإبلاغ عن أي مشاكل تم العثور عليها أثناء الاختبار وإصلاحها.
    """

    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=[{"role": "user", "content": prompt}],
        tools=[{"type": "playwright_interactive"}],
        max_tokens=8000
    )

    return response.choices[0].message.content

استجابات البث (Streaming)

يقلل البث من التأخير الملحوظ للاستجابات الطويلة.

بث Python

from openai import OpenAI

client = OpenAI()

stream = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "Write a detailed explanation of quantum computing."}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

بث Node.js

const stream = await client.chat.completions.create({
    model: 'gpt-5.4',
    messages: [{ role: 'user', content: 'Write a detailed explanation of quantum computing.' }],
    stream: true
});

for await (const chunk of stream) {
    if (chunk.choices[0].delta.content) {
        process.stdout.write(chunk.choices[0].delta.content);
    }
}

البث مع حساب الرموز

def stream_with_usage(stream):
    """تتبع استخدام الرموز أثناء البث."""
    total_tokens = 0

    for chunk in stream:
        if chunk.choices[0].delta.content:
            content = chunk.choices[0].delta.content
            print(content, end="", flush=True)
            total_tokens += len(content) // 4  # تقدير تقريبي

        if chunk.usage:
            print(f"\n\nالاستخدام: {chunk.usage.total_tokens} رموز")

    return total_tokens

معالجة الأخطاء ومنطق إعادة المحاولة

تحتاج التعليمات البرمجية في بيئة الإنتاج إلى معالجة أخطاء قوية.

معالجة الأخطاء الشاملة

from openai import OpenAI, RateLimitError, APIError, AuthenticationError
import time

client = OpenAI()

def make_request_with_retry(messages, max_retries=3):
    """إجراء طلب بمنطق إعادة المحاولة مع التراجع الأسي."""

    for attempt in range(max_retries):
        try:
            response = client.chat.completions.create(
                model="gpt-5.4",
                messages=messages,
                max_tokens=2000,
                temperature=0.7
            )
            return response

        except RateLimitError as e:
            if attempt == max_retries - 1:
                raise

            wait_time = 2 ** attempt  # 1 ثانية، 2 ثانية، 4 ثوانٍ
            print(f"وصلت إلى الحد الأقصى للمعدل. جارٍ الانتظار {wait_time} ثوانٍ...")
            time.sleep(wait_time)

        except APIError as e:
            if e.status_code >= 500:  # خطأ في الخادم، أعد المحاولة
                if attempt == max_retries - 1:
                    raise
                wait_time = 2 ** attempt
                time.sleep(wait_time)
            else:
                raise  # خطأ في العميل، لا تُعد المحاولة

        except AuthenticationError:
            print("مفتاح API غير صالح. تحقق من بيانات الاعتماد الخاصة بك.")
            raise

        except Exception as e:
            print(f"خطأ غير متوقع: {e}")
            raise

    raise Exception("تجاوز الحد الأقصى لعدد المحاولات")

# الاستخدام
try:
    response = make_request_with_retry([
        {"role": "user", "content": "Hello, GPT-5.4!"}
    ])
    print(response.choices[0].message.content)
except Exception as e:
    print(f"فشل الطلب: {e}")

معالجة مهلة الوقت

import httpx

# تهيئة مهلة الوقت
client = OpenAI(
    timeout=httpx.Timeout(60.0, connect=10.0)  # إجمالي 60 ثانية، اتصال 10 ثوانٍ
)

try:
    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=[{"role": "user", "content": "Long-running task..."}]
    )
except httpx.TimeoutException:
    print("انتهت مهلة الطلب. فكر في استخدام البث أو تقليل التعقيد.")

أفضل ممارسات الإنتاج

استخدام Apidog لسير عمل API في بيئة الإنتاج

قبل نشر تكاملات GPT-5.4 في بيئة الإنتاج، أنشئ سير عمل قوي للاختبار والمراقبة:

خط أنابيب اختبار API:

تعاون الفريق:

نمط التكامل:

استراتيجيات تحسين التكلفة

تحسين الموجهات (Prompts)

# سيء: موجه مطول
bad_prompt = """
Hello! I hope you're doing well. I was wondering if you could possibly help me
with something. I have this code here and I'm not quite sure what it does.
Could you please explain it to me? Here's the code:
""" + code

# جيد: موجه مباشر
good_prompt = f"Explain what this code does:\n{code}"

# توفير الرموز: حوالي 50 رمزًا = 0.000125 دولار لكل طلب
# عند 1 مليون طلب/شهر: توفير 125 دولارًا

التحكم في طول الاستجابة

# عيّن max_tokens بشكل مناسب
response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "Summarize this article."}],
    max_tokens=200  # لا تدعه يطيل
)

# استخدم تسلسلات التوقف
response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "List 5 items."}],
    stop=["\n\n", "6."]  # توقف بعد القائمة
)

المعالجة الدفعية (Batch Processing)

# استخدم Batch API للحصول على خصم 50%
from openai import OpenAI

client = OpenAI()

# إنشاء ملف دفعة
batch_requests = []
for article in articles:
    batch_requests.append({
        "custom_id": article["id"],
        "method": "POST",
        "url": "/v1/chat/completions",
        "body": {
            "model": "gpt-5.4",
            "messages": [{"role": "user", "content": article["content"]}]
        }
    })

# التحميل والمعالجة
batch_file = client.files.create(
    file=json.dumps(batch_requests),
    purpose="batch"
)

batch = client.batches.create(
    input_file_id=batch_file.id,
    endpoint="/v1/chat/completions",
    completion_window="24h"
)

# توفير 50% من التكاليف لأعباء العمل غير الفورية

التخزين المؤقت للطلبات المتكررة

import hashlib
import json

class ResponseCache:
    """تخزين استجابات API المتطابقة مؤقتًا."""

    def __init__(self):
        self.cache = {}

    def _get_key(self, messages):
        return hashlib.md5(json.dumps(messages).encode()).hexdigest()

    def get_or_create(self, client, messages, **kwargs):
        key = self._get_key(messages)

        if key in self.cache:
            return self.cache[key]

        response = client.chat.completions.create(
            model="gpt-5.4",
            messages=messages,
            **kwargs
        )

        self.cache[key] = response
        return response

# الاستخدام
cache = ResponseCache()
response = cache.get_or_create(client, messages)

خاتمة

يفتح GPT-5.4 آفاقًا جديدة للتطبيقات المدعومة بالذكاء الاصطناعي. يتيح استخدام الكمبيوتر الأصلي أتمتة المتصفح وسير العمل عبر التطبيقات. يقلل البحث عن الأدوات التكاليف بنسبة 47% بينما يدعم أنظمة أدوات أكبر. تتعامل الرؤية المحسّنة مع تحليل المستندات المعقدة. وتعالج نوافذ السياق التي تبلغ 1 مليون رمز قواعد التعليمات البرمجية بأكملها.

يتطلب بناء تطبيقات إنتاجية باستخدام GPT-5.4 سير عمل قوي لاختبار واجهة برمجة التطبيقات وتصحيح الأخطاء والتوثيق. يوفر Apidog منصة موحدة لدورة حياة API الكاملة.

button

سواء كنت تقوم ببناء وكلاء الذكاء الاصطناعي، أو أتمتة سير العمل، أو إنشاء ميزات موجهة للعملاء مدعومة بـ GPT-5.4، فإن امتلاك ممارسات تطوير API قوية يسرع التسليم ويقلل الأخطاء.

ابدأ بإكمال الدردشة الأساسي، ثم أضف استخدام الكمبيوتر، والبحث عن الأدوات، والرؤية حسب متطلبات حالات الاستخدام الخاصة بك. راقب التكاليف عن كثب أثناء النشر الأولي وحسّن الموجهات واستراتيجيات التخزين المؤقت.

الأسئلة الشائعة

كيف أستخدم ميزة استخدام الكمبيوتر في GPT-5.4؟

استخدم أداة computer في طلبات API. أرسل لقطات الشاشة كصور، واستقبل أوامر الكمبيوتر (النقر، الكتابة، التمرير) كاستجابة. نفذ الأوامر باستخدام pyautogui أو Playwright، ثم أرسل لقطات شاشة جديدة. استمر في الحلقة حتى اكتمال المهمة. قم بتهيئة سياسات الأمان بناءً على مدى تحملك للمخاطر.

ما هو البحث عن الأدوات وكيف أفعّله؟

يقوم البحث عن الأدوات بتحميل تعريفات الأدوات عند الطلب بدلاً من التحميل المسبق، مما يقلل استخدام الرموز بنسبة 47%. يمكن تفعيله عن طريق توفير قائمة أدوات خفيفة الوزن في الطلبات. يطلب النموذج التعريفات الكاملة عند الحاجة. يعمل تلقائيًا مع خوادم MCP.

كيف أستخدم نافذة السياق التي تبلغ 1 مليون رمز؟

قم بالتهيئة عبر معاملات extra_body: model_context_window: 1048576 و model_auto_compact_token_limit: 272000. ملاحظة: تُحسب الطلبات التي تتجاوز 272 ألف رمز بمعدل استخدام مضاعف. متاح بشكل تجريبي في Codex.

ما الفرق بين gpt-5.4 و gpt-5.4-pro؟

يقدم GPT-5.4 Pro دقة أعلى في الاستدلال المعقد (89.3% مقابل 82.7% في BrowseComp) ولكنه يكلف أكثر بـ 12 مرة (30 دولارًا/180 دولارًا مقابل 2.50 دولارًا/15 دولارًا). استخدم الإصدار القياسي لمعظم أعباء العمل، والإصدار الاحترافي للمهام التي تتطلب أقصى دقة.

كيف يمكنني تقليل تكاليف واجهة برمجة تطبيقات GPT-5.4؟

استخدم المدخلات المخزنة مؤقتًا (توفير 90%)، وحسّن طول الموجهات، وعيّن حدود max_tokens، واستخدم Batch API (خصم 50%)، ونفذ التخزين المؤقت للاستجابات، واختر مستويات التفاصيل المناسبة للصور.

هل يمكن لـ GPT-5.4 معالجة صور متعددة في طلب واحد؟

نعم. قم بتضمين أجزاء محتوى image_url متعددة في رسالة واحدة. مفيد للمستندات متعددة الصفحات، أو مهام المقارنة، أو لقطات الشاشة المتسلسلة.

كيف أتعامل مع حدود المعدل (Rate limits) في بيئة الإنتاج؟

نفذ منطق إعادة المحاولة مع التراجع الأسي (تأخيرات 1 ثانية، 2 ثانية، 4 ثوانٍ)، استخدم Batch API للمعالجة المجمعة، وزع الطلبات بمرور الوقت، واطلب زيادات في الحد الأقصى للاحتياجات عالية الحجم.

ما هي لغات البرمجة التي يدعمها GPT-5.4 بشكل أفضل؟

يتفوق GPT-5.4 في Python و JavaScript/TypeScript و React و Node.js وتقنيات الويب الشائعة. كما أنه قوي في Java و Go و Rust و SQL. يطابق أداء GPT-5.3-Codex (57.7% SWE-Bench Pro).

كيف أقوم ببث استجابات GPT-5.4؟

عيّن stream=True في طلبات API. قم بالتكرار على أجزاء (chunks) ومعالجة كل تغيير (delta). يقلل من التأخير الملحوظ للاستجابات الطويلة.

هل GPT-5.4 مناسب لأعباء عمل الإنتاج؟

نعم. يحتوي GPT-5.4 على أخطاء واقعية أقل بنسبة 33% من GPT-5.2، ويستخدم الرموز بكفاءة أكبر، ويتضمن معالجة أخطاء قوية. نفذ منطق إعادة المحاولة والمراقبة وتتبع التكاليف لعمليات النشر الإنتاجية.

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات