⚙️ إعدادات doQumentation
قم بتكوين خادم Jupyter المستخدم لتنفيذ تعليمات Python البرمجية في البرامج التعليمية.
وضع المحاكاة
فعّل لتشغيل دفاتر ال ملاحظات دون حساب IBM Quantum. يتم إعادة توجيه جميع مكالمات QiskitRuntimeService إلى محاكي محلي. لا حاجة لتعديل الخلايا. ينطبق هذا على تنفيذ التعليمات البرمجية المضمنة على هذا الموقع فقط — يستخدم فتح دفتر ملاحظات في JupyterLab وقت التشغيل القياسي لـ Qiskit.
ستختلف الدوائر المترجمة والنتائج الخاصة بالخلفية عن الأجهزة الحقيقية عند استخدام وضع المحاكاة. تعكس المخرجات الثابتة المتوقعة المعروضة على الصفحات خلفيات IBM الحقيقية.
تفضيلات العرض
حجم خط التعليمات البرمجية
from qiskit import QuantumCircuitالمخرجات المحسوبة مسبقًا
تعرض كل صفحة دفتر ملاحظات مخرجات محسوبة مسبقًا (صور، جداول، نص) من عمليات التشغيل الأصلية لـ IBM. عند النقر فوق Run لتنفيذ التعليمات البرمجية مباشرة، يتم عرض كل من المخرجات الأصلية ونتائجك الحية الجديدة جنبًا إلى جنب. فعّل هذا التبديل لإخفاء المخرجات الأصلية أثناء التنفيذ المباشر، مع الاحتفاظ بنتائجك فقط مرئية.
تحذيرات Python
افتراضيًا، يتم قمع تحذيرات Python (إشعارات الإهمال، تلميحات وقت التشغيل) للحصول على مخرجات دفتر ملاحظات أنظف. عطّل هذا لرؤية جميع التحذيرات — مفيد لتصحيح الأخطاء أو معرفة تغييرات API.
تقدم التعلم
يتم تتبع تقدم القراءة والتنفيذ الخاص بك محليًا في متصفحك. تعرض الصفحات التي تمت زيارتها ✓ في الشريط الجانبي؛ تعرض دفاتر الملاحظات المنفذة ▶.
أخرى
Advanced Settings
IBM Cloud Code Engine
Code Engine provides a fast, serverless Jupyter kernel powered by your own IBM Cloud account. Startup takes seconds instead of minutes. Free tier covers ~14 hours/month.
Setup Instructions
- Create an IBM Cloud account at cloud.ibm.com (free tier available)
- Create a Code Engine project in your preferred region
- Deploy a new application with image
ghcr.io/janlahmann/doqumentation-codeengine:latest, port 8080 - Set environment variable JUPYTER_TOKEN to a secure token (min 32 characters) and CORS_ORIGIN to your domain
Join Workshop
Enter the workshop URL and token provided by your instructor. This connects you to the workshop's Code Engine instance.
حساب IBM Quantum
save_account() اليدوية الموضحة أدناه بدلاً من ذلك.أدخل بيانات اعتماد IBM Quantum الخاصة بك مرة واحدة هنا. سيتم حقنها تلقائيًا عبر save_account() عند بدء النواة، لذلك لا تحتاج إلى إدخالها في كل دفتر ملاحظات. ينطبق هذا على تنفيذ التعليمات البرمجية المضمنة على هذا الموقع فقط — يتطلب فتح دفتر ملاحظات في JupyterLab استدعاء save_account() يدويًا.
- التسجيل في quantum.cloud.ibm.com/registration — لا حاجة لبطاقة ائتمان لأول 30 يومًا
- تسجيل الدخول في quantum.cloud.ibm.com
- المثيل — أنشئ مثيلاً مجانيًا من Open Plan في المثيلات إذا لم يكن لديك واحد بعد
- رمز API — انقر على أيقونة ملفك الشخصي (أعلى اليمين)، ثم "رمز API". انسخ المفتاح.
- CRN — انسخ سلسلة CRN من صفحة المثيلات الخاصة بك
للخطوات التفصيلية، راجع دليل IBM إعداد المصادقة (الخطوة 2).
بديل: قم بتشغيل save_account() يدويًا في خلية دفتر ملاحظات
إذا كنت تفضل عدم تخزين بيانات الاعتماد في هذا المتصفح، الصق هذا في أي خلية تعليمات برمجية وقم بتشغيله. يتم حفظ بيانات الاعتماد في التخزين المؤقت لنواة Binder وتُفقد عند انتهاء الجلسة.
from qiskit_ibm_runtime import QiskitRuntimeService
QiskitRuntimeService.save_account(
token="YOUR_API_TOKEN",
instance="YOUR_CRN",
overwrite=True
)حزم Binder
عند التشغيل على GitHub Pages، يتم تنفيذ التعليمات البرمجية عبر MyBinder. تتضمن بيئة Binder حزم Qiskit الأساسية مثبتة مسبقًا:
qiskit[visualization], qiskit-aer,
qiskit-ibm-runtime, pylatexenc,
qiskit-ibm-catalog, qiskit-addon-utils, pyscfتتطلب بعض دفاتر الملاحظات حزمًا إضافية. يمكنك تثبيتها عند الطلب عن طريق تشغيل هذا في خلية تعليمات برمجية:
!pip install -q <package>أو قم بتثبيت جميع الحزم الاختيارية دفعة واحدة:
!pip install -q scipy scikit-learn qiskit-ibm-transpiler \
qiskit-experiments plotly sympy qiskit-serverless \
qiskit-addon-sqd qiskit-addon-mpf \
qiskit-addon-aqc-tensor[aer,quimb-jax] \
qiskit-addon-obp qiskit-addon-cutting ffsim \
gem-suite python-satمتقدم
مساعدة الإعداد
إعداد RasQberry
إذا كنت تعمل على RasQberry Pi، يجب اكتشاف خادم Jupyter تلقائيًا. إذا لم يكن كذلك، تأكد من أن خدمة jupyter-tutorials قيد التشغيل:
sudo systemctl status jupyter-tutorialsإعداد Jupyter المحلي
ابدأ خادم Jupyter مع تمكين CORS:
jupyter server --ServerApp.token='rasqberry' \
--ServerApp.allow_origin='*' \
--ServerApp.disable_check_xsrf=Trueإعداد Docker
يقوم حاوية Docker بإنشاء رمز Jupyter عشوائي عند بدء التشغيل. يعمل تنفيذ التعليمات البرمجية عبر الموقع (المنفذ 8080) تلقائيًا — لا حاجة للرمز. الرمز مطلوب فقط للوصول المباشر إلى JupyterLab على المنفذ 8888.
لاسترداد الرمز من سجلات الحاوية:
docker compose --profile jupyter logs | grep "Jupyter token"لتعيين رمز ثابت:
JUPYTER_TOKEN=mytoken docker compose --profile jupyter upخادم بعيد
بالنسبة للخوادم البعيدة، تأكد من تكوين CORS للسماح بالاتصالات من هذا الموقع. أضف ما يلي إلى jupyter_server_config.py الخاص بك:
c.ServerApp.allow_origin = '*'
c.ServerApp.allow_credentials = True