⚙️ การตั้งค่า doQumentation
ตั้งค่า Jupyter server ที่ใช้สำหรับรัน Python code ในบทเรียน
แบ็กเอนด์เซิร์ฟเวอร์
เลือก backend ที่จะใช้สำหรับการรันโค้ด:
โหมดการรัน
เลือกสิ่งที่เกิดขึ้นเมื่อคลิกรันในหน้า tutorial การดำเนินการนี้ใช้กับโค้ดฝังตัวในไซต์นี้เท่านั้น — การเปิด notebook ใน JupyterLab ใช้ Qiskit runtime มาตรฐาน
บัญชี IBM Quantum
คำแนะนำการตั้งค่าและหมายเหตุด้านความปลอดภัย
save_account() ตามที่อธิบายด้านล่างแทนป้อน IBM Quantum credentials ครั้งเดียวที่นี่ จะถูกฉีดเข้าอัตโนมัติผ่าน save_account() เมื่อ kernel เริ่มต้น ไม่ต้องป้อนในทุก notebook ใช้กับการรันโค้ดแบบฝังบนเว็บไซต์เท่านั้น — การเปิด notebook ใน JupyterLab ต้องเรียก save_account() ด้วยตนเอง
- ลงทะเบียน ที่ quantum.cloud.ibm.com/registration — ไม่ต้องใช้บัตรเครดิตสำหรับ 30 วันแรก
- เข้าสู่ระบบ ที่ อินสแตนซ์
- อินสแตนซ์ — สร้างอินสแตนซ์ Open Plan ฟรีที่ หน้าแรก หากยังไม่มี
- API Token — คลิกที่ไอคอนโปรไฟล์ (ขวาบน) แล้ว "API token" คัดลอกคีย์
สำหรับขั้นตอนโดยละเอียด ดูคู่มือ ตั้งค่าการยืนยันตัวตน ของ IBM (ขั้นตอนที่ 2)
ทางเลือก: รัน save_account() ด้วยตนเองในเซลล์ notebook
หากไม่ต้องการบันทึก credentials ในเบราว์เซอร์นี้ ให้วางโค้ดในเซลล์โค้ดใดก็ได้แล้วรัน Credentials จะถูกจัดเก็บในหน่วยความจำชั่วคราวของ Binder kernel และหายไปเมื่อสิ้นสุดเซสชัน
from qiskit_ibm_runtime import QiskitRuntimeService
QiskitRuntimeService.save_account(
token="YOUR_API_TOKEN",
instance="YOUR_CRN",
overwrite=True
)การตั้งค่าการแสดงผล
ขนาดตัวอักษรโค้ด
from qiskit import QuantumCircuitผลลัพธ์ที่คำนวณล่วงหน้า
แต่ละหน้า notebook แสดงผลลัพธ์ที่คำนวณล่วงหน้า (รูปภาพ ตาราง ข้อความ) จากการรันต้นฉบับของ IBM เมื่อคุณคลิก Run เพื่อรันโค้ดสด จะแสดงทั้งผลลัพธ์ต้นฉบับและผลลัพธ์สดใหม่ของคุณ ปิดสวิตช์นี้เพื่อซ่อนผลลัพธ์ต้นฉบับระหว่างการรันสด และแสดงเฉพาะผลลัพธ์ของคุณ
คำเตือน Python
ค่าเริ่มต้นจะระงับคำเตือน Python (การแจ้งเตือน deprecation คำเตือน runtime) เพื่อผลลัพธ์ notebook ที่สะอาดขึ้น ปิดใช้งานเพื่อดูคำเตือนทั้งหมด — มีประโยชน์สำหรับการดีบั๊กหรือเรียนรู้เกี่ยวกับการเปลี่ยนแปลง API
จัดการข้อมูลของคุณ
ข้อมูลทั้งหมดอยู่ในเบราว์เซอร์ของคุณ บน doqumentation.org ความก้าวหน้า บุ๊กมาร์ก และการตั้งค่าของคุณจะถูกเก็บไว้ใน localStorage และในคุกกี้ขนาดเล็กที่ใช้แชร์ข้อมูลเหล่านี้ระหว่างเว็บไซต์แต่ละภาษา คุกกี้เหล่านั้นจะถูกส่งไปยังเว็บโฮสต์แบบสถิตพร้อมกับทุกคำขอหน้าเว็บ และไม่เคยถูกส่งไปยังเซิร์ฟเวอร์ของ doQumentation IBM Quantum credentials ของคุณไม่เคยถูกใส่ในคุกกี้ แต่จะอยู่ใน localStorage ของเว็บไซต์ภาษาที่คุณกรอกไว้ หากล้างข้อมูลเบราว์เซอร์ หรือใช้เบราว์เซอร์/อุปกรณ์อื่น ก็จะเริ่มต้นใหม่ทั้งหมด
ความก้าวหน้าการเรียนรู้
หน้าที่เข้าชมแล้วจะแสดง ✓ ในแถบด้านข้าง หน้า notebook จะแสดง </>: สีเทาจนกว่าจะเข้าชม สีน้ำเงินเมื่อเข้าชมแล้ว และสีเขียวเมื่อคุณรันโค้ดบนหน้านั้นแล้ว
ยังไม่มีความก้าวหน้าที่ติดตาม เข้าชมบทเรียนและคู่มือเพื่อเริ่มติดตาม
บุ๊กมาร์ก
ยังไม่มีบุ๊กมาร์ก ใช้ปุ่มบุ๊กมาร์กในหน้าใดก็ได้เพื่อบันทึกที่นี่
การแสดงผลและ UI
เซสชันและข้อมูลประจำตัว
รีเซ็ตทุกอย่าง
ลบข้อมูลที่บันทึกทั้งหมด รวมถึงความก้าวหน้า บุ๊กมาร์ก การตั้งค่าการแสดงผล และข้อมูลประจำตัว
การตั้งค่าขั้นสูง
IBM Cloud Code Engine
IBM Cloud Code Engine ให้เคอร์เนล Jupyter แบบ serverless ที่รวดเร็วบนบัญชี IBM Cloud ของคุณ การเริ่มต้นใช้เวลาเป็นวินาทีแทนนาที ระดับฟรีครอบคลุม ~14 ชั่วโมง/เดือน
คำแนะนำการตั้งค่า
- สร้างบัญชี IBM Cloud ที่ cloud.ibm.com (มีระดับฟรี)
- ไปที่ IBM Cloud Code Engine console และสร้างโปรเจกต์ใหม่ในภูมิภาคที่ต้องการ
- สร้างแอปพลิเคชันใหม่ด้วย image
ghcr.io/janlahmann/doqumentation-codeengine:latestport การฟัง 8080
ขนาด: 1 vCPU / 2 GB สำหรับผู้ใช้คนเดียว 8 vCPU / 16 GB สำหรับ workshop (สูงสุด 80 ผู้ใช้) - ตั้งค่าตัวแปรสภาพแวดล้อม:
JUPYTER_TOKENเป็น token ที่ปลอดภัย (ขั้นต่ำ 32 ตัวอักษร) และCORS_ORIGINเป็นโดเมนของคุณ (เช่นhttps://doqumentation.org)
สำหรับรายละเอียดขนาด workshop ดูเอกสารการตั้งค่า workshop
แพ็กเกจ Binder
เมื่อรันบน GitHub Pages โค้ดจะรันผ่าน MyBinder สภาพแวดล้อม Binder มีแพ็กเกจ Qiskit หลักที่ติดตั้งไว้ล่วงหน้า:
qiskit[visualization], qiskit-aer,
qiskit-ibm-runtime, pylatexenc,
qiskit-ibm-catalog, qiskit-addon-utils, pyscfnotebook บางอันต้องการแพ็กเกจเพิ่มเติม ติดตั้งได้ตามต้องการโดยรันในเซลล์โค้ด:
!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 server ที่ยอมรับเฉพาะเว็บไซต์นี้ โดยใช้โทเคนที่คุณเลือก จากนั้นใส่ URL และโทเคนของเซิร์ฟเวอร์นั้นใต้ Custom Server ด้านบน:
jupyter server --ServerApp.token='choose-a-long-token' \
--ServerApp.allow_origin='https://doqumentation.org' \
--ServerApp.disable_check_xsrf=Trueการตั้งค่า Docker
Docker container สร้าง Jupyter token แบบสุ่มเมื่อเริ่มต้น การรันโค้ดผ่านเว็บไซต์ (พอร์ต 8080) ทำงานอัตโนมัติ — ไม่ต้องใช้ token Token ใช้เฉพาะสำหรับเข้าถึง JupyterLab โดยตรงที่พอร์ต 8888
เพื่อดึง token จาก container logs:
podman logs doq | grep "Jupyter token"เพื่อตั้งค่า 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:jupyterServer ระยะไกล
สำหรับ server ระยะไกล ตรวจสอบว่า CORS ถูกตั้งค่าเพื่ออนุญาตการเชื่อมต่อจากเว็บไซต์นี้ เพิ่มสิ่งต่อไปนี้ใน jupyter_server_config.py:
c.ServerApp.allow_origin = 'https://doqumentation.org'
c.ServerApp.allow_credentials = True