ข้ามไปยังเนื้อหาหลัก

ใช้ Qiskit Code Assistant ใน JupyterLab

เรียนรู้วิธีติดตั้ง ใช้งาน กำหนดค่า และถอนการติดตั้ง extension Qiskit Code Assistant อย่างเป็นทางการใน JupyterLab

ติดตั้ง JupyterLab extension

ในการติดตั้ง JupyterLab extension ให้รันคำสั่งต่อไปนี้จาก terminal:

pip install qiskit-code-assistant-jupyterlab

หลังจากติดตั้ง extension แล้ว ให้เริ่ม JupyterLab:

jupyter lab

extension จะโหลดโดยอัตโนมัติและแสดงที่ด้านล่างของหน้าต่าง JupyterLab ดู เอกสาร JupyterLab สำหรับความช่วยเหลือในการทำงานกับ JupyterLab

กำหนดค่าการตั้งค่า extension

แนะนำให้แก้ไขการตั้งค่า JupyterLab ต่อไปนี้โดยไปที่ Settings -> Settings Editor:

  • คลิก Inline Completer ค้นหา "Show widget" และเลือก Always ซึ่งหมายความว่า widget inline completer จะแสดงเสมอ เพื่อให้คุณสามารถวนดูและเลือก completion item ได้

  • คลิก Code Completion และเพิ่มค่าสำหรับ "Default timeout for a provider." เป็น 10000 หรือ 10 วินาที ค่าเริ่มต้นคือ 1 วินาที แต่ Qiskit Code Assistant API อาจใช้เวลานานกว่านี้ในการค้นหาคำแนะนำ การตั้งค่านี้ใช้ได้เฉพาะกับ context menu มาตรฐานที่เรียกใช้ด้วย Tab inline completer มีค่าเริ่มต้น 10 วินาที

การตั้งค่าอื่น ๆ ที่คุณอาจต้องการเปลี่ยน:

  • ปุ่มลัดสามารถเปลี่ยนได้จาก Settings > Settings Editor > Keyboard Shortcuts

  • คุณสามารถเปลี่ยน IBM Quantum API token ที่ใช้ใน JupyterLab command palette ได้ โดยพิมพ์ Alt + Shift + C ค้นหา qiskit เลือกคำสั่ง Qiskit Code Assistant: Set IBM Quantum API token และวาง key ของคุณ

  • [ขั้นสูง] เพื่อเปลี่ยน instance ของ Qiskit Code Assistant service ที่ extension ควรใช้ ให้แก้ไขการตั้งค่า serviceUrl ของ Qiskit Code Assistant

  • [ขั้นสูง] ปุ่มลัดสามารถเปลี่ยนได้โดยค้นหา completer ในการตั้งค่า Keyboard Shortcuts (Settings -> Settings Editor -> Keyboard Shortcuts) และเพิ่มปุ่มลัดใหม่สำหรับคำสั่งที่เกี่ยวข้อง

เริ่มต้นใช้งาน Qiskit Code Assistant extension สำหรับ JupyterLab

การยืนยันตัวตนและการตั้งค่า

หลังจากติดตั้ง extension แล้ว ระบบจะพยายามยืนยันตัวตนของคุณ โดยค่าเริ่มต้น แพ็กเกจจะพยายามยืนยันตัวตนกับ IBM Quantum services ด้วย API key ที่กำหนด และใช้ key ของคุณจาก environment variable QISKIT_IBM_TOKEN หรือจากไฟล์ ~/.qiskit/qiskit-ibm.json (ภายใต้ section default-ibm-quantum) หากต้องการความช่วยเหลือในการกำหนดค่าบัญชี ให้ทำตามคำแนะนำใน ตั้งค่าบัญชี IBM Cloud

โดยค่าเริ่มต้น extension จะใช้โมเดล mistral-small-3.2-24b-qiskit ซึ่งแสดงอยู่ใน Model Picker ที่ status bar ด้านล่าง

ครั้งแรกที่คุณใช้โมเดล mistral-small-3.2-24b-qiskit หน้าต่างจะเปิดขึ้นพร้อมแสดงรายการข้อจำกัดสำคัญที่ควรทราบเมื่อใช้โมเดล คลิก Accept เพื่อเปิดใช้งานโมเดลสำหรับการสร้างโค้ด

