amazon-braket/amazon-braket-sdk-python
A Python SDK for interacting with quantum devices on Amazon Braket
Amazon Braket Python SDK
Amazon Braket Python SDK 는 Amazon Braket에서 양자 컴퓨팅 작업을 실행하기 위한 오픈소스 라이브러리입니다. 다음 기능을 제공합니다:
- 장치 추상화 (
AwsDevice,Devices) : Amazon 호스팅 시뮬레이터와 실제 양자 프로세서 (예: Rigetti, IonQ 등) 모두 지원. - 회로 빌드 :
braket.circuits.Circuit를 사용. - 작업 제출 (
device.run,device.run_batch) 및 결과 수신. - 하이브리드 작업 지원 (
AwsQuantumJob) : 고전적 및 양자 단계를 결합한 워크플로우 지원. - 로컬 시뮬레이터 : SDK에 포함되어 있어 AWS 리소스 없이 빠른 프로토타이핑 가능.
시작하기
# PyPI에서 SDK 설치
pip install amazon-braket-sdk
Python 3.11+, Git, Braket 권한이 있는 AWS 계정 (IAM 사용자/역할), 그리고 AWS SDK for Python (boto3) 가 필요합니다. SDK를 사용하기 전에 AWS 자격 증명과 리전을 설정해야 합니다.
간단한 예제 – SV1 시뮬레이터에서 벨 쌍 생성
from braket.aws import AwsDevice
from braket.circuits import Circuit
from braket.devices import Devices
# 관리형 상태벡터 시뮬레이터 선택
device = AwsDevice(Devices.Amazon.SV1)
# 2 큐비트 벨 회로 구성
bell = Circuit().h(0).cnot(0, 1)
# 작업 제출 (100샷) 및 측정 히스토그램 출력
task = device.run(bell, shots=100)
print(task.result().measurement_counts)
SDK는 작업 생성, 폴링, 결과 파싱을 자동으로 처리합니다.
병렬로 여러 회로 실행
circuits = [bell for _ in range(5)]
batch = device.run_batch(circuits, shots=100)
print(batch.results()[0].measurement_counts)
배치 제출은 시뮬레이터에서 대규모 작업을 빠르게 처리할 수 있게 해줍니다.
하이브리드 작업 (고전적 + 양자)
from braket.aws import AwsQuantumJob
job = AwsQuantumJob.create(
device="arn:aws:braket:::device/quantum-simulator/amazon/sv1",
source_module="job.py",
entry_point="job:run_job",
wait_until_complete=True,
)
print(job.result())
SDK는 Docker 기반 작업을 시작하여 여러 양자 작업과 일반 Python 코드를 함께 실행할 수 있습니다.
로컬 시뮬레이션
SDK에는 랩톱에서 실행 가능한 빠른 상태벡터 시뮬레이터 braket_sv 가 포함되어 있습니다. 클라우드로 작업을 보낼 전에 빠른 디버깅에 사용할 수 있습니다.
문서 및 도움말
- 체트 시트 – 일반적인 호출 요약: https://amazon-braket.github.io/amazon-braket-sdk-python/
- 전체 API 참조 – https://amazon-braket-sdk-python.readthedocs.io/
- 예제 – Jupyter 노트북 예제는
amazon-braket-examples리포지토리 참조. - 지원 – GitHub에서 이슈를 열거나 Quantum Computing Stack Exchange에서 질문하세요.
라이선스
Apache-2.0.
간단 요약: Amazon Braket Python SDK는 클라우드 호스팅 및 로컬 시뮬레이터를 모두 지원하는 AWS Braket 서비스에서 양자 회로와 하이브리드 워크로드를 구축, 제출, 관리할 수 있는 프로덕션 준비된 툴킷입니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트