استخدام 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لقبول الكود المقترح وإدراجه في موضع المؤشر الحالي.
إضافةً إلى ذلك، بعد تشغيل المساعد، يمكنك استخدام الأزرار على العنصر للتنقل بين الاقتراحات أو قبولها:
قد تستغرق الخدمة أحيانًا بضع ثوانٍ لإرجاع اقتراح، ويمكنك معرفة متى تعمل الخدمة من خلال فحص شريط الحالة.
يتضمن 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.
الخطوات التالية
اطلع على أمثلة لاستخدام Qiskit Code Assistant مع الدوائر الكمومية وضبط قمع الأخطاء والنقل باستخدام pass managers.