Skip to main content
IBM Quantum Platform

키스킷 코드 어시스턴트

Qiskit Code Assistant LLM은 Qiskit을 새로 도입하는 사용자들이 양자 컴퓨팅을 더 쉽게 접할 수 있도록 하고, 기존 사용자들의 코딩 경험을 개선하는 것을 목표로 합니다. 이 모델은 Qiskit SDK 의 수백만 개 텍스트 토큰, 수년간 축적된 Qiskit 코드 예제, 그리고 IBM Quantum® 의 특징들을 활용하여 학습되었습니다. Qiskit Code Assistant IBM ( Granite ) 및 기타 오픈소스 모델을 기반으로 LLM이 생성한 제안을 제공함으로써, IBM® 의 최신 기능을 반영하여 귀사의 양자 개발 워크플로우를 지원할 수 있습니다.

참고

Qiskit Code Assistant 의 기반이 되는 대규모 언어 모델(LLM)

Qiskit Code Assistant 는 코드 제안을 제공하기 위해 대규모 언어 모델(LLM)을 사용합니다. 이 경우, Qiskit Code Assistant 은 현재 Mistral-Small-3.2-24B-Qiskit 모델을 기반으로 구축된 모델을 사용하고 mistral-small-3.2-24b-qiskit있습니다. 이 mistral-small-3.2-24b-qiskit 모델은 확장된 사전 훈련과 고품질 Qiskit 데이터에 대한 미세 조정을 통해 Qiskit용 모델의 코드 Mistral-Small-3.2-24B-Instruct-2506 생성 능력을 향상시킵니다. 또한 Python 커밋 및 채팅을 활용합니다. Mistral AI 모델 제품군에 대한 자세한 내용은 Mistral AI 문서를 참조하십시오. 모델에 대한 자세한 내용은 다음을 참조하십시오 : .*-qiskitQiskit Code Assistant : 양자 컴퓨팅 코드 생성을 위한 대규모 언어 모델(LLM) 훈련.

키스킷에 특화된 LLM은 오픈소스 모델로도 제공됩니다. 사용 가능한 모든 모델 확인 https://huggingface.co/Qiskit.


Qiskit HumanEval 및 Qiskit HumanEval 하드 벤치마크

Qiskit 퀀텀 어드보케이트 및 전문가들과 협력하여 Qiskit 퀀텀 하이브리드 HumanEval (QHE) 및 Qiskit HumanEval 퀀텀 하이브리드 하드(QHE Hard)라는 실행 기반 벤치마크를 개발하고, 이를 mistral-small-3.2-24b-qiskit 다양한 모델에 적용하여 테스트했습니다. 이 벤치마크는 HumanEval과 유사하며, 공식 Qiskit 라이브러리를 기반으로 한 여러 가지 까다로운 코드 문제를 해결해야 합니다.

벤치마크는 약 150개의 테스트로 구성되며, 각 테스트는 함수 정의와 모델이 해결해야 할 작업을 상세히 설명하는 문서 문자열(docstring)로 이루어집니다. 각 예제에는 생성된 솔루션의 정확성을 평가하기 위한 참조 표준 솔루션과 단위 테스트도 포함됩니다. 시험에는 세 가지 난이도 수준이 있습니다: 기초, 중급, 고급. Qiskit HumanEval Hard 벤치마크는 Qiskit HumanEval One의 변형이지만, 코드 임포트 관련 정보를 제거하므로 LLM이 올바른 메서드 또는 클래스 임포트를 파악해야 합니다. 우리의 테스트와 초기 결과에 따르면, 이러한 변경으로 인해 데이터셋이 대규모 언어 모델(LLM)에 훨씬 더 어려운 과제가 되었습니다.

Qiskit HumanEval 및 Qiskit HumanEval Hard용 데이터셋은 다음 웹사이트에서 이용 가능합니다: Qiskit HumanEvalQiskit HumanEval. 이 벤치마크 개발에 기여하려면 GitHub 저장소에서 참여하실 수 있습니다.


