Organize e pesquise por tags de trabalho
O código desta página foi desenvolvido usando os seguintes requisitos. Recomendamos o uso dessas versões ou de versões mais recentes.
qiskit[all]~=2.3.1 qiskit-ibm-runtime~=0.45.1
Este guia se concentra em como adicionar e atualizar tags de trabalho, bem como pesquisar por tags de trabalho, para que você possa organizar, acompanhar e entender melhor seus experimentos.
Designar tags
Você pode atribuir uma ou mais tags aos seus trabalhos ao executá-los para que possa filtrar por uma tag posteriormente. Talvez você queira usar tags de trabalho para rotular configurações específicas de atenuação de erros, parâmetros de circuito e assim por diante.
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)Output:
['experiment-2025', 'sampler-example']
Adicionar e atualizar etiquetas
Você pode adicionar tags depois de enviar um trabalho com o método update_tags() . Esse método substitui as tags atuais, portanto, se você já tiver atribuído tags a um trabalho e quiser adicionar outras tags, não se esqueça de reatribuir as tags originais.
# 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)Output:
['sampler-example', '127-qubit', 'experiment-2025']
Recuperar trabalhos por etiqueta
Exibir uma lista de trabalhos com determinadas tags, como segue:
# List jobs with a specific tag or set of tags
service.jobs(job_tags=["experiment-2025", "sampler-example"])Output:
[<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')>]