Usa Qiskit Code Assistant en JupyterLab
Aprende a instalar, usar, configurar y desinstalar la extensión oficial de Qiskit Code Assistant en JupyterLab.
Instala la extensión de JupyterLab
Para instalar la extensión de JupyterLab, ejecuta el siguiente comando desde una terminal:
pip install qiskit-code-assistant-jupyterlab
Después de instalar la extensión, inicia JupyterLab:
jupyter lab
La extensión se carga automáticamente y aparece en la parte inferior de la ventana de JupyterLab. Consulta la documentación de JupyterLab para obtener ayuda sobre cómo trabajar con JupyterLab.
Configura los ajustes de la extensión
Se recomienda que edites los siguientes ajustes de JupyterLab yendo a Settings -> Settings Editor:
-
Haz clic en Inline Completer, busca "Show widget" y elige Always. Esto garantiza que el widget del completador en línea siempre esté visible para que puedas recorrer y seleccionar un elemento de completado.
-
Haz clic en Code Completion y aumenta el valor de "Default timeout for a provider." a
10000o 10 segundos. El valor predeterminado es 1 segundo, pero la API de Qiskit Code Assistant puede tardar más en encontrar una sugerencia. Este ajuste solo aplica al menú contextual estándar que se invoca conTab. El completador en línea tiene un valor predeterminado de 10 segundos.
Otros ajustes que podrías querer cambiar:
-
Los atajos de teclado se pueden cambiar desde Settings > Settings Editor > Keyboard Shortcuts.
-
Puedes cambiar el token de la API de IBM Quantum desde la paleta de comandos de JupyterLab. Para hacerlo, escribe
Alt+Shift+C, buscaqiskit, selecciona el comando Qiskit Code Assistant: Set IBM Quantum API token y pega tu clave. -
[Avanzado] Para cambiar la instancia del servicio Qiskit Code Assistant que debe usar la extensión, edita el ajuste
serviceUrlde Qiskit Code Assistant. -
[Avanzado] Los atajos de teclado se pueden cambiar buscando
completeren los ajustes de Keyboard Shortcuts (Settings -> Settings Editor -> Keyboard Shortcuts) y añadiendo nuevos atajos para los comandos correspondientes.
Empieza a usar la extensión de Qiskit Code Assistant para JupyterLab
Autenticación y configuración
Después de instalar la extensión, esta intenta autenticarte. Por defecto, el paquete intenta autenticarse con los servicios de IBM Quantum usando la clave de API definida, y toma tu clave de la variable de entorno QISKIT_IBM_TOKEN o del archivo ~/.qiskit/qiskit-ibm.json (bajo la sección default-ibm-quantum). Si necesitas ayuda para configurar tu cuenta, sigue las instrucciones en Configura tu cuenta de IBM Cloud.
Por defecto, la extensión usa el modelo mistral-small-3.2-24b-qiskit, que aparece en el selector de modelos en la barra de estado inferior.
La primera vez que uses el modelo mistral-small-3.2-24b-qiskit, se abrirá una ventana con algunas restricciones importantes que debes tener en cuenta al usar el modelo. Haz clic en Accept para habilitar el modelo para la generación de código.
Genera código
Mientras desarrollas tu código con Qiskit, puedes pedirle ayuda a Qiskit Code Assistant. En general, el asistente sugiere mejor código en respuesta a comentarios de Python o docstrings, pero puedes usar el asistente en cualquier parte de tu archivo.
Para obtener una sugerencia de código, escribe un prompt y luego pulsa Alt + . o Alt + \. Hay dos tipos de prompts que puedes usar:
- Escribe código parcial y obtén una sugerencia para completarlo. Ejemplo:
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. - Escribe el signo de almohadilla (#) y luego tu prompt. Ejemplo:
# Give me a random circuit of 5 qubits and a depth of 4.
Trabaja con las sugerencias de código
Usa las siguientes opciones para aceptar, rechazar y recorrer las sugerencias:
Alt+[yAlt+]permiten recorrer la lista de sugerencias (si hay más de una).Alt+TaboAlt+ENDacepta el código sugerido y lo inserta en la posición actual del cursor.
Además, una vez que el asistente ha respondido, puedes usar los botones del widget para recorrer o aceptar la sugerencia:
El servicio puede tardar unos segundos en devolver una sugerencia. Puedes ver cuándo el servicio está trabajando revisando la barra de estado.
JupyterLab también incluye un menú contextual de sugerencias tradicional. Usa la tecla Tab para ejecutarlo y mostrarlo.
El menú contextual incluye sugerencias de JupyterLab además de las sugerencias de Qiskit Code Assistant. El menú contextual también sanea y recorta las sugerencias, lo que lo hace menos útil para revisar la sugerencia de código antes de insertarla.
Desinstala la extensión de JupyterLab
Para eliminar la extensión de Qiskit Code Assistant de JupyterLab, ejecuta:
pip uninstall qiskit_code_assistant_jupyterlab
Solución de problemas
Si ves la extensión de frontend pero no funciona, comprueba que la extensión de servidor esté habilitada:
jupyter server extension list
Si la extensión de servidor está instalada y habilitada, pero no ves la extensión de frontend, comprueba que la extensión de frontend esté instalada:
jupyter labextension list
Contribuye a la extensión de JupyterLab
El código de esta extensión está disponible públicamente y es de código abierto. Consúltalo en GitHub.
Próximos pasos
Consulta ejemplos para usar Qiskit Code Assistant con circuits, configurando la supresión de errores y transpilando con pass managers.