Qiskit Code Assistant 설치

로컬 컴퓨터에 Qiskit Code Assistant 의 모든 모델을 설치, 구성 및 사용하는 방법을 알아보세요.

  • Hugging Face 웹사이트에서 ‘ Qiskit Code Assistant ’ 관련 모델을 다운로드하려면 다음 단계를 따르세요:

    1. Hugging Face 에서 원하는 Qiskit 모델 페이지로 이동합니다.
    2. ‘파일 및 버전’ 탭으로 이동하여 safetensors 또는 GGUF 모델 파일을 다운로드하십시오.
  • Hugging Face CLI를 사용하여 사용 가능한 Qiskit Code Assistant 모델 중 하나를 다운로드하려면 다음 단계를 따르십시오:

    1. Hugging Face CLI 설치

    2. Hugging Face 계정에 로그인하세요

      huggingface-cli login
      
    3. 앞서 제시된 목록에서 원하는 모델을 다운로드하세요

      huggingface-cli download <HF REPO NAME> <MODEL PATH> --local-dir <LOCAL PATH>
      
  • 다운로드한 Qiskit Code Assistant 모델을 배포하고 활용하는 방법은 여러 가지가 있습니다. 이 가이드에서는 Ollama를 사용하는 방법을 다음과 같이 설명합니다. Hugging Face Hub 연동을 통해 Ollama 애플리케이션을 사용하거나 로컬 모델을 사용하는 방법, 또는 llama-cpp-python 패키지를 사용하는 방법입니다.

    Ollama 애플리케이션 사용하기

    Ollama 애플리케이션은 LLM을 로컬에서 실행할 수 있는 간편한 솔루션을 제공합니다. 사용법이 간편하며, CLI를 통해 전체 설정 과정, 모델 관리 및 상호 작용을 매우 손쉽게 처리할 수 있습니다. 빠른 실험을 하거나 기술적인 세부 사항을 최소화하고 싶은 사용자에게 이상적입니다.

    Ollama 설치하기
    1. Ollama 앱 다운로드

    2. 다운로드한 파일을 설치하세요

    3. 설치된 Ollama 애플리케이션을 실행하세요

      Info

      바탕화면 메뉴 표시줄에 Ollama 아이콘이 나타나면 애플리케이션이 정상적으로 실행되고 있는 것입니다. 또한 다음 위치로 이동하여 서비스가 실행 http://localhost:11434/중인지 확인할 수 있습니다.

    4. 터미널에서 Ollama를 실행해 보고 모델 실행을 시작해 보세요. 예를 들어,

      ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
      
    Hugging Face Hub 연동 기능을 사용하여 Ollama 설정하기

    Ollama/ Hugging Face Hub 통합을 통해 새 모델 파일을 생성하거나 GGUF 또는 safetensors 파일을 수동으로 다운로드할 필요 없이 Hugging Face Hub에 호스팅된 모델과 상호 작용할 수 있습니다. Hugging Face Hub의 해당 모델에는 기본 templateparams 파일이 이미 포함되어 있습니다.

    1. Ollama 애플리케이션이 실행 중인지 확인하십시오.

    2. 원하는 모델 페이지로 이동하여 URL 를 복사하세요. 예를 들어, https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF.

    3. 터미널에서 다음 명령을 실행하세요:

      ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
      

    hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit 모델이나 현재 권장되는 다른 GGUF 공식 모델 중 하나를 사용할 hf.co/Qiskit/mistral-small-3.2-24b-qiskit-GGUF``hf.co/Qiskit/granite-3.3-8b-qiskit-GGUF 수 있습니다.

    수동으로 다운로드한 Qiskit Code Assistant GGUF 모델을 사용하여 Ollama 설정하기

    https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF 와 같은 GGUF 모델을 수동으로 다운로드한 후 다양한 템플릿과 매개변수를 시험해 보고 싶다면, 다음 단계를 따라 로컬 Ollama 애플리케이션에 모델을 불러올 수 있습니다.

    1. 다음 내용을 입력하여 Modelfile 파일을 생성하고, 부분을 다운로드한 모델의 실제 경로로 반드시 <PATH-TO-GGUF-FILE> 변경하십시오.

      FROM <PATH-TO-GGUF-FILE>
      TEMPLATE """{{ if .System }}
      System:
      {{ .System }}
      
      {{ end }}{{ if .Prompt }}Question:
      {{ .Prompt }}
      
      {{ end }}Answer:
      ```python{{ .Response }}
      """
      
      PARAMETER stop "Question:"
      PARAMETER stop "Answer:"
      PARAMETER stop "System:"
      PARAMETER stop "```"
      
      PARAMETER temperature 0
      PARAMETER top_k 1
      
    2. 다음 명령을 실행하여. Modelfile을 기반으로 사용자 정의 모델 인스턴스를 생성합니다.

      ollama create Qwen2.5-Coder-14B-Qiskit -f ./path-to-model-file
      
      Note

      Ollama가 모델 파일을 읽고, 모델 인스턴스를 초기화한 뒤 제공된 사양에 따라 구성하는 데 시간이 다소 걸릴 수 있습니다.

    Ollama에서 수동으로 다운로드한 ‘ Qiskit Code Assistant ’ 모델을 실행하세요

    Ollama에서 모델을 Qwen2.5-Coder-14B-Qiskit 설정한 후, 다음 명령어를 실행하여 모델을 시작하고 터미널에서(채팅 모드에서) 모델을 조작하세요.

    ollama run Qwen2.5-Coder-14B-Qiskit
    

    유용한 명령어 몇 가지:

    • ollama list - 컴퓨터에 설치된 모델 목록 표시
    • ollama rm Qwen2.5-Coder-14B-Qiskit - 모델 삭제
    • ollama show Qwen2.5-Coder-14B-Qiskit - 모델 정보 표시
    • ollama stop Qwen2.5-Coder-14B-Qiskit - 현재 실행 중인 모델 중지하기
    • ollama ps - 현재 로드된 모델을 나열하세요
  • Ollama 애플리케이션의 대안으로는 llama-cpp-python 패키지가 있는데, 이는. llama.cpp를 위한 Python 바인딩입니다. GGUF 모델을 로컬에서 실행하면 더 높은 제어력과 유연성을 확보할 수 있으며, 로컬 모델을 자신의 워크플로우 및 Python 애플리케이션에 통합하고자 하는 사용자에게 이상적입니다.

    1. 설치 llama-cpp-python
    2. . llama_cpp을 사용하여 애플리케이션 내에서 모델과 상호작용하세요. 예를 들어,
    from llama_cpp import Llama
    
    model_path = <PATH-TO-GGUF-FILE>
    
    model = Llama(
            model_path,
            seed=17,
            n_ctx=10000,
            n_gpu_layers=37, # to offload in gpu, but put 0 if all in cpu
        )
    
    input = 'Generate a quantum circuit with 2 qubits'
    raw_pred = model(input)["choices"][0]["text"]

    또한 모델에 텍스트 생성 매개변수를 추가하여 추론 결과를 사용자 정의할 수 있습니다:

    generation_kwargs = {
            "max_tokens": 512,
            "echo": False, # Echo the prompt in the output
            "top_k": 1
        }
    
    raw_pred = model(input, **generation_kwargs)["choices"][0]["text"]
  • 라이브러리를 llama.cpp 사용하세요

    또 다른 방법은 최소한의 설정만으로 CPU에서 LLM 추론을 수행할 수 있는 오픈소스 라이브러리인 를 llama.cpp사용하는 것입니다. 이 도구는 모델 실행에 대한 저수준 제어를 제공하며, 일반적으로 명령줄에서 로컬 GGUF 모델 파일을 지정하여 실행됩니다.

    컴퓨터에 llama.cpp 설치하는 방법에는 여러 가지가 있습니다:

    설치가 완료되면 다음과 같이 대화 모드에서 GGUF 모델과 llama.cpp 상호작용할 수 있습니다:

    # Use a local model file
    llama-cli -m my_model.gguf -cnv
    
    # Or download and run a model directly from Hugging Face
    llama-cli -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF -cnv

    또한 다음과 같은 방법으로 해당 모델에 대한 OpenAI-compatible API 서버를 실행할 수 있습니다:

    llama-server -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF
    고급 매개변수

    llama-cli 프로그램을 사용하면 명령줄 옵션을 통해 모델 생성을 제어할 수 있습니다. 예를 들어, -p/--prompt 플래그를 사용하여 초기 “시스템” 프롬프트를 제공할 수 있습니다. 대화 모드(-cnv)에서 이 초기 프롬프트는 시스템 메시지로 작동합니다. 그렇지 않다면, 프롬프트 텍스트 앞에 원하는 명령어를 추가하기만 하면 됩니다. 또한 샘플링 매개변수를 조정할 수 있습니다. 예를 들어, 온도 (--temp), top-k (--top-k), top-p (--top-p), 반복 페널티 (--repeat-penalty), 사용할 시드 (--seed) 등이 있습니다. 다음은 이러한 옵션을 사용한 호출 예시입니다:

    llama-cli -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF \
      -p "You are a friendly assistant." -cnv \
      --temp 0.7 \
      --top-k 50 \
      --top-p 0.95 \
      --repeat-penalty 1.1 \
      --seed 42

    Qiskit 모델이 정상적으로 작동하도록 하려면, HF GGUF 저장소에 제공된 시스템 프롬프트를 사용하는 것이 좋습니다: mistral-small-3.2-24b-qiskit-GGUF, Qwen2.5-Coder-14B-Qiskit-GGUF, granite-3.3-8b-qiskit-GGUFgranite-3.2-8b-qiskit-GGUF 용 시스템 프롬프트.

  • 계속 (VS Code)

    1. 확장 프로그램을 설치하세요

    VS Code를 열고, 확장 프로그램(Cmd+Shift+X)으로 이동한 다음 ‘Continue’를 검색하여 설치하세요.

    2. 설정 파일을 엽니다

    사이드바에서 ‘계속’ 아이콘을 클릭한 다음 톱니바퀴 아이콘을 클릭하거나, 명령 팔레트(Cmd+Shift+P)를 열고 ‘계속: 구성 파일 열기’를 실행하세요.

    이 파일을 열면 ~/.continue/config.yaml (또는 config.json 이전 버전에서는)

    3. 모델 구성

    config.yaml다음 내용을 에 추가하세요:

    models:
      - name: Qiskit Code Assistant
        provider: ollama
        model: mistral-small-3.2-24b-qiskit
        apiBase: http://localhost:11434

    이를 통해 채팅 패널 (사이드바 대화, 인라인 Q&A) 및 인라인 편집 명령어에서 Qiskit 모델을 사용할 수 있게 됩니다.

    4. 테스트해 보세요
    • 채팅: 사이드바에서 ‘계속’ 패널을 열고 질문을 입력하세요(예: “Qiskit에서 매개변수화된 회로는 어떻게 만들까요?”)

    • 인라인 편집: 코드 블록을 선택한 후 (Mac) 또는 Ctrl+I ( Linux /Windows)를 누르세요 Cmd+I

  • Jupyter AI ( JupyterLab )

    참고: 이 안내서는 Jupyter AI( v2.x )에 적용됩니다.

    1. Jupyter AI와 Ollama 프로바이더 설치
    pip install "jupyter-ai<3" langchain-ollama

    "jupyter-ai<3" 핀을 사용하면 v2.x 에 접속할 수 있습니다. Jupyter AI가 Ollama를 제공자로 인식하려면 이 langchain-ollama 패키지가 필요합니다. 이 설정이 없으면 Ollama가 설정 패널에 표시되지 않습니다.

    그런 다음 JupyterLab 를 다시 시작하세요.

    2. 채팅 모델 구성

    JupyterLab 을 열고 왼쪽 사이드바에 있는 채팅 아이콘 을 클릭하세요. 설정 패널에서:

    1. ‘언어 모델’에서 제공자로 Ollama를 선택하세요.
    2. 모델 이름으로 를 입력하세요 mistral-small-3.2-24b-qiskit .
    3. Ollama를 사용하려면 API 키가 필요하지 않습니다(해당 필드는 비워 두세요).
    4. 뒤로 가기 화살표를 클릭하여 채팅을 시작하세요.
    3. %%ai 매직 명령어 사용

    %%ai 마법 기능을 사용하면 노트북 셀에서 직접 모델에 쿼리를 실행할 수 있습니다.

    %load_ext jupyter_ai_magics

    그런 다음 셀에서:

    %%ai ollama:mistral-small-3.2-24b-qiskit
    Write a function that implements Grover's algorithm using Qiskit
    4. 사용자 지정 Ollama 호스트 (선택 사항)

    http://127.0.0.1:11434기본적으로 Jupyter AI는 에 연결됩니다. Ollama 서버가 다른 주소나 포트에서 실행되는 경우:

    채팅 UI에서: AI 설정 패널의 “기본 API URL ” 필드를 설정하세요.

  • OpenCode (터미널)

    1. OpenCode 를 설치하세요
    curl -fsSL https://opencode.ai/install | bash
    2. Qiskit 모델 구성

    프로젝트 루트 디렉터리에 파일을 opencode.json 생성합니다(전역 설정을 원한다면 디렉터리에 ~/.config/opencode/opencode.json 생성하세요):

    {
      "$schema": "https://opencode.ai/config.json",
      "provider": {
        "ollama": {
          "npm": "@ai-sdk/openai-compatible",
          "name": "Ollama (local)",
          "options": {
            "baseURL": "http://localhost:11434/v1"
          },
          "models": {
            "mistral-small-3.2-24b-qiskit": {
              "name": "Qiskit Code Assistant"
            }
          }
        }
      }
    }
    3. 모델 선택

    프로젝트 디렉터리에서 OpenCode을 실행하세요:

    opencode

    TUI에서 명령어를 /models 실행하고 목록에서 ‘ Qiskit Code Assistant ’을 선택하십시오.

    4. 테스트해 보세요

    채팅창에 직접 질문을 남겨주세요. 예를 들어: "벨 회로를 정의하고 QiskitRuntimeService"" 에서 실행해 보세요."


