Перейти до основного вмісту

Організація та пошук за тегами завдань

Версії пакетів

Код на цій сторінці розроблявся з використанням наведених нижче залежностей. Рекомендуємо використовувати ці або новіші версії.

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

Цей посібник розповідає про те, як додавати й оновлювати теги завдань, а також як шукати за тегами — щоб краще організовувати, відстежувати та аналізувати свої експерименти.

Призначення тегів

Ти можеш призначити один або кілька тегів своїм завданням під час їх запуску, щоб потім фільтрувати за тегом. Теги зручно використовувати для позначення певних налаштувань пом'якшення помилок, параметрів схем тощо.

# 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']

Додавання та оновлення тегів

Ти можеш додавати теги після відправки завдання за допомогою методу 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', 'experiment-2025', '127-qubit']

Отримання завдань за тегом

Щоб відобразити список завдань із певними тегами, скористайся наведеним нижче кодом:

# 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')>]