Pular para o conteúdo principal

Use o Qiskit Code Assistant no JupyterLab

Aprenda como instalar, usar, configurar e desinstalar a extensão oficial do Qiskit Code Assistant no JupyterLab.

Instalar a extensão do JupyterLab

Para instalar a extensão do JupyterLab, execute o seguinte comando em um terminal:

pip install qiskit-code-assistant-jupyterlab

Após instalar a extensão, inicie o JupyterLab:

jupyter lab

A extensão carrega automaticamente e aparece na parte inferior da janela do JupyterLab. Consulte a documentação do JupyterLab para obter ajuda ao trabalhar com o JupyterLab.

Configurar as definições da extensão

É recomendável que você edite as seguintes configurações do JupyterLab acessando Settings -> Settings Editor:

  • Clique em Inline Completer, encontre "Show widget" e escolha Always. Isso significa que o widget do completador inline sempre será exibido para que você possa navegar e selecionar um item de conclusão.

  • Clique em Code Completion e aumente o valor de "Default timeout for a provider." para 10000 ou 10 segundos. O valor padrão é 1 segundo, mas a API do Qiskit Code Assistant pode demorar mais do que isso para encontrar uma sugestão. Essa configuração se aplica apenas ao menu de contexto padrão, acionado com Tab. O completador inline tem um padrão de 10 segundos.

Outras configurações que você pode querer alterar:

  • Os atalhos de teclado podem ser alterados em Settings > Settings Editor > Keyboard Shortcuts.

  • Você pode alterar o token de API do IBM Quantum a ser usado na paleta de comandos do JupyterLab. Para isso, digite Alt + Shift + C, pesquise por qiskit, selecione o comando Qiskit Code Assistant: Set IBM Quantum API token e cole sua chave.

  • [Avançado] Para alterar a instância do serviço Qiskit Code Assistant que a extensão deve usar, edite a configuração serviceUrl do Qiskit Code Assistant.

  • [Avançado] Os atalhos de teclado podem ser alterados pesquisando completer nas configurações de Keyboard Shortcuts (Settings -> Settings Editor -> Keyboard Shortcuts) e adicionando novos atalhos para os comandos relevantes.

Começar a usar a extensão do Qiskit Code Assistant para JupyterLab

Autenticação e configuração

Após instalar a extensão, ela tenta autenticá-lo. Por padrão, o pacote tenta se autenticar nos serviços IBM Quantum com a chave de API definida, usando sua chave da variável de ambiente QISKIT_IBM_TOKEN ou do arquivo ~/.qiskit/qiskit-ibm.json (na seção default-ibm-quantum). Se precisar de ajuda para configurar sua conta, siga as instruções em Configurar sua conta IBM Cloud.

Por padrão, a extensão usa o modelo mistral-small-3.2-24b-qiskit, que aparece no Model Picker na barra de status inferior.

Na primeira vez que você usar o modelo mistral-small-3.2-24b-qiskit, uma janela se abre com uma lista de algumas restrições importantes que você deve conhecer ao usar o modelo. Clique em Accept para habilitar o modelo para geração de código.

Gerar código

Enquanto você desenvolve seu código usando o Qiskit, pode pedir ao Qiskit Code Assistant para ajudá-lo. Em geral, o assistente sugere código melhor em resposta a comentários Python ou docstrings, mas você pode usar o assistente em qualquer parte do seu arquivo.

Para obter uma sugestão de código, digite um prompt e depois pressione Alt + . ou Alt + \. Há dois tipos de prompts que você pode usar:

  • Digite código parcial e obtenha uma sugestão para completar o código. Exemplo:
    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.
  • Digite um sinal de cerquilha (#) e depois escreva seu prompt. Exemplo: # Give me a random circuit of 5 qubits and a depth of 4.

Trabalhar com sugestões de código

Use os seguintes atalhos para aceitar, rejeitar e navegar entre as sugestões:

  • Alt + [ e Alt + ] podem ser usados para navegar pela lista de sugestões (caso haja mais de uma).
  • Alt + Tab ou Alt + END aceita o código sugerido e o insere na posição atual do cursor.

Além disso, após o assistente ser executado, você pode usar os botões no widget para navegar ou aceitar a sugestão:

O painel popup com botões é exibido.

nota

O serviço pode levar alguns segundos para retornar uma sugestão. Você pode ver quando o serviço está funcionando verificando a barra de status.

O JupyterLab também inclui um menu de contexto de sugestão tradicional. Use a tecla Tab para executar e exibir o menu de contexto.

O menu de contexto inclui sugestões do JupyterLab além das sugestões feitas pelo Qiskit Code Assistant. O menu de contexto também higieniza e recorta as sugestões, tornando-o menos útil para revisar a sugestão de código antes de inseri-la.

Desinstalar a extensão do JupyterLab

Para remover a extensão do Qiskit Code Assistant do JupyterLab, execute:

pip uninstall qiskit_code_assistant_jupyterlab

Solução de problemas

Se você vir a extensão frontend mas ela não estiver funcionando, verifique se a extensão do servidor está habilitada:

jupyter server extension list

Se a extensão do servidor estiver instalada e habilitada, mas você não vir a extensão frontend, verifique se a extensão frontend está instalada:

jupyter labextension list

Contribuir para a extensão do JupyterLab

O código desta extensão está disponível publicamente e é de código aberto. Confira no GitHub.

Próximos passos

Recomendações

Veja exemplos de uso do Qiskit Code Assistant para circuits, configuração de supressão de erros e transpilação com pass managers.