Lumaktaw sa pangunahing nilalaman

Qiskit Code Assistant

Ang mga LLM ng Qiskit Code Assistant ay layuning gawing mas madaling ma-access ang quantum computing para sa mga bagong gumagamit ng Qiskit at mapabuti ang karanasan sa pag-code ng mga kasalukuyang users. Ito ay sinanay gamit ang milyun-milyong text token mula sa Qiskit SDK, maraming taon ng mga halimbawa ng Qiskit code, at mga feature ng IBM Quantum®. Makakatulong ang Qiskit Code Assistant sa iyong quantum development workflow sa pamamagitan ng pag-aalok ng mga mungkahi na ginawa ng LLM batay sa IBM Granite at iba pang open-source na modelo na nagsasama ng mga pinakabagong feature at functionality mula sa IBM®.

Mga Tala

Ang Large Language Model (LLM) sa likod ng Qiskit Code Assistant

Para makapagbigay ng mga mungkahi sa code, gumagamit ang Qiskit Code Assistant ng Large Language Model (LLM). Sa kasong ito, kasalukuyang umaasa ang Qiskit Code Assistant sa modelong mistral-small-3.2-24b-qiskit, na itinayo sa Mistral-Small-3.2-24B-Qiskit model. Ang mistral-small-3.2-24b-qiskit na modelo ay nagpapabuti ng kakayahan sa code generation ng modelong Mistral-Small-3.2-24B-Instruct-2506 para sa Qiskit sa pamamagitan ng extended pretraining at fine-tuning nito sa mataas na kalidad na Qiskit data, gayundin ang mga Python commit at chat. Para sa karagdagang impormasyon tungkol sa pamilya ng Mistral AI models, tingnan ang dokumentasyon ng Mistral AI. Para sa karagdagang detalye tungkol sa mga .*-qiskit na modelo, tingnan ang Qiskit Code Assistant: Training LLMs for generating Quantum Computing Code.

Ang aming mga LLM na espesyalista para sa Qiskit ay available din bilang mga open-source na modelo. Tingnan ang lahat ng available na modelo sa https://huggingface.co/Qiskit.

Ang Qiskit HumanEval at Qiskit HumanEval Hard benchmarks

Para subukan ang mistral-small-3.2-24b-qiskit at iba pang mga modelo, nakipagtulungan kami sa mga Qiskit Advocate at eksperto para lumikha ng mga execution-based na benchmark na tinatawag na Qiskit HumanEval (QHE) at Qiskit HumanEval Hard (QHE Hard), at pinatakbo ang mga ito sa mga modelo. Ang mga benchmark na ito ay katulad ng HumanEval, na kinabibilangan ng maraming mapaghamong problema sa code na dapat solusyunan, lahat ay batay sa mga opisyal na Qiskit library.

Ang mga benchmark ay binubuo ng humigit-kumulang 150 na pagsubok, bawat isa ay gawa mula sa isang function definition, na sinusundan ng isang docstring na nagdedetalye ng gawain na kailangang solusyunan ng modelo. Bawat halimbawa ay naglalaman din ng isang reference canonical solution, gayundin ang mga unit test, para masuri ang kawastuhan ng mga nabuong solusyon. Mayroong tatlong antas ng kahirapan para sa mga pagsubok: basic, intermediate, at mahirap. Ang Qiskit HumanEval Hard benchmark ay isang variation ng Qiskit HumanEval, ngunit inaalis ang impormasyon na may kaugnayan sa mga code import, kaya kailangang alamin ng LLM ang tamang method o class import. Ang pagbabagong ito ay nagpapahirap ng dataset para sa mga LLM, ayon sa aming mga pagsubok at paunang resulta.

Ang mga dataset para sa Qiskit HumanEval at Qiskit HumanEval Hard ay available sa mga website na ito: Qiskit HumanEval at Qiskit HumanEval. Maaari kang mag-ambag sa pagpapaunlad ng mga benchmark na ito sa GitHub repository.

I-install ang Qiskit Code Assistant

Alamin kung paano mag-install, mag-configure, at gumamit ng alinman sa mga modelo ng Qiskit Code Assistant sa iyong lokal na makina.

I-download mula sa website ng Hugging Face

Sundin ang mga hakbang na ito para i-download ang anumang modelong kaugnay ng Qiskit Code Assistant mula sa website ng Hugging Face:

  1. Pumunta sa nais na pahina ng Qiskit model sa Hugging Face.
  2. Pumunta sa tab na Files and Versions at i-download ang mga safetensors o GGUF model file.
I-download gamit ang Hugging Face CLI

