Přeskočit na hlavní obsah

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ávesou Tab. 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, vyhledej qiskit, 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í serviceUrl pro Qiskit Code Assistant.

  • [Pokročilé] Klávesové zkratky lze změnit vyhledáním completer v 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 + [ a Alt + ] slouží k procházení seznamu návrhů (pokud je jich více než jeden).
  • Alt + Tab nebo Alt + END př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:

Zobrazí se vyskakovací panel s tlačítky.

poznámka

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

Doporučení

Podívej se na příklady použití Qiskit Code Assistant pro Circuit, konfiguraci potlačení chyb a transpilaci s pass managery.