주 콘텐츠로 건너뛰기

⚙️ doQumentation 설정

튜토리얼에서 Python 코드를 실행하는 데 사용되는 Jupyter 서버를 구성하세요.

현재 환경:

시뮬레이터 모드

IBM Quantum 계정 없이 노트북을 실행하려면 이것을 활성화하세요. 모든 QiskitRuntimeService 호출이 로컬 시뮬레이터로 리디렉션됩니다. 셀 변경이 필요 없습니다. 이것은 이 웹사이트의 임베디드 코드 실행에만 적용됩니다 — JupyterLab에서 노트북을 열면 표준 Qiskit Runtime을 사용합니다.

시뮬레이터 모드를 사용할 때 트랜스파일된 회로와 backend 특화 결과는 실제 하드웨어와 다릅니다. 페이지에 표시된 정적 예상 출력은 실제 IBM backend를 반영합니다.

표시 설정

코드 글꼴 크기

14px
from qiskit import QuantumCircuit

사전 계산된 출력

각 노트북 페이지에는 IBM의 원본 실행에서 사전 계산된 출력(이미지, 테이블, 텍스트)이 표시됩니다. Run을 클릭하여 코드를 라이브로 실행하면 원본 출력과 새 라이브 결과가 나란히 표시됩니다. 이 토글을 활성화하면 라이브 실행 중 원본 출력이 숨겨지고 결과만 표시됩니다.

Python 경고

기본적으로 Python 경고(deprecation 알림, 런타임 경고)는 더 깔끔한 노트북 출력을 위해 억제됩니다. 비활성화하면 모든 경고를 볼 수 있습니다 — 디버깅 또는 API 변경 사항 학습에 유용합니다.

학습 진도

읽기 및 실행 진도가 브라우저에 로컬로 추적됩니다. 방문한 페이지는 사이드바에 가 표시되고, 실행된 노트북은 가 표시됩니다.

아직 추적된 진도가 없습니다. 튜토리얼과 가이드를 방문하여 추적을 시작하세요.

기타

Advanced Settings

IBM Cloud Code Engine

Code Engine provides a fast, serverless Jupyter kernel powered by your own IBM Cloud account. Startup takes seconds instead of minutes. Free tier covers ~14 hours/month.

Setup Instructions
  1. Create an IBM Cloud account at cloud.ibm.com (free tier available)
  2. Create a Code Engine project in your preferred region
  3. Deploy a new application with image ghcr.io/janlahmann/doqumentation-codeengine:latest, port 8080
  4. Set environment variable JUPYTER_TOKEN to a secure token (min 32 characters) and CORS_ORIGIN to your domain
Join Workshop

Paste the workshop config string provided by your instructor. This connects you to a pool of Code Engine instances for the class.

IBM Quantum 계정

보안 참고: 자격 증명은 브라우저의 localStorage에 일반 텍스트로 저장됩니다. 암호화되지 않으며 브라우저 확장 프로그램이나 이 기기에 액세스할 수 있는 누구든 읽을 수 있습니다. 노출을 제한하려면 아래의 만료 설정을 사용하고 완료 후 자격 증명을 삭제하세요. 공유 또는 공개 컴퓨터의 경우 아래에 설명된 수동 save_account() 방법을 사용하는 것이 좋습니다.

IBM Quantum 자격 증명을 여기에 한 번 입력하세요. 커널이 시작될 때 save_account()를 통해 자동으로 주입되므로 각 노트북에 입력할 필요가 없습니다. 이것은 이 웹사이트의 임베디드 코드 실행에만 적용됩니다 — JupyterLab에서 노트북을 열면 save_account()를 수동으로 호출해야 합니다.

  1. quantum.cloud.ibm.com/registration에서 가입 — 처음 30일은 신용카드 불필요
  2. quantum.cloud.ibm.com에서 로그인
  3. 인스턴스 — 아직 없다면 인스턴스에서 무료 Open Plan 인스턴스 생성
  4. API Token — 프로필 아이콘(오른쪽 상단)을 클릭한 다음 "API token"을 클릭합니다. 키를 복사합니다.
  5. CRN인스턴스 페이지에서 CRN 문자열 복사

자세한 단계는 IBM의 인증 설정 가이드(2단계)를 참조하세요.

대안: 노트북 셀에서 save_account()를 수동으로 실행

이 브라우저에 자격 증명을 저장하지 않으려면 이것을 코드 셀에 붙여넣고 실행하세요. 자격 증명은 Binder 커널의 임시 메모리에 저장되며 세션 종료 시 사라집니다.

from qiskit_ibm_runtime import QiskitRuntimeService
QiskitRuntimeService.save_account(
    token="YOUR_API_TOKEN",
    instance="YOUR_CRN",
    overwrite=True
)

Binder 패키지

GitHub Pages에서 실행할 때 코드는 MyBinder를 통해 실행됩니다. Binder 환경에는 Qiskit 핵심 패키지가 미리 설치되어 있습니다:

qiskit[visualization], qiskit-aer,
qiskit-ibm-runtime, pylatexenc,
qiskit-ibm-catalog, qiskit-addon-utils, pyscf

일부 노트북은 추가 패키지가 필요합니다. 코드 셀에서 다음을 실행하여 필요에 따라 설치할 수 있습니다:

!pip install -q <package>

또는 모든 선택적 패키지를 한 번에 설치:

!pip install -q scipy scikit-learn qiskit-ibm-transpiler \
  qiskit-experiments plotly sympy qiskit-serverless \
  qiskit-addon-sqd qiskit-addon-mpf \
  qiskit-addon-aqc-tensor[aer,quimb-jax] \
  qiskit-addon-obp qiskit-addon-cutting ffsim \
  gem-suite python-sat

고급

Jupyter 서버의 기본 URL (예: http://localhost:8888)
jupyter server --generate-config의 토큰 또는 시작 시 표시된 토큰

설정 도움말

RasQberry 설정

RasQberry Pi에서 실행할 때 Jupyter 서버가 자동으로 감지되어야 합니다. 그렇지 않은 경우 jupyter-tutorials 서비스가 실행 중인지 확인하세요:

sudo systemctl status jupyter-tutorials

로컬 Jupyter 설정

CORS를 활성화하여 Jupyter 서버를 시작하세요:

jupyter server --ServerApp.token='rasqberry' \
  --ServerApp.allow_origin='*' \
  --ServerApp.disable_check_xsrf=True

Docker 설정

Docker 컨테이너는 시작 시 임의의 Jupyter 토큰을 생성합니다. 웹사이트를 통한 코드 실행(포트 8080)은 자동으로 작동합니다 — 토큰이 필요 없습니다. 토큰은 포트 8888의 JupyterLab 직접 액세스에만 필요합니다.

컨테이너 로그에서 토큰을 가져오려면:

docker compose --profile jupyter logs | grep "Jupyter token"

고정 토큰을 설정하려면:

JUPYTER_TOKEN=mytoken docker compose --profile jupyter up

원격 서버

원격 서버의 경우 CORS가 이 웹사이트에서의 연결을 허용하도록 구성되어 있는지 확인하세요. jupyter_server_config.py에 다음을 추가하세요:

c.ServerApp.allow_origin = '*'
c.ServerApp.allow_credentials = True