Job 태그로 정리하고 검색하기
패키지 버전
이 페이지의 코드는 다음 요구 사항을 사용하여 개발되었습니다. 해당 버전 이상을 사용하는 것을 권장합니다.
qiskit[all]~=2.3.0
qiskit-ibm-runtime~=0.43.1
이 가이드는 Job 태그를 추가하고 업데이트하는 방법과 Job 태그로 검색하는 방법에 초점을 맞추어, 실험을 더 효과적으로 정리하고 추적하며 이해할 수 있도록 합니다.
태그 지정하기
Job을 실행할 때 하나 이상의 태그를 지정하면 나중에 태그로 필터링할 수 있습니다. Job 태그를 사용하여 특정 오류 완화 설정, Circuit 파라미터 등을 표시할 수 있습니다.
# 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() 메서드를 사용하면 Job을 제출한 후에도 태그를 추가할 수 있습니다. 이 메서드는 현재 태그를 덮어쓰므로, 이미 Job에 태그를 지정한 상태에서 추가 태그를 더하려면 기존 태그도 함께 다시 지정해야 합니다.
# 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']
태그로 Job 조회하기
다음과 같이 특정 태그가 있는 Job 목록을 표시합니다:
# 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')>]