Aller au contenu principal

Organiser et rechercher par étiquettes de job

Versions des packages

Le code de cette page a été développé avec les dépendances suivantes. Nous recommandons d'utiliser ces versions ou des versions plus récentes.

qiskit[all]~=2.3.0
qiskit-ibm-runtime~=0.43.1

Ce guide explique comment ajouter et mettre à jour des étiquettes de job, ainsi que comment effectuer des recherches par étiquettes, afin que tu puisses mieux organiser, suivre et comprendre tes expériences.

Assigner des étiquettes

Tu peux assigner une ou plusieurs étiquettes à tes jobs lors de leur exécution afin de pouvoir les filtrer par étiquette ultérieurement. Les étiquettes de job sont utiles pour identifier des paramètres de mitigation d'erreurs, des paramètres de Circuit, et ainsi de suite.

# Added by doQumentation — required packages for this notebook
!pip install -q qiskit qiskit-ibm-runtime
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']

Ajouter et mettre à jour des étiquettes

Tu peux ajouter des étiquettes après avoir soumis un job grâce à la méthode update_tags(). Cette méthode écrase les étiquettes actuelles, donc si tu as déjà assigné des étiquettes à un job et que tu souhaites en ajouter d'autres, assure-toi de réassigner les étiquettes d'origine.

# 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', 'experiment-2025', '127-qubit']

Récupérer des jobs par étiquette

Affiche une liste de jobs possédant certaines étiquettes de la façon suivante :

# List jobs with a specific tag or set of tags

service.jobs(job_tags=["experiment-2025", "sampler-example"])
[<RuntimeJobV2('d5k96nv853es738djj30', 'sampler')>,
<RuntimeJobV2('d5b1s2rht8fs73a66r80', 'sampler')>,
<RuntimeJobV2('d4vr9uteastc73cii4n0', 'sampler')>,
<RuntimeJobV2('d4mjv12v0j9c73e6dclg', 'sampler')>,
<RuntimeJobV2('d4c2e8fnmdfs73aedgl0', 'sampler')>,
<RuntimeJobV2('d42r485o35ts73c743g0', 'sampler')>,
<RuntimeJobV2('d3nkieg3qtks738eg8t0', 'sampler')>,
<RuntimeJobV2('d3ed8g1b641c738j6vdg', 'sampler')>,
<RuntimeJobV2('d38q4qcda4cs73aa79v0', 'sampler')>,
<RuntimeJobV2('d38q14g0sqis739a0ing', 'sampler')>]