⚙️ Ustawienia doQumentation
Skonfiguruj serwer Jupyter używany do wykonywania kodu Python w tutorialach.
Backend wykonania
Dostępnych jest kilka backendów wykonania. Wybierz, który z nich ma być używany do wykonywania kodu:
Tryb wykonania
Wybierz co się dzieje, gdy klikasz Uruchom na stronach samouczków. Dotyczy to tylko osadzonego wykonywania kodu na tej stronie — otwarcie notatnika w JupyterLab używa standardowego środowiska uruchomieniowego Qiskit.
Konto IBM Quantum
Instrukcje konfiguracji i uwagi dotyczące bezpieczeństwa
save_account() opisaną poniżej.Wprowadź tutaj raz swoje dane uwierzytelniające IBM Quantum. Zostaną automatycznie wstrzyknięte przez save_account() po uruchomieniu kernela, więc nie musisz ich wprowadzać w każdym notatniku. Dotyczy to tylko wykonania kodu osadzonego na tej stronie — otwieranie notatnika w JupyterLab wymaga ręcznego wywołania save_account().
- Zarejestruj się na quantum.cloud.ibm.com/registration — karta kredytowa nie jest wymagana przez pierwsze 30 dni
- Zaloguj się na Instancje
- Instancja — Utwórz bezpłatną instancję Open Plan na strona główna, jeśli jej jeszcze nie masz
- Token API — Kliknij ikonę profilu (prawy górny róg), a następnie „API token”. Skopiuj klucz.
Szczegółowe kroki znajdziesz w przewodniku IBM Konfiguracja uwierzytelniania (krok 2).
Alternatywa: ręczne uruchomienie save_account() w komórce notatnika
Jeśli wolisz nie przechowywać danych uwierzytelniających w tej przeglądarce, wklej to do dowolnej komórki kodu i uruchom. Dane uwierzytelniające są zapisywane w tymczasowej pamięci kernela Bindera i tracone po zakończeniu sesji.
from qiskit_ibm_runtime import QiskitRuntimeService
QiskitRuntimeService.save_account(
token="YOUR_API_TOKEN",
instance="YOUR_CRN",
overwrite=True
)Preferencje wyświetlania
Rozmiar czcionki kodu
from qiskit import QuantumCircuitWstępnie obliczone wyniki
Każda strona z notatnikiem pokazuje wstępnie obliczone wyniki (obrazy, tabele, tekst) z oryginalnych uruchomień IBM. Gdy klikniesz Run, aby wykonać kod na żywo, widoczne są zarówno oryginalne wyniki, jak i Twoje nowe wyniki na żywo. Wyłącz ten przełącznik, aby ukryć oryginalne wyniki podczas wykonywania na żywo i zostawić widoczne tylko Twoje wyniki.
Ostrzeżenia Pythona
Domyślnie ostrzeżenia Pythona (powiadomienia o deprecjacji, wskazówki uruchomieniowe) są wyciszane dla czystszego wyjścia notatnika. Wyłącz to, aby zobaczyć wszystkie ostrzeżenia — przydatne do debugowania lub uczenia się o zmianach API.
Zarządzaj swoimi danymi
Wszystkie dane zostają w Twojej przeglądarce. Na doqumentation.org Twoje postępy, zakładki i ustawienia są przechowywane w localStorage oraz w małych ciasteczkach, które udostępniają je między wersjami językowymi; te ciasteczka są wysyłane do statycznego hostingu z każdym żądaniem strony, nigdy do serwera doQumentation. Twoje dane uwierzytelniające IBM Quantum nigdy nie trafiają do ciasteczka: zostają w localStorage w wersji językowej, w której je wpisałeś. Wyczyszczenie danych przeglądarki lub użycie innej przeglądarki albo urządzenia oznacza start od zera.
Postępy nauki
Odwiedzone strony są oznaczone symbolem ✓ na pasku bocznym. Strony z notatnikami pokazują </>: szary do czasu odwiedzenia, niebieski po odwiedzeniu, zielony po uruchomieniu na nich kodu.
Brak śledzonych postępów. Odwiedź tutoriale i przewodniki, aby rozpocząć śledzenie.
Zakładki
Brak zakładek. Użyj przycisku zakładki na dowolnej stronie, aby ją tutaj zapisać.
Wyświetlanie i interfejs
Sesje i dane uwierzytelniające
Resetuj wszystko
Usuń wszystkie zapisane dane, w tym postęp, zakładki, preferencje wyświetlania i dane uwierzytelniające.
Ustawienia zaawansowane
IBM Cloud Code Engine
Code Engine zapewnia szybki, bezserwerowy kernel Jupyter oparty na Twoim własnym koncie IBM Cloud. Start zajmuje sekundy zamiast minut. Bezpłatny poziom obejmuje ~14 godzin/miesiąc.
Instrukcje konfiguracji
- Utwórz konto IBM Cloud na cloud.ibm.com (dostępny bezpłatny poziom)
- Utwórz projekt Code Engine w preferowanym regionie
- Wdróż nową aplikację z obrazem
ghcr.io/janlahmann/doqumentation-codeengine:latest, port 8080
Rozmiarowanie: 1 vCPU / 2 GB dla jednego użytkownika, 8 vCPU / 16 GB dla warsztatów (do 80 użytkowników) - Ustaw zmienną środowiskową JUPYTER_TOKEN na bezpieczny token (min. 32 znaki) i CORS_ORIGIN na twoją domenę
Szczegóły dotyczące rozmiarowania dla warsztatów znajdziesz w dokumentacji konfiguracji warsztatów.
Pakiety Binder
Podczas działania na GitHub Pages kod jest wykonywany przez MyBinder. Środowisko Binder zawiera preinstalowane podstawowe pakiety Qiskit:
qiskit[visualization], qiskit-aer,
qiskit-ibm-runtime, pylatexenc,
qiskit-ibm-catalog, qiskit-addon-utils, pyscfNiektóre notatniki wymagają dodatkowych pakietów. Możesz je zainstalować na żądanie, uruchamiając to w komórce kodu:
!pip install -q <package>Lub zainstaluj wszystkie opcjonalne pakiety naraz:
!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-satPomoc z konfiguracją
Konfiguracja RasQberry
RasQberry uruchamia kontener doQumentation (zobacz Konfigurację Dockera poniżej). Otwórz stronę z adresu Pi, port 8080, a kod będzie uruchamiany na Pi bez dalszej konfiguracji.
Przewodnik po warsztatach offline: poprowadź zajęcia z jednego Raspberry Pi
Lokalna konfiguracja Jupyter
Uruchom serwer Jupyter, który akceptuje wyłącznie tę stronę, z wybranym przez siebie tokenem, a następnie wpisz jego URL i token w sekcji Serwer własny powyżej:
jupyter server --ServerApp.token='choose-a-long-token' \
--ServerApp.allow_origin='https://doqumentation.org' \
--ServerApp.disable_check_xsrf=TrueKonfiguracja Docker
Kontener Docker generuje losowy token Jupyter przy uruchomieniu. Wykonywanie kodu przez stronę (port 8080) działa automatycznie — token nie jest potrzebny. Token jest wymagany tylko do bezpośredniego dostępu do JupyterLab na porcie 8888.
Aby pobrać token z logów kontenera:
podman logs doq | grep "Jupyter token"Aby ustawić stały token:
podman run -d --name doq --restart unless-stopped \
-e JUPYTER_TOKEN=choose-a-token \
-p 8080:80 -p 127.0.0.1:8888:8888 \
ghcr.io/janlahmann/doqumentation:jupyterSerwer zdalny
W przypadku serwerów zdalnych upewnij się, że CORS jest skonfigurowany, aby zezwolić na połączenia z tej strony. Dodaj poniższe do pliku jupyter_server_config.py:
c.ServerApp.allow_origin = 'https://doqumentation.org'
c.ServerApp.allow_credentials = True