Použití Qiskit Code Assistant v JupyterLab
Naučíš se, jak nainstalovat, používat, konfigurovat a odinstalovat oficiální rozšíření Qiskit Code Assistant v JupyterLab.
Instalace rozšíření pro JupyterLab
Chceš-li nainstalovat rozšíření pro JupyterLab, spusť z terminálu následující příkaz:
pip install qiskit-code-assistant-jupyterlab
Po instalaci rozšíření spusť JupyterLab:
jupyter lab
Rozšíření se načte automaticky a zobrazí se ve spodní části okna JupyterLab. Potřebuješ-li pomoc s prací v JupyterLab, podívej se do dokumentace JupyterLab.
Konfigurace nastavení rozšíření
Doporučujeme upravit následující nastavení JupyterLab přes Settings -> Settings Editor:
-
Klikni na Inline Completer, najdi „Show widget" a vyber Always. Inline completer widget se tak bude vždy zobrazovat a ty budeš moci procházet návrhy a vybrat si z nich.
-
Klikni na Code Completion a zvyš hodnotu „Default timeout for a provider." na
10000, tedy 10 sekund. Výchozí hodnota je 1 sekunda, ale API Qiskit Code Assistant může potřebovat více času k nalezení návrhu. Toto nastavení platí pouze pro standardní kontextové menu vyvolané klávesouTab. Inline completer má výchozí limit 10 sekund.
Další nastavení, která možná budeš chtít změnit:
-
Klávesové zkratky lze změnit v Settings > Settings Editor > Keyboard Shortcuts.
-
IBM Quantum API token lze změnit v paletě příkazů JupyterLab. Stiskni
Alt+Shift+C, vyhledejqiskit, vyber příkaz Qiskit Code Assistant: Set IBM Quantum API token a vlož svůj klíč. -
[Pokročilé] Chceš-li změnit instanci služby Qiskit Code Assistant, kterou má rozšíření používat, uprav nastavení
serviceUrlpro Qiskit Code Assistant. -
[Pokročilé] Klávesové zkratky lze změnit vyhledáním
completerv nastavení klávesových zkratek (Settings -> Settings Editor -> Keyboard Shortcuts) a přidáním nových zkratek pro příslušné příkazy.
Začínáme s rozšířením Qiskit Code Assistant pro JupyterLab
Ověření identity a nastavení
Po instalaci se rozšíření pokusí ověřit tvoji identitu. Ve výchozím nastavení se balíček pokusí ověřit přístup ke službám IBM Quantum pomocí definovaného API klíče – použije klíč z proměnné prostředí QISKIT_IBM_TOKEN nebo ze souboru ~/.qiskit/qiskit-ibm.json (v sekci default-ibm-quantum). Potřebuješ-li pomoc s konfigurací účtu, postupuj podle pokynů v Nastavení účtu IBM Cloud.
Ve výchozím nastavení rozšíření používá model mistral-small-3.2-24b-qiskit, který je uveden v Model Pickeru ve spodním stavovém řádku.
Při prvním použití modelu mistral-small-3.2-24b-qiskit se otevře okno se seznamem hlavních omezení, která bys měl/a mít při jeho používání na paměti. Klikni na Accept a povolíš tím model pro generování kódu.
Generování kódu
Při vývoji kódu pomocí Qiskit můžeš požádat Qiskit Code Assistant o pomoc. Obecně platí, že asistent navrhuje lepší kód jako odpověď na komentáře nebo docstringy v Pythonu, ale můžeš ho použít kdekoliv v souboru.
Chceš-li získat návrh kódu, zadej prompt a stiskni Alt + . nebo Alt + \. Existují dva typy promptů:
- Zadej část kódu a získej návrh na jeho dokončení. Příklad:
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. - Zadej znak mřížky (#) a za ním svůj prompt. Příklad:
# Give me a random circuit of 5 qubits and a depth of 4.
Práce s návrhy kódu
Pro přijímání, odmítání a procházení návrhů použij:
Alt+[aAlt+]slouží k procházení seznamu návrhů (pokud je jich více než jeden).Alt+TabneboAlt+ENDpřijme navrhovaný kód a vloží ho na aktuální pozici kurzoru.
Po spuštění asistenta můžeš také použít tlačítka na widgetu k procházení nebo přijetí návrhu:
Služba někdy potřebuje několik sekund na vrácení návrhu. To, zda služba pracuje, zjistíš pohledem na stavový řádek.
JupyterLab také obsahuje tradiční kontextové menu s návrhy. Kontextové menu spustíš a zobrazíš klávesou Tab.
Kontextové menu obsahuje návrhy z JupyterLab i návrhy od Qiskit Code Assistant. Kontextové menu také návrhy upravuje a zkracuje, což ho dělá méně vhodným pro prohlížení návrhu kódu před jeho vložením.
Odinstalace rozšíření pro JupyterLab
Chceš-li odebrat rozšíření Qiskit Code Assistant z JupyterLab, spusť:
pip uninstall qiskit_code_assistant_jupyterlab
Řešení problémů
Pokud vidíš frontendové rozšíření, ale nefunguje, zkontroluj, zda je serverové rozšíření povoleno:
jupyter server extension list
Pokud je serverové rozšíření nainstalované a povolené, ale frontendové rozšíření nevidíš, zkontroluj, zda je frontendové rozšíření nainstalováno:
jupyter labextension list
Přispění do rozšíření pro JupyterLab
Kód tohoto rozšíření je veřejně dostupný a open source. Najdeš ho na GitHubu.
Další kroky
Podívej se na příklady použití Qiskit Code Assistant pro Circuit, konfiguraci potlačení chyb a transpilaci s pass managery.