Para i-download ang alinman sa mga available na modelo ng Qiskit Code Assistant gamit ang Hugging Face CLI, sundin ang mga hakbang na ito:

  1. I-install ang Hugging Face CLI

  2. Mag-login sa iyong Hugging Face account

    huggingface-cli login
  3. I-download ang modelong gusto mo mula sa nakaraang listahan

    huggingface-cli download <HF REPO NAME> <MODEL PATH> --local-dir <LOCAL PATH>
Manu-manong i-deploy ang mga modelo ng Qiskit Code Assistant sa lokal sa pamamagitan ng Ollama

Mayroong maraming paraan para i-deploy at makipag-ugnayan sa na-download na modelo ng Qiskit Code Assistant. Ipinapakita ng gabay na ito ang paggamit ng Ollama tulad ng sumusunod: alinman sa Ollama application sa pamamagitan ng paggamit ng Hugging Face Hub integration o lokal na modelo, o sa llama-cpp-python package.

Paggamit ng Ollama application

Ang Ollama application ay nagbibigay ng simpleng solusyon para patakbuhin ang mga LLM nang lokal. Madaling gamitin, na may CLI na ginagawang mas diretso ang buong proseso ng setup, pamamahala ng modelo, at pakikipag-ugnayan. Ito ay perpekto para sa mabilis na eksperimento at para sa mga user na gustong mas kaunting teknikal na detalye ang hawakan.

I-install ang Ollama
  1. I-download ang Ollama application

  2. I-install ang na-download na file

  3. Ilunsad ang na-install na Ollama application

    impormasyon

    Matagumpay na tumatakbo ang application kapag lumitaw ang Ollama icon sa desktop menu bar. Maaari mo ring i-verify na tumatakbo ang serbisyo sa pamamagitan ng pagpunta sa http://localhost:11434/.

  4. Subukan ang Ollama sa iyong terminal at simulang magpatakbo ng mga modelo. Halimbawa:

    ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
I-set up ang Ollama gamit ang Hugging Face Hub integration

Ang Ollama/Hugging Face Hub integration ay nagbibigay ng paraan para makipag-ugnayan sa mga modelong naka-host sa Hugging Face Hub nang hindi na kailangang lumikha ng bagong modelfile o manu-manong i-download ang mga GGUF o safetensors file. Ang mga default na template at params file ay kasama na para sa modelo sa Hugging Face Hub.

  1. Siguraduhing tumatakbo ang Ollama application.

  2. Pumunta sa nais na pahina ng modelo, at kopyahin ang URL. Halimbawa, https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF.

  3. Mula sa iyong terminal, patakbuhin ang command:

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

Maaari mong gamitin ang modelong hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit o alinman sa iba pang kasalukuyang inirerekomendang opisyal na GGUF model na hf.co/Qiskit/mistral-small-3.2-24b-qiskit-GGUF o hf.co/Qiskit/granite-3.3-8b-qiskit-GGUF.

I-set up ang Ollama gamit ang manu-manong na-download na GGUF model ng Qiskit Code Assistant

Kung manu-mano kang nag-download ng GGUF model tulad ng https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF at gusto mong mag-eksperimento sa iba't ibang template at parameter, maaari kang sundin ang mga hakbang na ito para i-load ito sa iyong lokal na Ollama application.

  1. Lumikha ng Modelfile na may sumusunod na nilalaman at tiyaking i-update ang <PATH-TO-GGUF-FILE> sa aktwal na path ng iyong na-download na modelo.

    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. Patakbuhin ang sumusunod na command para lumikha ng custom na model instance batay sa Modelfile.

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

    Maaaring tumagal ng ilang oras ang prosesong ito para mabasa ng Ollama ang model file, ma-initialize ang model instance, at ma-configure ito ayon sa mga tinukoy na specification.

Patakbuhin ang modelo ng Qiskit Code Assistant na manu-manong na-download sa Ollama

Pagkatapos ma-set up ang modelong Qwen2.5-Coder-14B-Qiskit sa Ollama, patakbuhin ang sumusunod na command para ilunsad ang modelo at makipag-ugnayan dito sa terminal (sa chat mode).

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

Ilang kapaki-pakinabang na command:

  • ollama list - Ilista ang mga modelo sa iyong computer
  • ollama rm Qwen2.5-Coder-14B-Qiskit - Burahin ang modelo
  • ollama show Qwen2.5-Coder-14B-Qiskit - Ipakita ang impormasyon ng modelo
  • ollama stop Qwen2.5-Coder-14B-Qiskit - Ihinto ang modelo na kasalukuyang tumatakbo
  • ollama ps - Ilista kung aling mga modelo ang kasalukuyang naka-load
Manu-manong i-deploy ang mga modelo ng Qiskit Code Assistant sa lokal sa pamamagitan ng llama-cpp-python package

