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- Zobrazí seznam modelů na tvém počítači -
ollama rm Qwen2.5-Coder-14B-Qiskit- Smaže model -
ollama show Qwen2.5-Coder-14B-Qiskit- Zobrazí informace o modelu -
ollama stop Qwen2.5-Coder-14B-Qiskit- Zastaví model, který je aktuálně spuštěný -
ollama ps- Zobrazí seznam modelů, které jsou aktuálně načtené
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íce kontroly a flexibility 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 workflow a Python aplikací.
-
Nainstaluj
llama-cpp-python -
Komunikuj s modelem přímo ve tvé aplikaci 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 k modelu, abys přizpůsobil inferenci:
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žij knihovnu llama.cpp
Další alternativou je použít llama.cpp, open-source knihovnu pro provádění LLM inference na CPU s minimálním nastavením.
Poskytuje nízkoúrovňovou kontrolu nad prováděním modelu a obvykle se spouští z příkazové řádky, přičemž ukazuje 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ť pomocí Dockeru: Podívej se na dokumentaci Dockeru od týmu
llama.cpp -
Stáhni si předem sestavené binárky ze stránky s vydáními
-
Sestav ze zdrojového kódu naklonováním tohoto repozitáře
Jakmile je nainstalováno, můžeš použít llama.cpp pro komunikaci s modely GGUF v konverzačním režimu následovně:
# Use a local model file \{#use-a-local-model-file}
llama-cli -m my_model.gguf -cnv
# Or download and run a model directly from Hugging Face \{#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 API server kompatibilní s OpenAI pro daný model následujícím způsobem:
llama-server -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF
Pokročilé parametry
S programem llama-cli můžeš ovládat generování modelu pomocí voleb příkazové řádky. Můžeš například poskytnout počáteční „systémový“ prompt pomocí příznaku -p/--prompt. V konverzačním režimu (-cnv) funguje tento počáteční prompt jako systémová zpráva. Jinak můžeš jednoduše připojit jakoukoli požadovanou instrukci před text svého promptu. Můžeš také upravit parametry vzorkování - například: teplotu (--temp), top-k (--top-k), top-p (--top-p), penalizaci za opakování (--repeat-penalty) a seed, který se má použít (--seed). Následuje příklad volání pomocí těchto voleb:
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 byla zajištěna správná funkčnost našich Qiskit modelů, doporučujeme použít systémový prompt uvedený v našich repozitářích HF GGUF: 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. Nainstaluj rozšíření
Otevři VS Code, přejdi na Extensions (Cmd+Shift+X), vyhledej Continue a nainstaluj ho.
2. Otevři konfiguraci
Klikni na ikonu Continue v postranním panelu, poté klikni na ikonu ozubeného kola, 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. Nakonfiguruj model
Přidej následující do config.yaml:
models:
- name: Qiskit Code Assistant
provider: ollama
model: mistral-small-3.2-24b-qiskit
apiBase: http://localhost:11434
Tím zpřístupníš model Qiskit v chatovacím panelu (konverzace v postranním panelu, inline dotazy) a pro příkazy inline úprav.
4. Test it
-
Chat: Otevři panel Continue v postranním panelu a polož otázku (např. „Jak vytvořím parametrizovaný obvod v Qiskitu?“)
-
Inline úprava: 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 instrukce se týkají Jupyter AI v2.x.
1. Nainstaluj 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 dokázal detekovat Ollama jako poskytovatele. Bez něj se Ollama neobjeví v panelu nastavení.
Poté restartuj JupyterLab.
2. Nakonfiguruj model 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 Ollama není potřeba žádný API klíč (ponech pole prázdné).
-
Klikni na šipku zpět, aby ses začal bavit.
3. Použij magický příkaz %%ai
Magický příkaz %%ai ti umožní dotazovat se modelu 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 Ollama (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. Nainstaluj OpenCode
curl -fsSL https://opencode.ai/install | bash
2. Nakonfiguruj model Qiskit
Vytvoř soubor opencode.json v kořeni tvého 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. Vyber model
Spusť OpenCode ve svém adresáři projektu:
opencode
Uvnitř TUI spusť příkaz /models a vyber Qiskit Code Assistant ze seznamu.
4. Test it
Polož otázku přímo v chatu, například: „Definuj Bellův obvod a spusť ho pomocí 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
Trénováno na datech Qiskitu do verze 2.1
-
Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF – Vydáno v červnu 2025
Trénováno na datech Qiskitu do verze 2.0
-
qiskit/granite-3.3-8b-qiskit-GGUF – Vydáno v červnu 2025
Trénováno na datech Qiskitu do verze 2.0
-
qiskit/granite-3.2-8b-qiskit-GGUF – Vydáno v červnu 2025
Trénováno na datech Qiskitu do verze 2.0
Open Source modely Qiskit Code Assistantu jsou dostupné ve formátu safetensors nebo GGUF a lze je stáhnout z Hugging Face, jak je vysvětleno níže.
Verze Qiskitu použité pro trénování
| Model | Benchmark Metrics | Release date | Trained on Qiskit version | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | January 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 | June 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 | June 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 | June 2025 | 2.0 |
| granite-8b-qiskit-rc-0.10 | 15.89 | 38.41 | 59.76 | — | — | — | — | — | — | — | February 2025 | 1.3 |
| granite-8b-qiskit | 17.88 | 44.37 | 53.66 | — | — | — | — | — | — | — | November 2024 | 1.2 |
Poznámka: Všechny modely uvedené v tabulce benchmarků byly hodnoceny pomocí příslušného systémového promptu, definovaného v jejich modelu na Hugging Face.
Zastaralé modely
Tyto modely už 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é)
Další informace a citace
Chceš-li se 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 tyto 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},
}