Qiskit Code Assistant
Qiskit Code Assistant LLM si kladou za cíl zpřístupnit kvantové výpočty novým uživatelům Qiskitu a zlepšit zážitek z programování pro stávající uživatele. Je natrénován na milionech textových tokenů z Qiskit SDK, letech příkladů Qiskit kódu a funkcích IBM Quantum®. Qiskit Code Assistant ti může pomoci ve vývojovém procesu kvantových aplikací tím, že nabízí návrhy generované LLM na základě IBM Granite a dalších open-source modelů, které zahrnují nejnovější funkce a možnosti od IBM®.
- Chceš přejít rovnou na pokyny k instalaci? Přejdi do sekce Instalace Qiskit Code Assistantu.
- Pokud máš zpětnou vazbu nebo chceš kontaktovat tým vývojářů, použij kanál Qiskit Slack Workspace nebo příslušné veřejné repozitáře na GitHubu.
Velký jazykový model (LLM) za Qiskit Code Assistantem
Pro poskytování návrhů kódu využívá Qiskit Code Assistant velký jazykový model (LLM). V tomto případě se Qiskit Code Assistant aktuálně opírá o model mistral-small-3.2-24b-qiskit, postavený na modelu Mistral-Small-3.2-24B-Qiskit. Model mistral-small-3.2-24b-qiskit vylepšuje schopnosti generování kódu modelu Mistral-Small-3.2-24B-Instruct-2506 pro Qiskit prostřednictvím rozšířeného předtrénování a doladění na vysoce kvalitních datech Qiskit, commitech Pythonu a chatu. Více informací o rodině modelů Mistral AI najdeš v dokumentaci Mistral AI. Další podrobnosti o modelech .*-qiskit najdeš v článku Qiskit Code Assistant: Training LLMs for generating Quantum Computing Code.
Naše LLM specializované pro Qiskit jsou dostupné také jako open-source modely. Všechny dostupné modely najdeš na https://huggingface.co/Qiskit.
Benchmarky Qiskit HumanEval a Qiskit HumanEval Hard
Pro testování modelu mistral-small-3.2-24b-qiskit a dalších modelů jsme spolupracovali s Qiskit Advocates a odborníky na vytvoření benchmarků založených na spouštění kódu, nazvaných Qiskit HumanEval (QHE) a Qiskit HumanEval Hard (QHE Hard), a spustili jsme je na těchto modelech. Tyto benchmarky jsou podobné HumanEval a zahrnují řadu náročných programovacích úloh, všechny postavené na oficiálních knihovnách Qiskit.
Benchmarky se skládají přibližně z 150 testů, přičemž každý je tvořen definicí funkce, za níž následuje docstring popisující úkol, který má model vyřešit. Každý příklad také obsahuje referenční kanonické řešení a jednotkové testy pro hodnocení správnosti generovaných řešení. Testy mají tři úrovně obtížnosti: základní, středně pokročilou a obtížnou. Benchmark Qiskit HumanEval Hard je variantou Qiskit HumanEval, ale odstraňuje informace týkající se importů kódu, takže LLM musí sám přijít na správné importy metod nebo tříd. Tato změna podle našich testů a počátečních výsledků datovou sadu pro LLM výrazně ztěžuje.
Datové sady pro Qiskit HumanEval a Qiskit HumanEval Hard jsou dostupné na těchto stránkách: Qiskit HumanEval a Qiskit HumanEval. K rozvoji těchto benchmarků můžeš přispět v repozitáři na GitHubu.
Instalace Qiskit Code Assistantu
Zjisti, jak nainstalovat, nakonfigurovat a používat libovolný model Qiskit Code Assistantu na svém lokálním počítači.
Stáhnout z webu Hugging Face
Pro stažení libovolného modelu souvisejícího s Qiskit Code Assistantem z webu Hugging Face postupuj takto:
- Přejdi na stránku požadovaného modelu Qiskit na Hugging Face.
- Přejdi na záložku Files and Versions a stáhni soubory modelu ve formátu safetensors nebo GGUF.
Stáhnout pomocí Hugging Face CLI
Pro stažení libovolného z dostupných modelů Qiskit Code Assistantu pomocí Hugging Face CLI postupuj takto:
-
Nainstaluj Hugging Face CLI
-
Přihlas se ke svému účtu Hugging Face
huggingface-cli login -
Stáhni model, který preferuješ, ze seznamu výše
huggingface-cli download <HF REPO NAME> <MODEL PATH> --local-dir <LOCAL PATH>
Ruční nasazení modelů Qiskit Code Assistantu lokálně přes Ollama
Existuje několik způsobů, jak nasadit a pracovat se staženým modelem Qiskit Code Assistantu. Tato příručka demonstruje použití Ollama takto: buď pomocí aplikace Ollama s využitím integrace Hugging Face Hub nebo lokálního modelu, nebo pomocí balíčku llama-cpp-python.
Použití aplikace Ollama
Aplikace Ollama poskytuje jednoduché řešení pro lokální spouštění LLM. Je snadná na použití, s CLI, které celý proces nastavení, správu modelů a interakci s nimi činí poměrně přímočarými. Je ideální pro rychlé experimentování a pro uživatele, kteří chtějí mít méně technických detailů na starosti.
Instalace Ollamy
-
Stáhni aplikaci Ollama
-
Nainstaluj stažený soubor
-
Spusť nainstalovanou aplikaci Ollama
infoAplikace běží úspěšně, když se ikona Ollamy zobrazí v pruhu nabídek plochy. Funkčnost služby můžeš také ověřit přechodem na
http://localhost:11434/. -
Vyzkoušej Ollamu v terminálu a začni spouštět modely. Například:
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Nastavení Ollamy pomocí integrace Hugging Face Hub
Integrace Ollama/Hugging Face Hub poskytuje způsob, jak pracovat s modely hostovanými na Hugging Face Hub, aniž by bylo nutné vytvářet nový modelfile nebo ručně stahovat soubory GGUF či safetensors. Výchozí soubory template a params jsou pro model na Hugging Face Hub již zahrnuty.
-
Ujisti se, že aplikace Ollama běží.
-
Přejdi na stránku požadovaného modelu a zkopíruj URL. Například https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF.
-
V terminálu spusť příkaz:
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Můžeš použít model hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit nebo kterýkoli z dalších aktuálně doporučených oficiálních modelů GGUF hf.co/Qiskit/mistral-small-3.2-24b-qiskit-GGUF nebo hf.co/Qiskit/granite-3.3-8b-qiskit-GGUF.
Nastavení Ollamy s ručně staženým modelem GGUF Qiskit Code Assistantu
Pokud jsi ručně stáhl model GGUF, například https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF, a chceš experimentovat s různými šablonami a parametry, můžeš jej načíst do lokální aplikace Ollama podle těchto kroků.
-
Vytvoř soubor
Modelfiles následujícím obsahem a nezapomeň aktualizovat<PATH-TO-GGUF-FILE>na skutečnou cestu ke staženému modelu.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 0PARAMETER top_k 1 -
Spusť následující příkaz pro vytvoření vlastní instance modelu na základě souboru
Modelfile.ollama create Qwen2.5-Coder-14B-Qiskit -f ./path-to-model-filepoznámkaTento proces může chvíli trvat, než Ollama přečte soubor modelu, inicializuje instanci modelu a nakonfiguruje ji podle zadaných specifikací.
Spuštění ručně staženého modelu Qiskit Code Assistantu v Ollamě
Jakmile je model Qwen2.5-Coder-14B-Qiskit nastaven v Ollamě, spusť následující příkaz pro spuštění modelu a interakci s ním v terminálu (v režimu chatu).
ollama run Qwen2.5-Coder-14B-Qiskit
Několik užitečných příkazů:
ollama list- Zobrazit seznam modelů v počítačiollama rm Qwen2.5-Coder-14B-Qiskit- Smazat modelollama show Qwen2.5-Coder-14B-Qiskit- Zobrazit informace o modeluollama stop Qwen2.5-Coder-14B-Qiskit- Zastavit aktuálně běžící modelollama ps- Zobrazit seznam aktuálně načtených modelů
Ruční nasazení modelů Qiskit Code Assistantu lokálně přes balíček llama-cpp-python
Alternativou k aplikaci Ollama je balíček llama-cpp-python, což je Python binding pro llama.cpp. Poskytuje ti větší kontrolu a flexibilitu při lokálním spouštění modelu GGUF a je ideální pro uživatele, kteří chtějí integrovat lokální model do svých pracovních postupů a Python aplikací.
- Nainstaluj
llama-cpp-python - Interaguj s modelem ze své aplikace pomocí
llama_cpp. Například:
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"]
Můžeš také přidat parametry generování textu do modelu pro přizpůsobení 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"]
Ruční nasazení modelů Qiskit Code Assistantu lokálně přes llama.cpp
Použití knihovny llama.cpp
Další alternativou je použití llama.cpp, open-source knihovny pro provádění LLM inference na CPU s minimálním nastavením.
Poskytuje nízkoúrovňovou kontrolu nad spouštěním modelu a typicky se spouští z příkazové řádky s odkazem na lokální soubor modelu GGUF.
Existuje několik způsobů, jak nainstalovat llama.cpp na tvém počítači:
- Nainstaluj llama.cpp pomocí brew, nix nebo winget
- Spusť přes Docker: Viz dokumentaci Dockeru od týmu
llama.cpp - Stáhni předkompilované binárky ze stránky vydání
- Sestavit ze zdrojového kódu naklonováním tohoto repozitáře
Po instalaci můžeš použít llama.cpp pro interakci s modely GGUF v režimu konverzace takto:
# 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
Můžeš také spustit OpenAI-kompatibilní API server pro model tímto způsobem:
llama-server -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF
Pokročilé parametry
S programem llama-cli můžeš řídit generování modelu pomocí voleb příkazové řádky. Například můžeš zadat počáteční „systémový” prompt pomocí příznaku -p/--prompt. V režimu konverzace (-cnv) tento počáteční prompt funguje jako systémová zpráva. Jinak můžeš jednoduše přidat libovolnou požadovanou instrukci na začátek textu promptu. Můžeš také upravovat parametry vzorkování – například: teplota (--temp), top-k (--top-k), top-p (--top-p), penalizace opakování (--repeat-penalty) a seed (--seed). Níže je příklad spuštění s těmito možnostmi:
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
Aby naše modely Qiskit fungovaly správně, doporučujeme použít systémový prompt uvedený v našich HF GGUF repozitářích: systémový prompt pro mistral-small-3.2-24b-qiskit-GGUF, Qwen2.5-Coder-14B-Qiskit-GGUF, granite-3.3-8b-qiskit-GGUF a granite-3.2-8b-qiskit-GGUF.
Ruční připojení Continue (VS Code)
Continue (VS Code)
1. Instalace rozšíření
Otevři VS Code, přejdi do Rozšíření (Cmd+Shift+X), vyhledej Continue a nainstaluj ho.
2. Otevření konfigurace
Klikni na ikonu Continue v postranním panelu, poté klikni na ikonu ozubeného kolečka nebo otevři paletu příkazů (Cmd+Shift+P) a spusť Continue: Open Config File.
Tím se otevře ~/.continue/config.yaml (nebo config.json ve starších verzích).
3. Konfigurace modelu
Přidej do config.yaml následující:
models:
- name: Qiskit Code Assistant
provider: ollama
model: mistral-small-3.2-24b-qiskit
apiBase: http://localhost:11434
Tím bude model Qiskit dostupný v panelu chatu (konverzace v postranním panelu, inline Q&A) a pro příkazy inline editace.
4. Otestování
- Chat: Otevři panel Continue v postranním panelu a polož otázku (např. „How do I create a parameterized circuit in Qiskit?")
- Inline editace: Vyber blok kódu, stiskni
Cmd+I(Mac) neboCtrl+I(Linux/Windows)
Ruční připojení Jupyter AI (JupyterLab)
Jupyter AI (JupyterLab)
Poznámka: Tyto pokyny se vztahují na Jupyter AI v2.x.
1. Instalace Jupyter AI a poskytovatele Ollama
pip install "jupyter-ai<3" langchain-ollama
Pin "jupyter-ai<3" zajišťuje, že získáš v2.x. Balíček langchain-ollama je vyžadován, aby Jupyter AI detekoval Ollamu jako poskytovatele. Bez něj se Ollama nezobrazí v panelu nastavení.
Poté restartuj JupyterLab.
2. Konfigurace modelu chatu
Otevři JupyterLab a klikni na ikonu chatu v levém postranním panelu. V panelu nastavení:
- V části Language model vyber Ollama jako poskytovatele.
- Zadej
mistral-small-3.2-24b-qiskitjako název modelu. - Pro Ollamu není potřeba žádný API klíč (ponech pole prázdné).
- Klikni na šipku zpět pro zahájení chatu.
3. Použití magic příkazu %%ai
Magic příkaz %%ai ti umožňuje dotazovat model přímo v buňkách notebooku.
%load_ext jupyter_ai_magics
Poté v buňce:
%%ai ollama:mistral-small-3.2-24b-qiskit
Write a function that implements Grover's algorithm using Qiskit
4. Vlastní hostitel Ollamy (volitelné)
Ve výchozím nastavení se Jupyter AI připojuje k http://127.0.0.1:11434. Pokud tvůj server Ollama běží na jiné adrese nebo portu:
V uživatelském rozhraní chatu: Nastav pole „Base API URL" v panelu nastavení AI.
Ruční připojení OpenCode (Terminál)
OpenCode (Terminál)
1. Instalace OpenCode
curl -fsSL https://opencode.ai/install | bash
2. Konfigurace modelu Qiskit
Vytvoř soubor opencode.json v kořenovém adresáři projektu (nebo ~/.config/opencode/opencode.json pro globální konfiguraci):
{
"$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. Výběr modelu
Spusť OpenCode v adresáři projektu:
opencode
V TUI spusť příkaz /models a vyber Qiskit Code Assistant ze seznamu.
4. Otestování
Polož otázku přímo v chatu, například: „Define a Bell circuit and run it using QiskitRuntimeService"
Dostupné modely
Aktuální modely
Toto jsou nejnovější doporučené modely pro použití s Qiskit Code Assistantem:
- Qiskit/mistral-small-3.2-24b-qiskit - Vydáno v říjnu 2025
- Qiskit/Qwen2.5-Coder-14B-Qiskit - Vydáno v červnu 2025
- qiskit/granite-3.3-8b-qiskit - Vydáno v červnu 2025
- qiskit/granite-3.2-8b-qiskit - Vydáno v červnu 2025
Modely GGUF (doporučeno pro osobní prostředí/notebooky)
Modely ve formátu GGUF jsou optimalizovány pro lokální použití a vyžadují méně výpočetních zdrojů:
-
mistral-small-3.2-24b-qiskit-GGUF – Vydáno v říjnu 2025
Natrénováno na datech Qiskit do verze 2.1 -
Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF – Vydáno v červnu 2025
Natrénováno na datech Qiskit do verze 2.0 -
qiskit/granite-3.3-8b-qiskit-GGUF – Vydáno v červnu 2025
Natrénováno na datech Qiskit do verze 2.0 -
qiskit/granite-3.2-8b-qiskit-GGUF – Vydáno v červnu 2025
Natrénováno na datech Qiskit do verze 2.0
Modely Qiskit Code Assistant s otevřeným zdrojovým kódem jsou dostupné ve formátu safetensors nebo GGUF file format a lze je stáhnout z Hugging Face, jak je popsáno níže.
Verze Qiskie použité pro trénování
| Model | Benchmark Metrics | Datum vydání | Natrénováno na verzi Qiskie | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| QiskitHumanEval-Hard | QiskitHumanEval | HumanEval | ASDiv | MathQA | SciQ | MBPP | IFEval | CrowsPairs (English) | TruthfulQA (MC1 acc) | |||
| mistral-small-3.2-24b-qiskit | 32.45 | 47.02 | 77.49 | 3.77 | 49.68 | 97.50 | 64.00 | 48.44 | 67.08 | 39.41 | Leden 2026 | 2.2 |
| Qwen2.5-Coder-14B-Qiskit | 25.17 | 49.01 | 91.46 | 4.21 | 53.90 | 97.00 | 77.60 | 49.64 | 65.18 | 37.82 | Červen 2025 | 2.0 |
| granite-3.3-8b-qiskit | 14.57 | 27.15 | 62.80 | 0.48 | 38.66 | 93.30 | 52.40 | 59.71 | 59.75 | 39.05 | Červen 2025 | 2.0 |
| granite-3.2-8b-qiskit | 9.93 | 24.50 | 57.32 | 0.09 | 41.41 | 96.30 | 51.80 | 60.79 | 66.79 | 40.51 | Červen 2025 | 2.0 |
| granite-8b-qiskit-rc-0.10 | 15.89 | 38.41 | 59.76 | — | — | — | — | — | — | — | Únor 2025 | 1.3 |
| granite-8b-qiskit | 17.88 | 44.37 | 53.66 | — | — | — | — | — | — | — | Listopad 2024 | 1.2 |
Poznámka: Všechny modely uvedené v tabulce benchmarků byly vyhodnoceny pomocí příslušného systémového promptu definovaného v jejich modelu na Hugging Face.
Zastaralé modely
Tyto modely již nejsou aktivně udržovány, ale zůstávají dostupné:
- qiskit/granite-8b-qiskit-rc-0.10 - Vydáno v únoru 2025 (zastaralé)
- qiskit/granite-8b-qiskit - Vydáno v listopadu 2024 (zastaralé)
Více informací a citace
Pokud se chceš dozvědět více o Qiskit Code Assistantu, benchmarcích Qiskit HumanEval nebo Qiskit HumanEval Hard a citovat je ve svých vědeckých publikacích, prohlédni si tato doporučená citace:
@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},
}