สร้างโค้ด

ขณะที่คุณพัฒนาโค้ดด้วย Qiskit คุณสามารถขอให้ Qiskit Code Assistant ช่วยได้ โดยทั่วไปผู้ช่วยจะแนะนำโค้ดที่ดีกว่าเพื่อตอบสนองต่อ Python comment หรือ docstring แต่คุณสามารถใช้ผู้ช่วยได้ทุกที่ในไฟล์ของคุณ

เพื่อรับคำแนะนำโค้ด ให้พิมพ์ prompt จากนั้นพิมพ์ Alt + . หรือ Alt + \ มี prompt สองประเภทที่คุณสามารถใช้:

  • ป้อนโค้ดบางส่วนและรับคำแนะนำเพื่อเติมโค้ดให้สมบูรณ์ ตัวอย่าง:
    from qiskit.circuit import QuantumCircuit
    from qiskit.transpiler import generate_preset_pass_manager
    from qiskit_ibm_runtime import SamplerV2 as Sampler
    from qiskit_ibm_runtime.fake_provider import FakeManilaV2

    # Bell Circuit
    qc = QuantumCircuit(2)
    qc.h(0)
    qc.cx(0, 1)

    qc.mea # Type Ctrl + . for a code suggestion.
  • พิมพ์เครื่องหมาย (#) แล้วพิมพ์ prompt ของคุณ ตัวอย่าง: # Give me a random circuit of 5 qubits and a depth of 4.

ทำงานกับคำแนะนำโค้ด

ใช้สิ่งต่อไปนี้เพื่อยอมรับ ปฏิเสธ และวนดูคำแนะนำ:

  • Alt + [ และ Alt + ] ใช้เพื่อวนดูรายการคำแนะนำ (หากมีมากกว่าหนึ่งรายการ)
  • Alt + Tab หรือ Alt + END ยอมรับโค้ดที่แนะนำและแทรกที่ตำแหน่งเคอร์เซอร์ปัจจุบัน

นอกจากนี้ หลังจากผู้ช่วยทำงานเสร็จ คุณสามารถใช้ปุ่มบน widget เพื่อวนดูหรือยอมรับคำแนะนำ:

แสดง popup pane พร้อมปุ่ม

หมายเหตุ

บางครั้งบริการอาจใช้เวลาไม่กี่วินาทีในการคืนคำแนะนำ คุณสามารถดูได้ว่าบริการกำลังทำงานอยู่หรือไม่โดยตรวจสอบ status bar

JupyterLab ยังมี context menu คำแนะนำแบบดั้งเดิม ใช้ปุ่ม Tab เพื่อเรียกใช้และแสดง context menu

context menu มีคำแนะนำจาก JupyterLab รวมถึงคำแนะนำจาก Qiskit Code Assistant นอกจากนี้ context menu ยังทำความสะอาดและตัดทอนคำแนะนำ ทำให้มีประโยชน์น้อยลงในการตรวจสอบคำแนะนำโค้ดก่อนแทรก

ถอนการติดตั้ง JupyterLab extension

ในการลบ Qiskit Code Assistant extension ออกจาก JupyterLab ให้รัน:

pip uninstall qiskit_code_assistant_jupyterlab

การแก้ไขปัญหา

หากคุณเห็น frontend extension แต่ไม่ทำงาน ให้ตรวจสอบว่า server extension เปิดใช้งานอยู่:

jupyter server extension list

หาก server extension ติดตั้งและเปิดใช้งานแล้ว แต่คุณไม่เห็น frontend extension ให้ตรวจสอบว่า frontend extension ติดตั้งแล้ว:

jupyter labextension list

มีส่วนร่วมกับ JupyterLab extension

โค้ดสำหรับ extension นี้เปิดเผยสาธารณะและเป็น open source ดูได้ที่ GitHub

ขั้นตอนถัดไป

คำแนะนำ

ดูตัวอย่างการใช้ Qiskit Code Assistant สำหรับ Circuit การกำหนดค่า error suppression และ การ transpile ด้วย pass managers

Source: IBM Quantum docs — updated 27 เม.ย. 2569
English version on doQumentation — updated 7 พ.ค. 2569
This translation based on the English version of 11 มี.ค. 2569