تنظيم التجارب والبحث فيها باستخدام وسوم المهام
Package versions
تم تطوير الشيفرة في هذه الصفحة باستخدام المتطلبات التالية. نوصي باستخدام هذه الإصدارات أو أحدث.
qiskit[all]~=2.3.1
qiskit-ibm-runtime~=0.45.1
يركز هذا الدليل على كيفية إضافة وسوم المهام وتحديثها، وكذلك كيفية البحث باستخدام وسوم المهام، حتى تتمكن من تنظيم تجاربك وتتبعها وفهمها بشكل أفضل.
تعيين الوسوم
يمكنك تعيين وسم واحد أو أكثر لمهامك عند تشغيلها، حتى تتمكن لاحقاً من التصفية بحسب الوسم. قد تجد فائدة في استخدام وسوم المهام للإشارة إلى إعدادات معينة لتخفيف الأخطاء، أو معاملات الدائرة، وما شابه ذلك.
# Added by doQumentation — installs the packages this notebook needs if they are missing
import importlib.util
_needed = {"qiskit": "qiskit", "qiskit_ibm_runtime": "qiskit-ibm-runtime"}
_missing = [pip for module, pip in _needed.items()
if importlib.util.find_spec(module) is None]
# One at a time, so a package that fails to install does not block the others
for _pip in _missing:
%pip install -q {_pip}
if not _missing:
print("\u2713 All required packages are installed")
from qiskit_ibm_runtime import QiskitRuntimeService, Sampler
from qiskit import QuantumCircuit
from qiskit.transpiler import generate_preset_pass_manager
service = QiskitRuntimeService()
backend = service.least_busy(simulator=False, operational=True)
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()
sampler = Sampler(backend)
pm = generate_preset_pass_manager(backend=backend, optimization_level=1)
isa_circuit = pm.run(qc)
# Assign tags before executing
sampler.options.environment.job_tags = ["experiment-2025", "sampler-example"]
# Submit
job = sampler.run([isa_circuit])
print(service.job(job.job_id()).tags)
['experiment-2025', 'sampler-example']
إضافة الوسوم وتحديثها
يمكنك إضافة وسوم بعد إرسال وظيفة باستخدام التابع update_tags(). يقوم هذا التابع بالكتابة فوق الوسوم الحالية، لذا إن كنت قد عيّنت وسوماً لوظيفة مسبقاً وأردت إضافة وسوم إضافية، احرص على إعادة تعيين الوسوم الأصلية أيضاً.
# Add a new tag while keeping the previously assigned tags
job.update_tags(["experiment-2025", "sampler-example", "127-qubit"])
# Confirm updated tags
print(job.tags)
['sampler-example', '127-qubit', 'experiment-2025']
استرجاع المهام بحسب الوسم
عرض قائمة بالوظائف التي تحمل وسوماً معينة كما يلي:
# List jobs with a specific tag or set of tags
service.jobs(job_tags=["experiment-2025", "sampler-example"])
[<RuntimeJobV2('d76cmj5bjrds73edf2og', 'sampler')>,
<RuntimeJobV2('d6r5u84u243c73a11mug', 'sampler')>,
<RuntimeJobV2('d6hugq2thhns7392lovg', 'sampler')>,
<RuntimeJobV2('d68n7qtbujdc73d1b3vg', 'sampler')>,
<RuntimeJobV2('d674nppv6o8c73d514fg', 'sampler')>,
<RuntimeJobV2('d61mt5bc4tus73fcf3ng', 'sampler')>,
<RuntimeJobV2('d61lhfqo8gvs73f15d30', 'sampler')>,
<RuntimeJobV2('d5vftt1mvbjc73acdgpg', 'sampler')>,
<RuntimeJobV2('d5k96nv853es738djj30', 'sampler')>,
<RuntimeJobV2('d5b1s2rht8fs73a66r80', 'sampler')>]