Ang alternatibo sa Ollama application ay ang llama-cpp-python package, na isang Python binding para sa llama.cpp. Nagbibigay ito sa iyo ng mas maraming kontrol at flexibility para patakbuhin ang GGUF model nang lokal, at perpekto para sa mga user na gustong isama ang lokal na modelo sa kanilang mga workflow at Python application.

  1. I-install ang llama-cpp-python
  2. Makipag-ugnayan sa modelo mula sa loob ng iyong application gamit ang llama_cpp. Halimbawa:
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”]

Maaari ka ring magdagdag ng mga parameter sa text generation sa modelo para i-customize ang inference:

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”]
Manu-manong i-deploy ang mga modelo ng Qiskit Code Assistant sa lokal sa pamamagitan ng llama.cpp

Gamitin ang llama.cpp library

Ang isa pang alternatibo ay ang paggamit ng llama.cpp, isang open-source na library para sa pagsasagawa ng LLM inference sa CPU na may minimal na setup. Nagbibigay ito ng mababang antas ng kontrol sa pagpapatakbo ng modelo at karaniwang pinapatakbo mula sa command line, na nagtaturo sa isang lokal na GGUF model file.

Mayroong ilang paraan para mag-install ng llama.cpp sa iyong makina:

Kapag na-install na, maaari mong gamitin ang llama.cpp para makipag-ugnayan sa mga GGUF model sa conversation mode tulad ng sumusunod:

# 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

Maaari ka ring maglunsad ng OpenAI-compatible API server para sa modelo sa sumusunod na paraan:

llama-server -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF
Mga advanced na parameter

Gamit ang programang llama-cli, maaari mong kontrolin ang text generation ng modelo gamit ang mga command-line option. Halimbawa, maaari kang magbigay ng paunang “system” prompt gamit ang flag na -p/--prompt. Sa conversation mode (-cnv), ang paunang prompt na ito ay gumaganap bilang system message. Kung hindi, maaari mo lang idagdag ang anumang nais na tagubilin sa simula ng iyong prompt text. Maaari ka ring mag-adjust ng mga sampling parameter — halimbawa: temperature (--temp), top-k (--top-k), top-p (--top-p), repetition penalty (--repeat-penalty), at ang seed na gagamitin (--seed). Ang sumusunod ay isang halimbawa ng invocation gamit ang mga opsyong ito:

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

Para matiyak ang maayos na paggana ng aming mga Qiskit model, inirerekomenda naming gamitin ang system prompt na ibinibigay sa aming mga HF GGUF repository: system prompt para sa mistral-small-3.2-24b-qiskit-GGUF, Qwen2.5-Coder-14B-Qiskit-GGUF, granite-3.3-8b-qiskit-GGUF, at granite-3.2-8b-qiskit-GGUF.

Manu-manong ikonekta ang Continue (VS Code)

Continue (VS Code)

1. I-install ang extension

Buksan ang VS Code, pumunta sa Extensions (Cmd+Shift+X), hanapin ang Continue, i-install ito.

2. Buksan ang config

I-click ang Continue icon sa sidebar, pagkatapos ay i-click ang gear icon, o buksan ang command palette (Cmd+Shift+P) at patakbuhin ang Continue: Open Config File.

Nagbubukas ito ng ~/.continue/config.yaml (o config.json sa mga mas lumang bersyon).

3. I-configure ang modelo

Idagdag ang sumusunod sa config.yaml:

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

Ginagawa nitong available ang Qiskit model sa chat panel (mga pag-uusap sa sidebar, inline Q&A) at para sa mga inline edit na command.

4. Subukan ito
  • Chat: Buksan ang Continue panel sa sidebar at magtanong (hal., “How do I create a parameterized circuit in Qiskit?”)
  • Inline edit: Pumili ng isang bloke ng code, pindutin ang Cmd+I (Mac) o Ctrl+I (Linux/Windows)
Manu-manong ikonekta ang Jupyter AI (JupyterLab)

Jupyter AI (JupyterLab)

Tala: Sinasaklaw ng mga tagubilin na ito ang Jupyter AI v2.x.

1. I-install ang Jupyter AI at ang Ollama provider
pip install “jupyter-ai<3” langchain-ollama

Tinitiyak ng ”jupyter-ai<3” pin na makumo mo ang v2.x. Kailangan ang langchain-ollama package para madetect ng Jupyter AI ang Ollama bilang provider. Kung wala ito, hindi lalabas ang Ollama sa settings panel.

Pagkatapos ay i-restart ang JupyterLab.

2. I-configure ang chat model

Buksan ang JupyterLab at i-click ang chat icon sa kaliwang sidebar. Sa settings panel:

  1. Sa ilalim ng Language model, piliin ang Ollama bilang provider.
  2. Ilagay ang mistral-small-3.2-24b-qiskit bilang pangalan ng modelo.
  3. Hindi kailangan ng API key para sa Ollama (iwanang blangko ang field).
  4. I-click ang back arrow para magsimulang mag-chat.
