Qiskit Code Assistant in JupyterLab verwenden
Erfahre, wie du die offizielle Qiskit Code Assistant-Erweiterung in JupyterLab installierst, verwendest, konfigurierst und deinstallierst.
JupyterLab-Erweiterung installieren
Um die JupyterLab-Erweiterung zu installieren, führe den folgenden Befehl in einem Terminal aus:
pip install qiskit-code-assistant-jupyterlab
Nach der Installation der Erweiterung starte JupyterLab:
jupyter lab
Die Erweiterung wird automatisch geladen und in der Statusleiste am unteren Rand des JupyterLab-Fensters angezeigt. Weitere Hilfe zur Arbeit mit JupyterLab findest du in der JupyterLab-Dokumentation.
Erweiterungseinstellungen konfigurieren
Es wird empfohlen, die folgenden JupyterLab-Einstellungen über Settings -> Settings Editor anzupassen:
-
Klicke auf Inline Completer, suche „Show widget" und wähle Always. Dadurch wird das Inline-Completer-Widget immer angezeigt, sodass du durch die Vervollständigungsvorschläge blättern und einen auswählen kannst.
-
Klicke auf Code Completion und erhöhe den Wert für „Default timeout for a provider." auf
10000bzw. 10 Sekunden. Der Standardwert beträgt 1 Sekunde, aber die Qiskit Code Assistant-API benötigt möglicherweise länger, um einen Vorschlag zu finden. Diese Einstellung gilt nur für das Standard-Kontextmenü, das mitTabaufgerufen wird. Der Inline-Completer hat standardmäßig 10 Sekunden.
Weitere Einstellungen, die du möglicherweise ändern möchtest:
-
Tastaturkürzel können über Settings > Settings Editor > Keyboard Shortcuts geändert werden.
-
Du kannst das IBM Quantum API-Token, das in der JupyterLab-Befehlspalette verwendet wird, ändern. Drücke dazu
Alt+Shift+C, suche nachqiskit, wähle den Befehl Qiskit Code Assistant: Set IBM Quantum API token aus und füge deinen Schlüssel ein. -
[Erweitert] Um die Instanz des Qiskit Code Assistant-Dienstes zu ändern, die die Erweiterung verwenden soll, bearbeite die Einstellung
serviceUrldes Qiskit Code Assistant. -
[Erweitert] Tastaturkürzel können geändert werden, indem du in den Tastaturkürzel-Einstellungen (Settings -> Settings Editor -> Keyboard Shortcuts) nach
completersuchst und neue Kürzel für die entsprechenden Befehle hinzufügst.
Erste Schritte mit der Qiskit Code Assistant-Erweiterung für JupyterLab
Authentifizierung und Einrichtung
Nach der Installation der Erweiterung versucht sie, dich zu authentifizieren. Standardmäßig versucht das Paket, sich mit dem definierten API-Schlüssel bei den IBM Quantum-Diensten zu authentifizieren, und verwendet deinen Schlüssel aus der Umgebungsvariable QISKIT_IBM_TOKEN oder aus der Datei ~/.qiskit/qiskit-ibm.json (im Abschnitt default-ibm-quantum). Wenn du Hilfe bei der Konfiguration deines Kontos benötigst, folge den Anweisungen unter IBM Cloud-Konto einrichten.
Standardmäßig verwendet die Erweiterung das Modell mistral-small-3.2-24b-qiskit, das im Model Picker in der unteren Statusleiste aufgeführt ist.
Wenn du das Modell mistral-small-3.2-24b-qiskit zum ersten Mal verwendest, öffnet sich ein Fenster, das einige wesentliche Einschränkungen auflistet, die du bei der Nutzung des Modells beachten solltest. Klicke auf Accept, um das Modell für die Code-Generierung zu aktivieren.
Code generieren
Während du deinen Code mit Qiskit entwickelst, kannst du den Qiskit Code Assistant um Hilfe bitten. Im Allgemeinen schlägt der Assistent besseren Code als Antwort auf Python-Kommentare oder Docstrings vor, aber du kannst den Assistenten überall in deiner Datei verwenden.
Um einen Code-Vorschlag zu erhalten, gib eine Eingabeaufforderung ein und drücke dann Alt + . oder Alt + \. Es gibt zwei Arten von Eingabeaufforderungen:
- Gib unvollständigen Code ein und erhalte einen Vorschlag, den Code zu vervollständigen. Beispiel:
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. - Gib ein Rautezeichen (#) ein und schreibe dann deine Eingabeaufforderung. Beispiel:
# Give me a random circuit of 5 qubits and a depth of 4.
Mit Code-Vorschlägen arbeiten
Verwende Folgendes, um Vorschläge anzunehmen, abzulehnen und durchzublättern:
Alt+[undAlt+]können verwendet werden, um durch die Liste der Vorschläge zu blättern (wenn mehr als einer vorhanden ist).Alt+TaboderAlt+ENDnimmt den vorgeschlagenen Code an und fügt ihn an der aktuellen Cursorposition ein.
Nachdem der Assistent ausgeführt wurde, kannst du außerdem die Schaltflächen im Widget verwenden, um durch die Vorschläge zu blättern oder einen anzunehmen:
Der Dienst kann manchmal ein paar Sekunden benötigen, um einen Vorschlag zurückzugeben. Du kannst sehen, ob der Dienst arbeitet, indem du die Statusleiste überprüfst.
JupyterLab enthält außerdem ein herkömmliches Vorschlags-Kontextmenü. Verwende die Tab-Taste, um das Kontextmenü auszuführen und anzuzeigen.
Das Kontextmenü enthält Vorschläge von JupyterLab sowie Vorschläge des Qiskit Code Assistant. Das Kontextmenü bereinigt und kürzt die Vorschläge außerdem, was es weniger nützlich macht, um den Code-Vorschlag vor dem Einfügen zu überprüfen.
JupyterLab-Erweiterung deinstallieren
Um die Qiskit Code Assistant-Erweiterung aus JupyterLab zu entfernen, führe Folgendes aus:
pip uninstall qiskit_code_assistant_jupyterlab
Fehlerbehebung
Wenn du die Frontend-Erweiterung siehst, sie aber nicht funktioniert, überprüfe, ob die Server-Erweiterung aktiviert ist:
jupyter server extension list
Wenn die Server-Erweiterung installiert und aktiviert ist, du die Frontend-Erweiterung aber nicht siehst, überprüfe, ob die Frontend-Erweiterung installiert ist:
jupyter labextension list
Zur JupyterLab-Erweiterung beitragen
Der Code für diese Erweiterung ist öffentlich zugänglich und Open Source. Sieh ihn dir auf GitHub an.
Nächste Schritte
Sieh dir Beispiele für die Verwendung des Qiskit Code Assistant für Circuits, die Konfiguration der Fehlerunterdrückung und das Transpilieren mit Pass Managern an.