Organizar y buscar por etiquetas de trabajo
Package versions
El código de esta página se desarrolló utilizando los siguientes requisitos. Recomendamos usar estas versiones o más recientes.
qiskit[all]~=2.3.1
qiskit-ibm-runtime~=0.45.1
Esta guía se enfoca en cómo añadir y actualizar etiquetas de trabajo, así como en cómo buscar por etiquetas de trabajo, para que puedas organizar, rastrear y entender mejor tus experimentos.
Asignar etiquetas
Puedes asignar una o más etiquetas a tus trabajos cuando los ejecutes para poder filtrar por una etiqueta más tarde. Es posible que desees usar etiquetas de trabajo para etiquetar configuraciones particulares de mitigación de errores, parámetros de circuito, etc.
# 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']
Añadir y actualizar etiquetas
Puedes añadir etiquetas después de enviar un trabajo con el método update_tags(). Este método sobrescribe las etiquetas actuales, por lo que si ya has asignado etiquetas a un trabajo y deseas añadir etiquetas adicionales, asegúrate de reasignar las etiquetas originales.
# 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']
Recuperar trabajos por etiqueta
Muestra una lista de trabajos con ciertas etiquetas de la siguiente manera:
# 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')>]