주 콘텐츠로 건너뛰기

JupyterLab에서 Qiskit Code Assistant 사용하기

JupyterLab에서 공식 Qiskit Code Assistant 확장 프로그램을 설치, 사용, 구성 및 제거하는 방법을 알아봅니다.

JupyterLab 확장 프로그램 설치

JupyterLab 확장 프로그램을 설치하려면 터미널에서 다음 명령어를 실행하세요:

pip install qiskit-code-assistant-jupyterlab

확장 프로그램을 설치한 후 JupyterLab을 시작합니다:

jupyter lab

확장 프로그램이 자동으로 로드되며 JupyterLab 창 하단에 표시됩니다. JupyterLab 사용에 대한 도움말은 JupyterLab 문서를 참조하세요.

확장 프로그램 설정 구성

Settings -> Settings Editor로 이동하여 다음 JupyterLab 설정을 편집하는 것을 권장합니다:

  • Inline Completer를 클릭하고 "Show widget"을 찾아 Always를 선택하세요. 이렇게 하면 인라인 완성 위젯이 항상 표시되어 완성 항목을 순환하고 선택할 수 있습니다.

  • Code Completion을 클릭하고 "Default timeout for a provider." 값을 10000 또는 10초로 늘리세요. 기본값은 1초이지만, Qiskit Code Assistant API가 제안을 찾는 데 이보다 더 오래 걸릴 수 있습니다. 이 설정은 Tab 키로 호출하는 표준 컨텍스트 메뉴에만 적용됩니다. 인라인 완성 기능의 기본값은 10초입니다.

변경할 수 있는 기타 설정:

  • 키보드 단축키는 Settings > Settings Editor > Keyboard Shortcuts에서 변경할 수 있습니다.

  • JupyterLab 명령 팔레트에서 사용할 IBM Quantum API 토큰을 변경할 수 있습니다. 이를 위해 Alt + Shift + C를 입력하고, qiskit을 검색한 후 Qiskit Code Assistant: Set IBM Quantum API token 명령을 선택하고 키를 붙여넣으세요.

  • [고급] 확장 프로그램이 사용해야 하는 Qiskit Code Assistant 서비스 인스턴스를 변경하려면 Qiskit Code Assistant serviceUrl 설정을 편집하세요.

  • [고급] 키보드 단축키는 Keyboard Shortcuts 설정(Settings -> Settings Editor -> Keyboard Shortcuts)에서 completer를 검색하고 관련 명령에 새 단축키를 추가하여 변경할 수 있습니다.

JupyterLab용 Qiskit Code Assistant 확장 프로그램 시작하기

인증 및 설정

확장 프로그램을 설치하면 인증을 시도합니다. 기본적으로 패키지는 정의된 API 키로 IBM Quantum 서비스에 인증을 시도하며, QISKIT_IBM_TOKEN 환경 변수 또는 ~/.qiskit/qiskit-ibm.json 파일(default-ibm-quantum 섹션 아래)에서 키를 사용합니다. 계정 구성에 도움이 필요한 경우 IBM Cloud 계정 설정의 안내를 따르세요.

기본적으로 확장 프로그램은 하단 상태 표시줄의 Model Picker에 나열된 mistral-small-3.2-24b-qiskit 모델을 사용합니다.

mistral-small-3.2-24b-qiskit 모델을 처음 사용할 때 모델 사용 시 알아야 할 주요 제한 사항이 나열된 창이 열립니다. Accept를 클릭하여 코드 생성에 모델을 활성화하세요.

코드 생성

Qiskit을 사용하여 코드를 개발하는 동안 Qiskit Code Assistant에 도움을 요청할 수 있습니다. 일반적으로 어시스턴트는 Python 주석이나 docstring에 응답하여 더 나은 코드를 제안하지만, 파일의 어느 곳에서나 어시스턴트를 사용할 수 있습니다.

코드 제안을 받으려면 프롬프트를 입력한 후 Alt + . 또는 Alt + \를 누르세요. 사용할 수 있는 프롬프트 유형은 두 가지입니다:

  • 부분 코드를 입력하고 코드를 완성하기 위한 제안을 받으세요. 예시:
    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.
  • 파운드(#) 기호를 입력한 후 프롬프트를 입력하세요. 예시: # Give me a random circuit of 5 qubits and a depth of 4.

코드 제안 활용

다음을 사용하여 제안을 수락, 거부 및 순환할 수 있습니다:

  • Alt + [Alt + ]를 사용하여 제안 목록을 순환할 수 있습니다 (제안이 두 개 이상인 경우).
  • Alt + Tab 또는 Alt + END를 누르면 제안된 코드를 수락하고 현재 커서 위치에 삽입합니다.

또한 어시스턴트가 실행된 후 위젯의 버튼을 사용하여 제안을 순환하거나 수락할 수 있습니다:

버튼이 있는 팝업 창이 표시됩니다.

참고

서비스가 제안을 반환하는 데 몇 초가 걸릴 수 있습니다. 상태 표시줄을 확인하여 서비스가 작동 중인지 확인할 수 있습니다.

JupyterLab에는 전통적인 제안 컨텍스트 메뉴도 포함되어 있습니다. Tab 키를 사용하여 컨텍스트 메뉴를 실행하고 표시하세요.

컨텍스트 메뉴에는 Qiskit Code Assistant가 제안한 항목 외에도 JupyterLab의 제안도 포함됩니다. 컨텍스트 메뉴는 제안을 정리하고 다듬기 때문에 삽입 전 코드 제안을 검토하는 데 덜 유용할 수 있습니다.

JupyterLab 확장 프로그램 제거

JupyterLab에서 Qiskit Code Assistant 확장 프로그램을 제거하려면 다음을 실행하세요:

pip uninstall qiskit_code_assistant_jupyterlab

문제 해결

프론트엔드 확장 프로그램이 표시되지만 작동하지 않는 경우 서버 확장 프로그램이 활성화되어 있는지 확인하세요:

jupyter server extension list

서버 확장 프로그램이 설치되어 활성화되어 있지만 프론트엔드 확장 프로그램이 표시되지 않는 경우 프론트엔드 확장 프로그램이 설치되어 있는지 확인하세요:

jupyter labextension list

JupyterLab 확장 프로그램에 기여하기

이 확장 프로그램의 코드는 공개적으로 사용 가능하며 오픈 소스입니다. GitHub에서 확인하세요.

다음 단계

권장 사항

Circuit, 오류 억제 구성패스 매니저로 Transpiler 사용에 Qiskit Code Assistant를 사용하는 예시를 확인하세요. Circuit 라이브러리도 참조하세요.