사용 가능한 모델

현재 모델

다음은 Qiskit Code Assistant 와 함께 사용하기에 권장되는 최신 모델들입니다:

  1. Qiskit/mistral-small-3.2-24b-qiskit - 2025년 10월 출시
  2. Qiskit/Qwen2.5-Coder-14B-Qiskit - 2025년 6월 출시
  3. qiskit/granite-3.3-8b-qiskit - 2025년 6월 출시
  4. qiskit/granite-3.2-8b-qiskit - 2025년 6월 출시

GGUF 모델 (개인용 환경/노트북에 권장)

GGUF 형식 모델은 로컬 사용에 최적화되어 있어 필요한 계산 자원이 적습니다:

  1. mistral-small-3.2-24b-qiskit-GGUF2025년 10월 출시 . Qiskit 버전2.1
    까지의 데이터로 훈련됨

  2. Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF2025년
    6월 출시 . Qiskit 버전 2.0까지의 데이터로 훈련되었습니다.

  3. qiskit/granite-3.3-8b-qiskit-GGUF2025년 6월 출시 . Qiskit 버전2.0
    까지의 데이터로 훈련됨

  4. qiskit/granite-3.2-8b-qiskit-GGUF2025년 6월 출시 . Qiskit 버전2.0
    까지의 데이터로 훈련됨