3. Gamitin ang %%ai magic command

Pinapayagan ka ng %%ai magic na i-query ang modelo nang direkta sa mga notebook cell.

%load_ext jupyter_ai_magics

Pagkatapos sa isang cell:

%%ai ollama:mistral-small-3.2-24b-qiskit
Write a function that implements Grover's algorithm using Qiskit
4. Custom na Ollama host (opsyonal)

Bilang default, kumokonekta ang Jupyter AI sa http://127.0.0.1:11434. Kung ang iyong Ollama server ay tumatakbo sa ibang address o port:

Sa chat UI: Itakda ang field na “Base API URL” sa AI settings panel.

Manu-manong ikonekta ang OpenCode (Terminal)

OpenCode (Terminal)

1. I-install ang OpenCode
curl -fsSL https://opencode.ai/install | bash
2. I-configure ang Qiskit model

Lumikha ng opencode.json file sa root ng iyong project (o ~/.config/opencode/opencode.json para sa global na config):

{
“$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. Piliin ang modelo

Ilunsad ang OpenCode sa iyong project directory:

opencode

Sa loob ng TUI, patakbuhin ang /models command at piliin ang Qiskit Code Assistant mula sa listahan.

4. Subukan ito

Magtanong nang direkta sa chat, halimbawa: “Define a Bell circuit and run it using QiskitRuntimeService”

Mga available na modelo

Mga kasalukuyang modelo

Ito ang mga pinakabagong inirerekomendang modelo para gamitin sa Qiskit Code Assistant:

  1. Qiskit/mistral-small-3.2-24b-qiskit - Released October 2025
  2. Qiskit/Qwen2.5-Coder-14B-Qiskit - Released June 2025
  3. qiskit/granite-3.3-8b-qiskit - Released June 2025
  4. qiskit/granite-3.2-8b-qiskit - Released June 2025

Mga GGUF model (inirerekomenda para sa personal na kapaligiran/laptop)

Ang mga modelo sa GGUF format ay na-optimize para sa lokal na paggamit at nangangailangan ng mas kaunting computational resource:

  1. mistral-small-3.2-24b-qiskit-GGUF – Released October 2025
    Trained with Qiskit data up to version 2.1

  2. Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF – Released June 2025
    Trained with Qiskit data up to version 2.0

  3. qiskit/granite-3.3-8b-qiskit-GGUF – Released June 2025
    Trained with Qiskit data up to version 2.0

  4. qiskit/granite-3.2-8b-qiskit-GGUF – Released June 2025
    Trained with Qiskit data up to version 2.0

Ang mga Open Source na modelo ng Qiskit Code Assistant ay available sa safetensors o GGUF file format at maaaring i-download mula sa Hugging Face tulad ng ipinaliwanag sa ibaba.

Mga bersyon ng Qiskit na ginamit para sa pagsasanay

Model     Benchmark Metrics    Release dateTrained on Qiskit version
 QiskitHumanEval-HardQiskitHumanEvalHumanEvalASDivMathQASciQMBPPIFEvalCrowsPairs (English)TruthfulQA (MC1 acc)  
mistral-small-3.2-24b-qiskit32.4547.0277.493.7749.6897.5064.0048.4467.0839.41January 20262.2
Qwen2.5-Coder-14B-Qiskit25.1749.0191.464.2153.9097.0077.6049.6465.1837.82June 20252.0
granite-3.3-8b-qiskit14.5727.1562.800.4838.6693.3052.4059.7159.7539.05June 20252.0
granite-3.2-8b-qiskit9.9324.5057.320.0941.4196.3051.8060.7966.7940.51June 20252.0
granite-8b-qiskit-rc-0.1015.8938.4159.76February 20251.3
granite-8b-qiskit17.8844.3753.66November 20241.2

Tala: Lahat ng modelo na nakalista sa benchmark table ay nasuri gamit ang kani-kanilang system prompt, na tinukoy sa kanilang Hugging Face model.

Mga deprecated na modelo

Ang mga modelong ito ay hindi na aktibong pinapanatili ngunit nananatiling available:

  1. qiskit/granite-8b-qiskit-rc-0.10 - Released February 2025 (deprecated)
  2. qiskit/granite-8b-qiskit - Released November 2024 (deprecated)

Karagdagang impormasyon at mga citation

Para matuto pa tungkol sa Qiskit Code Assistant, Qiskit HumanEval, o mga Qiskit HumanEval Hard benchmark, at i-cite ang mga ito sa iyong mga siyentipikong publikasyon, suriin ang mga inirerekomendang citation na ito:

@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},
}