⚙️ Налаштування doQumentation
Налаштуй сервер Jupyter, що використовується для виконання коду Python у туторіалах.
Серверний бекенд
Обери бекенд для виконання коду:
Режим виконання
Обери, що відбувається при натисканні «Виконати» на сторінках туторіалів. Це стосується лише вбудованого виконання коду на цьому сайті — відкриття ноутбука в JupyterLab використовує стандартне Qiskit-середовище виконання.
Акаунт IBM Quantum
Дотримуйся інструкцій нижче, щоб налаштувати доступ до IBM Quantum.
save_account(), описаним нижче.Введи свої облікові дані IBM Quantum тут один раз. Вони будуть автоматично підставлені через save_account() під час запуску ядра, тож не потрібно вводити їх у кожному ноутбуці. Це стосується лише вбудованого виконання коду на цьому сайті — щоб відкрити ноутбук у JupyterLab, потрібно викликати save_account() вручну.
- Зареєструйся на quantum.cloud.ibm.com/registration (безкоштовно, банківська картка не потрібна)
- Sign in — перейди на Екземпляри, натисни «Create instance +», обери план Open (безкоштовний) і виконай вказівки майстра
- Instance — повернувшись на головна сторінка, знайди свій екземпляр у розділі «Instances» і натисни піктограму копіювання поруч із «CRN»
- API Token — на головна сторінка знайди «API key» і натисни «Create +»
Потрібна додаткова допомога? Дивись посібник IBM з автентифікації — там є знімки екрана та докладні кроки.
Альтернатива: виконай save_account() вручну в комірці ноутбука
Якщо не хочеш зберігати облікові дані в цьому браузері, встав це в будь-яку комірку коду та виконай. Облікові дані зберігаються в тимчасовому сховищі ядра Binder і втрачаються після завершення сесії.
from qiskit_ibm_runtime import QiskitRuntimeService
QiskitRuntimeService.save_account(
token="YOUR_API_TOKEN",
instance="YOUR_CRN",
overwrite=True
)Налаштування відображення
Розмір шрифту коду
from qiskit import QuantumCircuitПопередньо обчислені виводи
Кожна сторінка ноутбука показує попередньо обчислені виводи (зображення, таблиці, текст) з початкових запусків IBM. Коли ти натискаєш Run, щоб виконати код наживо, показуються і оригінальні виводи, і твої нові результати. Вимкни цей перемикач, щоб приховати оригінальні виводи під час живого виконання, залишивши видимими лише твої результати.
Python-попередження
За замовчуванням Python-попередження (повідомлення про застарівання, підказки часу виконання) пригнічуються для чистішого виводу ноутбука. Вимкни це, щоб бачити всі попередження — корисно для налагодження або щоб дізнатися про зміни в API.
Дані та конфіденційність
Усі дані залишаються у твоєму браузері. На doqumentation.org твій прогрес, закладки та налаштування зберігаються в localStorage і в невеликих cookie, які спільно використовуються мовними сайтами; ці cookie надсилаються статичному веб-хостингу з кожним запитом сторінки, але ніколи не потрапляють на сервер doQumentation. Твої облікові дані IBM Quantum ніколи не потрапляють у cookie: вони залишаються в localStorage на мовному сайті, де ти їх ввів. Якщо очистити дані браузера або скористатися іншим браузером чи пристроєм, усе почнеться з нуля.
Learning Progress
Відвідані сторінки показують ✓ на бічній панелі. Сторінки ноутбуків показують </>: сірий, доки не відвідано, синій після відвідування, зелений після того, як ти виконав на них код.
Прогрес ще не відстежується. Відвідай туторіали та посібники, щоб почати.
Закладки
Закладок немає
Інтерфейс
Облікові дані
Скинути налаштування
Видалити всі збережені дані, включно з прогресом, закладками, налаштуваннями відображення та обліковими даними.
Розширені налаштування
IBM Cloud Code Engine
Підключи власний екземпляр Code Engine для виконання коду у хмарі.
Інструкції з налаштування
- Створи акаунт IBM Cloud на cloud.ibm.com (доступний безкоштовний тариф)
- Перейди до IBM Cloud Code Engine console і створи новий проект у потрібному регіоні
- Створи новий додаток із образом
ghcr.io/janlahmann/doqumentation-codeengine:latest, порт прослуховування 8080
Розмір: 1 vCPU / 2 ГБ для одного користувача, 8 vCPU / 16 ГБ для воркшопів (до 80 користувачів) - Встанови змінні середовища:
JUPYTER_TOKEN— захищений токен (мінімум 32 символи),CORS_ORIGIN— твій домен (наприклад,https://doqumentation.org)
Деталі щодо розміру для воркшопів дивись у документації з налаштування воркшопу.
Пакети 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Довідка з налаштування
Налаштування RasQberry
RasQberry запускає контейнер doQumentation (див. «Налаштування Docker» нижче). Відкрий сайт за адресою Pi, порт 8080, і код виконуватиметься на Pi без додаткового налаштування.
Офлайн-посібник для воркшопу: проведи заняття з одного Raspberry Pi
Налаштування локального Jupyter
Запусти сервер Jupyter, який приймає лише цей сайт, із токеном на твій вибір, а потім введи його URL і токен у розділі «Власний сервер» вище:
jupyter server --ServerApp.token='choose-a-long-token' \
--ServerApp.allow_origin='https://doqumentation.org' \
--ServerApp.disable_check_xsrf=TrueНалаштування Docker
Контейнер Docker під час запуску генерує випадковий токен Jupyter. Виконання коду через сайт (порт 8080) працює автоматично — токен не потрібен. Токен потрібен лише для прямого доступу до JupyterLab на порту 8888.
Щоб отримати токен із журналів контейнера:
podman logs doq | grep "Jupyter 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:jupyterВіддалений сервер
Для віддалених серверів переконайся, що CORS налаштовано на дозвіл підключень із цього сайту. Додай наступне до свого jupyter_server_config.py:
c.ServerApp.allow_origin = 'https://doqumentation.org'
c.ServerApp.allow_credentials = True