오픈 소스 Qiskit Code Assistant 모델은 Safetensors는 머신러닝 모델의 가중치와 텐서를 안전하고 효율적으로 저장하기 위해 특별히 고안된 파일 형식입니다. 또는 GGUF는 모델을 빠르게 불러오고 저장할 수 있도록 설계되었으며, 가독성을 높인 이진 형식입니다. 에서 확인할 수 있으며, 아래에 설명된 대로 Hugging Face 에서 다운로드할 수 있습니다.

훈련에 사용된 Qiskit 버전

모델
 
 
 
 
 
벤치마크 지표
 
 
 
 
릴리스 날짜
Qiskit 버전으로 훈련됨
 QiskitHumanEval-HardQiskitHumanEvalHumanEvalASDivMathQASciQMBPPIFEvalCrowsPairs (영어)TruthfulQA ( MC1 계정)  
mistral-small-3.2-24b-qiskit32.4547.0277.493.7749.6897.5064.0048.4467.0839.412026년 1월2.2
Qwen2.5-Coder-14B-Qiskit25.1749.0191.464.2153.9097.0077.6049.6465.1837.822025년 6월2.0
granite-3.3-8b-qiskit14.5727.1562.800.4838.6693.3052.4059.7159.7539.052025년 6월2.0
granite-3.2-8b-qiskit9.9324.5057.320.0941.4196.3051.8060.7966.7940.512025년 6월2.0
granite-8b-qiskit-rc-0.1015.8938.4159.762025년 2월1.3
granite-8b-qiskit17.8844.3753.662024년 11월1.2

