Mag-organisa at maghanap gamit ang mga job tag
Mga bersyon ng package
Ang code sa pahinang ito ay ginawa gamit ang mga sumusunod na kinakailangan. Inirerekomenda naming gamitin ang mga bersyong ito o mas bago pa.
qiskit[all]~=2.3.1
qiskit-ibm-runtime~=0.45.1
Ang gabay na ito ay nakatuon sa kung paano magdagdag at mag-update ng mga job tag, pati na rin kung paano maghanap gamit ang mga job tag, para mas maayos mong ma-organisa, ma-subaybayan, at maunawaan ang iyong mga eksperimento.
Mag-assign ng mga tag
Puwede kang mag-assign ng isa o maraming tag sa iyong mga job habang pinapatakbo ang mga ito para makapag-filter ayon sa tag sa paglaon. Maaaring gamitin ang mga job tag para lagyan ng label ang partikular na mga setting ng error mitigation, mga parameter ng Circuit, at iba pa.
# 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']
Magdagdag at mag-update ng mga tag
Puwede kang magdagdag ng mga tag pagkatapos mag-submit ng job gamit ang update_tags() method. Ino-overwrite ng method na ito ang mga kasalukuyang tag, kaya kung mayroon ka nang mga na-assign na tag sa isang job at gusto mong magdagdag ng karagdagang mga tag, siguraduhing i-re-assign din ang mga orihinal na tag.
# 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']
Kunin ang mga job ayon sa tag
Ipakita ang listahan ng mga job na may partikular na mga tag tulad nito:
# 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')>]