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

استخدام Qiskit Code Assistant في JupyterLab

تعلّم كيفية تثبيت الإضافة الرسمية Qiskit Code Assistant في JupyterLab واستخدامها وضبط إعداداتها وإلغاء تثبيتها.

تثبيت إضافة JupyterLab

لتثبيت إضافة JupyterLab، شغّل الأمر التالي من الطرفية:

pip install qiskit-code-assistant-jupyterlab

بعد تثبيت الإضافة، شغّل JupyterLab:

jupyter lab

تُحمَّل الإضافة تلقائيًا وتظهر في أسفل نافذة JupyterLab. راجع توثيق JupyterLab للاستعانة به عند العمل مع JupyterLab.

ضبط إعدادات الإضافة

يُنصح بتعديل إعدادات JupyterLab التالية عبر Settings -> Settings Editor:

  • انقر على Inline Completer، وابحث عن "Show widget" واختر Always. هذا يعني أن عنصر واجهة الإكمال التلقائي المضمّن سيظهر دائمًا حتى تتمكن من التنقل بين عناصر الإكمال واختيار ما يناسبك.

  • انقر على Code Completion وزد قيمة "Default timeout for a provider." إلى 10000 أي 10 ثوانٍ. القيمة الافتراضية هي ثانية واحدة، لكن واجهة برمجة تطبيقات Qiskit Code Assistant قد تحتاج وقتًا أطول للعثور على اقتراح. ينطبق هذا الإعداد فقط على قائمة السياق القياسية التي تُستدعى بمفتاح Tab. أما الإكمال التلقائي المضمّن فافتراضيه 10 ثوانٍ.

إعدادات أخرى قد ترغب في تغييرها:

  • يمكن تغيير اختصارات لوحة المفاتيح من Settings > Settings Editor > Keyboard Shortcuts.

  • يمكنك تغيير رمز IBM Quantum API المستخدم عبر لوحة أوامر JupyterLab. للقيام بذلك، اضغط Alt + Shift + C، وابحث عن qiskit، واختر أمر Qiskit Code Assistant: Set IBM Quantum API token، ثم الصق مفتاحك.

  • [متقدم] لتغيير نسخة خدمة Qiskit Code Assistant التي تستخدمها الإضافة، عدّل إعداد serviceUrl الخاص بـ Qiskit Code Assistant.

  • [متقدم] يمكن تغيير اختصارات لوحة المفاتيح بالبحث عن completer في إعدادات اختصارات لوحة المفاتيح (Settings -> Settings Editor -> Keyboard Shortcuts) وإضافة اختصارات جديدة للأوامر ذات الصلة.

البدء باستخدام إضافة Qiskit Code Assistant لـ JupyterLab

المصادقة والإعداد

بعد تثبيت الإضافة، تحاول المصادقة تلقائيًا. بشكل افتراضي، تحاول الحزمة المصادقة مع خدمات IBM Quantum باستخدام مفتاح API المعرّف، وتستخدم مفتاحك من متغير البيئة QISKIT_IBM_TOKEN أو من الملف ~/.qiskit/qiskit-ibm.json (تحت القسم default-ibm-quantum). إذا احتجت مساعدة في ضبط حسابك، اتبع التعليمات في إعداد حساب IBM Cloud.

بشكل افتراضي، تستخدم الإضافة نموذج mistral-small-3.2-24b-qiskit، والذي يظهر في Model Picker في شريط الحالة السفلي.

في أول مرة تستخدم فيها نموذج mistral-small-3.2-24b-qiskit، تفتح نافذة تسرد بعض القيود الرئيسية التي يجب أن تكون على دراية بها عند استخدام النموذج. انقر على Accept لتفعيل النموذج لتوليد الكود.

توليد الكود

أثناء تطوير كودك باستخدام Qiskit، يمكنك طلب المساعدة من Qiskit Code Assistant. بشكل عام، يقترح المساعد كودًا أفضل استجابةً لتعليقات Python أو docstrings، لكن يمكنك استخدام المساعد في أي مكان في ملفك.

للحصول على اقتراح كود، اكتب موجّهًا، ثم اضغط Alt + . أو Alt + \. هناك نوعان من الموجّهات يمكنك استخدامها:

  • أدخل كودًا جزئيًا واحصل على اقتراح لإكماله. مثال:
    from qiskit.circuit import QuantumCircuit
    from qiskit.transpiler import generate_preset_pass_manager
    from qiskit_ibm_runtime import SamplerV2 as Sampler
    from qiskit_ibm_runtime.fake_provider import FakeManilaV2

    # Bell Circuit
    qc = QuantumCircuit(2)
    qc.h(0)
    qc.cx(0, 1)

    qc.mea # Type Ctrl + . for a code suggestion.
  • اكتب علامة (#)، ثم اكتب موجّهك. مثال: # Give me a random circuit of 5 qubits and a depth of 4.

التعامل مع اقتراحات الكود

استخدم ما يلي لقبول الاقتراحات أو رفضها والتنقل بينها:

  • Alt + [ و Alt + ] للتنقل بين قائمة الاقتراحات (إذا كان هناك أكثر من اقتراح).
  • Alt + Tab أو Alt + END لقبول الكود المقترح وإدراجه في موضع المؤشر الحالي.

إضافةً إلى ذلك، بعد تشغيل المساعد، يمكنك استخدام الأزرار على العنصر للتنقل بين الاقتراحات أو قبولها:

The popup pane with buttons is shown.

ملاحظة

قد تستغرق الخدمة أحيانًا بضع ثوانٍ لإرجاع اقتراح، ويمكنك معرفة متى تعمل الخدمة من خلال فحص شريط الحالة.

يتضمن JupyterLab أيضًا قائمة سياق تقليدية للاقتراحات. استخدم مفتاح Tab لتشغيل وعرض قائمة السياق.

تتضمن قائمة السياق اقتراحات من JupyterLab بالإضافة إلى الاقتراحات التي يقدمها Qiskit Code Assistant. كما تقوم قائمة السياق بتنظيف الاقتراحات وتقليمها، مما يجعلها أقل فائدة لمراجعة اقتراح الكود قبل إدراجه.

إلغاء تثبيت إضافة JupyterLab

لإزالة إضافة Qiskit Code Assistant من JupyterLab، شغّل:

pip uninstall qiskit_code_assistant_jupyterlab

استكشاف الأخطاء وإصلاحها

إذا رأيت الإضافة الأمامية لكنها لا تعمل، تحقق من أن إضافة الخادم مفعّلة:

jupyter server extension list

إذا كانت إضافة الخادم مثبّتة ومفعّلة، لكنك لا ترى الإضافة الأمامية، تحقق من أن الإضافة الأمامية مثبّتة:

jupyter labextension list

المساهمة في إضافة JupyterLab

كود هذه الإضافة متاح للعموم ومفتوح المصدر. اطلع عليه في GitHub.

الخطوات التالية

Recommendations

اطلع على أمثلة لاستخدام Qiskit Code Assistant مع الدوائر الكمومية وضبط قمع الأخطاء والنقل باستخدام pass managers.