참고: 벤치마크 표에 나열된 모든 모델은 해당 모델의 Hugging Face에 정의된 시스템 프롬프트를 사용하여 평가되었습니다.

더 이상 사용되지 않는 모델

이 모델들은 더 이상 적극적으로 유지 관리되지는 않지만, 여전히 사용할 수 있습니다:

  1. qiskit/granite-8b-qiskit-rc-0.10 - 2025년 2월 출시 (사용 중단됨)
  2. qiskit/granite-8b-qiskit - 2024년 11월 출시 (사용 중단됨)

추가 정보 및 인용

Qiskit HumanEval, 또는 Qiskit HumanEval 하드 Qiskit Code Assistant 벤치마크에 대해 자세히 알아보고 과학적 출판물에 이를 인용하려면 다음 권장 인용문을 검토하십시오:

@misc{2405.19495,
Author = {Nicolas Dupuis and Luca Buratti and Sanjay Vishwakarma and Aitana Viudes Forrat and David Kremer and Ismael Faro and Ruchir Puri and Juan Cruz-Benito},
Title = {Qiskit Code Assistant: Training LLMs for generating Quantum Computing Code},
Year = {2024},
Eprint = {arXiv:2405.19495},
}
@misc{2406.14712,
Author = {Sanjay Vishwakarma and Francis Harkins and Siddharth Golecha and Vishal Sharathchandra Bajpe and Nicolas Dupuis and Luca Buratti and David Kremer and Ismael Faro and Ruchir Puri and Juan Cruz-Benito},
Title = {Qiskit HumanEval: An Evaluation Benchmark For Quantum Code Generative Models},
Year = {2024},
Eprint = {arXiv:2406.14712},
}
@misc{2508.20907,
Author = {Nicolas Dupuis and Adarsh Tiwari and Youssef Mroueh and David Kremer and Ismael Faro and Juan Cruz-Benito},
Title = {Quantum Verifiable Rewards for Post-Training Qiskit Code Assistant},
Year = {2025},
Eprint = {arXiv:2508.20907},
}
이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.