Qiskit Code Assistant
LLM-urile Qiskit Code Assistant își propun să facă informatica cuantică mai accesibilă noilor utilizatori Qiskit și să îmbunătățească experiența de programare pentru utilizatorii actuali. A fost antrenat folosind milioane de tokeni de text din Qiskit SDK, ani de exemple de cod Qiskit și funcționalități IBM Quantum®. Qiskit Code Assistant poate sprijini fluxul tău de lucru în dezvoltarea cuantică oferind sugestii generate de LLM bazate pe modele IBM Granite și alte modele open-source care încorporează cele mai recente funcționalități și caracteristici de la IBM®.
- Vrei să sari direct la instrucțiunile de instalare? Mergi la secțiunea Instalează Qiskit Code Assistant.
- Dacă ai feedback sau dorești să contactezi echipa de dezvoltare, folosește canalul Qiskit Slack Workspace sau depozitele publice GitHub aferente.
Modelul lingvistic de mari dimensiuni (LLM) din spatele Qiskit Code Assistant
Pentru a oferi sugestii de cod, Qiskit Code Assistant folosește un Model Lingvistic de Mari Dimensiuni (LLM). În acest caz, Qiskit Code Assistant se bazează în prezent pe modelul mistral-small-3.2-24b-qiskit, construit pe modelul Mistral-Small-3.2-24B-Qiskit. Modelul mistral-small-3.2-24b-qiskit îmbunătățește capacitățile de generare a codului modelului Mistral-Small-3.2-24B-Instruct-2506 pentru Qiskit prin preantrenare extinsă și ajustare fină pe date Qiskit de înaltă calitate, precum și pe commit-uri Python și conversații. Pentru mai multe informații despre familia de modele Mistral AI, consultă documentația Mistral AI. Pentru mai multe detalii despre modelele .*-qiskit, vezi Qiskit Code Assistant: Training LLMs for generating Quantum Computing Code.
LLM-urile noastre specializate pentru Qiskit sunt disponibile și ca modele open-source. Verifică toate modelele disponibile la https://huggingface.co/Qiskit.
Benchmark-urile Qiskit HumanEval și Qiskit HumanEval Hard
Pentru a testa modelul mistral-small-3.2-24b-qiskit și alte modele, am colaborat cu Qiskit Advocates și experți pentru a crea benchmark-urile bazate pe execuție numite Qiskit HumanEval (QHE) și Qiskit HumanEval Hard (QHE Hard), pe care le-am rulat pe modele. Aceste benchmark-uri sunt similare cu HumanEval, incluzând multiple probleme de cod dificile de rezolvat, toate bazate pe bibliotecile oficiale Qiskit.
Benchmark-urile sunt compuse din aproximativ 150 de teste, fiecare construit dintr-o definiție de funcție, urmată de un docstring care detaliază sarcina pe care modelul trebuie să o rezolve. Fiecare exemplu include, de asemenea, o soluție canonică de referință, precum și teste unitare, pentru a evalua corectitudinea soluțiilor generate. Există trei niveluri de dificultate pentru teste: de bază, intermediar și dificil. Benchmark-ul Qiskit HumanEval Hard este o variație a celui Qiskit HumanEval, dar elimină informațiile legate de importurile de cod, astfel încât LLM-ul trebuie să determine importurile corecte de metode sau clase. Această modificare face setul de date mult mai dificil pentru LLM-uri, conform testelor și rezultatelor noastre inițiale.
Seturile de date pentru Qiskit HumanEval și Qiskit HumanEval Hard sunt disponibile pe aceste site-uri: Qiskit HumanEval și Qiskit HumanEval. Poți contribui la dezvoltarea acestor benchmark-uri la depozitul GitHub.
Instalează Qiskit Code Assistant
Află cum să instalezi, configurezi și folosești oricare dintre modelele Qiskit Code Assistant pe mașina ta locală.
Descarcă de pe site-ul Hugging Face
Urmează acești pași pentru a descărca orice model legat de Qiskit Code Assistant de pe site-ul Hugging Face:
- Navighează la pagina modelului Qiskit dorit pe Hugging Face.
- Mergi la fila Files and Versions și descarcă fișierele modelului safetensors sau GGUF.
Descarcă folosind CLI-ul Hugging Face
Pentru a descărca oricare dintre modelele Qiskit Code Assistant disponibile folosind CLI-ul Hugging Face, urmează acești pași:
-
Instalează CLI-ul Hugging Face
-
Conectează-te la contul tău Hugging Face
huggingface-cli login -
Descarcă modelul preferat din lista anterioară
huggingface-cli download <HF REPO NAME> <MODEL PATH> --local-dir <LOCAL PATH>
Implementează manual modelele Qiskit Code Assistant local prin Ollama
Există mai multe modalități de a implementa și interacționa cu modelul Qiskit Code Assistant descărcat. Acest ghid demonstrează utilizarea Ollama astfel: fie cu aplicația Ollama folosind integrarea Hugging Face Hub sau modelul local, fie cu pachetul llama-cpp-python.
Folosind aplicația Ollama
Aplicația Ollama oferă o soluție simplă pentru a rula LLM-urile local. Este ușor de folosit, cu un CLI care face întregul proces de configurare, gestionarea modelelor și interacțiunea destul de simple. Este ideală pentru experimentare rapidă și pentru utilizatorii care doresc să gestioneze mai puține detalii tehnice.
Instalează Ollama
-
Descarcă aplicația Ollama
-
Instalează fișierul descărcat
-
Lansează aplicația Ollama instalată
infoAplicația rulează cu succes când pictograma Ollama apare în bara de meniu de pe desktop. Poți verifica, de asemenea, că serviciul rulează accesând
http://localhost:11434/. -
Încearcă Ollama în terminal și începe să rulezi modele. De exemplu:
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Configurează Ollama folosind integrarea Hugging Face Hub
Integrarea Ollama/Hugging Face Hub oferă o modalitate de a interacționa cu modelele găzduite pe Hugging Face Hub fără a fi nevoie să creezi un nou modelfile sau să descarci manual fișierele GGUF sau safetensors. Fișierele implicite template și params sunt deja incluse pentru model pe Hugging Face Hub.
-
Asigură-te că aplicația Ollama rulează.
-
Mergi la pagina modelului dorit și copiază URL-ul. De exemplu, https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF.
-
Din terminal, rulează comanda:
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Poți folosi modelul hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit sau oricare dintre celelalte modele GGUF oficiale recomandate în prezent: hf.co/Qiskit/mistral-small-3.2-24b-qiskit-GGUF sau hf.co/Qiskit/granite-3.3-8b-qiskit-GGUF.
Configurează Ollama cu un model GGUF Qiskit Code Assistant descărcat manual
Dacă ai descărcat manual un model GGUF, de exemplu https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF, și dorești să experimentezi cu diferite template-uri și parametri, poți urma acești pași pentru a-l încărca în aplicația ta locală Ollama.
-
Creează un
Modelfileintroducând următorul conținut și asigură-te că actualizezi<PATH-TO-GGUF-FILE>cu calea reală a modelului descărcat.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 -
Rulează următoarea comandă pentru a crea o instanță de model personalizată bazată pe
Modelfile.ollama create Qwen2.5-Coder-14B-Qiskit -f ./path-to-model-filenotăAcest proces poate dura ceva timp pentru ca Ollama să citească fișierul modelului, să inițializeze instanța modelului și să o configureze conform specificațiilor furnizate.
Rulează modelul Qiskit Code Assistant descărcat manual în Ollama
După ce modelul Qwen2.5-Coder-14B-Qiskit a fost configurat în Ollama, rulează următoarea comandă pentru a lansa modelul și a interacționa cu el în terminal (în modul chat).
ollama run Qwen2.5-Coder-14B-Qiskit
Câteva comenzi utile:
ollama list- Listează modelele de pe computerul tăuollama rm Qwen2.5-Coder-14B-Qiskit- Șterge modelulollama show Qwen2.5-Coder-14B-Qiskit- Afișează informații despre modelollama stop Qwen2.5-Coder-14B-Qiskit- Oprește un model care rulează în prezentollama ps- Listează modelele încărcate în prezent
Implementează manual modelele Qiskit Code Assistant local prin pachetul llama-cpp-python
O alternativă la aplicația Ollama este pachetul llama-cpp-python, care este un binding Python pentru llama.cpp. Îți oferă mai mult control și flexibilitate pentru a rula modelul GGUF local și este ideal pentru utilizatorii care doresc să integreze modelul local în fluxurile lor de lucru și aplicațiile Python.
- Instalează
llama-cpp-python - Interacționează cu modelul din cadrul aplicației tale folosind
llama_cpp. De exemplu:
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”]
Poți adăuga și parametri de generare a textului modelului pentru a personaliza inferența:
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”]
Implementează manual modelele Qiskit Code Assistant local prin llama.cpp
Folosește biblioteca llama.cpp
O altă alternativă este să folosești llama.cpp, o bibliotecă open-source pentru efectuarea inferenței LLM pe un CPU cu configurare minimă.
Oferă control de nivel scăzut asupra execuției modelului și este de obicei rulată din linia de comandă, indicând un fișier model GGUF local.
Există mai multe modalități de a instala llama.cpp pe mașina ta:
- Instalează llama.cpp folosind brew, nix sau winget
- Rulează cu Docker: Consultă documentația Docker a echipei
llama.cpp - Descarcă binare precompilate de pe pagina de lansări
- Compilează din sursă prin clonarea acestui depozitar
Odată instalat, poți folosi llama.cpp pentru a interacționa cu modelele GGUF în modul conversație astfel:
# 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
Poți lansa, de asemenea, un server API compatibil OpenAI pentru model în felul următor:
llama-server -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF
Parametri avansați
Cu programul llama-cli, poți controla generarea modelului folosind opțiuni din linia de comandă. De exemplu, poți furniza un prompt inițial de „sistem” folosind indicatorul -p/--prompt. În modul conversație (-cnv), acest prompt inițial acționează ca mesajul de sistem. În caz contrar, poți adăuga pur și simplu orice instrucțiune dorită la textul promptului. Poți ajusta și parametrii de eșantionare — de exemplu: temperatura (--temp), top-k (--top-k), top-p (--top-p), penalizarea repetiției (--repeat-penalty) și seed-ul de utilizat (--seed). Iată un exemplu de invocare folosind aceste opțiuni:
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
Pentru a asigura funcționalitatea corectă a modelelor noastre Qiskit, recomandăm utilizarea promptului de sistem furnizat în depozitarele noastre HF GGUF: prompt de sistem pentru mistral-small-3.2-24b-qiskit-GGUF, Qwen2.5-Coder-14B-Qiskit-GGUF, granite-3.3-8b-qiskit-GGUF și granite-3.2-8b-qiskit-GGUF.
Conectează manual Continue (VS Code)
Continue (VS Code)
1. Instalează extensia
Deschide VS Code, mergi la Extensii (Cmd+Shift+X), caută Continue, instalează-o.
2. Deschide configurația
Fă clic pe pictograma Continue din bara laterală, apoi fă clic pe pictograma roată, sau deschide paleta de comenzi (Cmd+Shift+P) și rulează Continue: Open Config File.
Se deschide ~/.continue/config.yaml (sau config.json în versiunile mai vechi).
3. Configurează modelul
Adaugă următoarele în config.yaml:
models:
- name: Qiskit Code Assistant
provider: ollama
model: mistral-small-3.2-24b-qiskit
apiBase: http://localhost:11434
Aceasta face modelul Qiskit disponibil în panoul de chat (conversații în bara laterală, Q&A inline) și pentru comenzile de editare inline.
4. Testează-l
- Chat: Deschide panoul Continue din bara laterală și pune o întrebare (ex., „Cum creez un circuit parametrizat în Qiskit?”)
- Editare inline: Selectează un bloc de cod, apasă
Cmd+I(Mac) sauCtrl+I(Linux/Windows)
Conectează manual Jupyter AI (JupyterLab)
Jupyter AI (JupyterLab)
Notă: Aceste instrucțiuni acoperă Jupyter AI v2.x.
1. Instalează Jupyter AI și furnizorul Ollama
pip install “jupyter-ai<3” langchain-ollama
Pin-ul ”jupyter-ai<3” asigură că obții v2.x. Pachetul langchain-ollama este necesar pentru ca Jupyter AI să detecteze Ollama ca furnizor. Fără el, Ollama nu va apărea în panoul de setări.
Apoi repornește JupyterLab.
2. Configurează modelul de chat
Deschide JupyterLab și fă clic pe pictograma de chat din bara laterală stângă. În panoul de setări:
- Sub Language model, selectează Ollama ca furnizor.
- Introdu
mistral-small-3.2-24b-qiskitca nume de model. - Nu este necesară o cheie API pentru Ollama (lasă câmpul gol).
- Fă clic pe săgeata înapoi pentru a începe conversația.
3. Folosește comanda magică %%ai
Magia %%ai îți permite să interoghezi modelul direct în celulele notebook-ului.
%load_ext jupyter_ai_magics
Apoi într-o celulă:
%%ai ollama:mistral-small-3.2-24b-qiskit
Write a function that implements Grover's algorithm using Qiskit
4. Gazdă Ollama personalizată (opțional)
În mod implicit, Jupyter AI se conectează la http://127.0.0.1:11434. Dacă serverul tău Ollama rulează la o altă adresă sau port:
În interfața de chat: Setează câmpul „Base API URL” în panoul de setări AI.
Conectează manual OpenCode (Terminal)
OpenCode (Terminal)
1. Instalează OpenCode
curl -fsSL https://opencode.ai/install | bash
2. Configurează modelul Qiskit
Creează un fișier opencode.json în directorul rădăcină al proiectului tău (sau ~/.config/opencode/opencode.json pentru o configurație globală):
{
“$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. Selectează modelul
Lansează OpenCode în directorul proiectului tău:
opencode
În TUI, rulează comanda /models și selectează Qiskit Code Assistant din listă.
4. Testează-l
Pune o întrebare direct în chat, de exemplu: „Define a Bell circuit and run it using QiskitRuntimeService”
Modele disponibile
Modele curente
Acestea sunt cele mai recente modele recomandate pentru utilizarea cu Qiskit Code Assistant:
- Qiskit/mistral-small-3.2-24b-qiskit - Lansat în octombrie 2025
- Qiskit/Qwen2.5-Coder-14B-Qiskit - Lansat în iunie 2025
- qiskit/granite-3.3-8b-qiskit - Lansat în iunie 2025
- qiskit/granite-3.2-8b-qiskit - Lansat în iunie 2025
Modele GGUF (recomandate pentru medii personale/laptopuri)
Modelele în format GGUF sunt optimizate pentru utilizare locală și necesită resurse de calcul mai reduse:
-
mistral-small-3.2-24b-qiskit-GGUF – Lansat în octombrie 2025
Antrenat cu date Qiskit până la versiunea 2.1 -
Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF – Lansat în iunie 2025
Antrenat cu date Qiskit până la versiunea 2.0 -
qiskit/granite-3.3-8b-qiskit-GGUF – Lansat în iunie 2025
Antrenat cu date Qiskit până la versiunea 2.0 -
qiskit/granite-3.2-8b-qiskit-GGUF – Lansat în iunie 2025
Antrenat cu date Qiskit până la versiunea 2.0
Modelele open-source Qiskit Code Assistant sunt disponibile în format safetensors sau GGUF și pot fi descărcate de pe Hugging Face după cum este explicat mai jos.
Versiunile Qiskit folosite pentru antrenament
| 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 |
Notă: Toate modelele listate în tabelul de benchmark au fost evaluate folosind promptul de sistem corespunzător, definit în modelul lor de pe Hugging Face.
Modele deprecate
Aceste modele nu mai sunt menținute activ, dar rămân disponibile:
- qiskit/granite-8b-qiskit-rc-0.10 - Lansat în februarie 2025 (deprecat)
- qiskit/granite-8b-qiskit - Lansat în noiembrie 2024 (deprecat)
Mai multe informații și citări
Pentru a afla mai multe despre Qiskit Code Assistant, benchmark-urile Qiskit HumanEval sau Qiskit HumanEval Hard și pentru a le cita în publicațiile tale științifice, consultă aceste citări recomandate:
@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},
}