Qiskit Code Assistant
Qiskit Code Assistant mira a rendere il quantum computing più accessibile ai nuovi utenti di Qiskit e a migliorare l'esperienza di programmazione per gli utenti già attivi. È un assistente di codice basato su intelligenza artificiale generativa, alimentato da watsonx. È stato addestrato utilizzando milioni di token di testo dal Qiskit SDK, anni di esempi di codice Qiskit e le funzionalità di IBM Quantum®. Qiskit Code Assistant può supportare il tuo flusso di lavoro per lo sviluppo quantistico offrendo suggerimenti generati da LLM basati sui modelli IBM Granite, che incorporano le funzionalità e le caratteristiche più recenti di IBM®.
- Questa è una funzionalità sperimentale disponibile per gli utenti del piano IBM Quantum Premium registrati sulla nuova IBM Quantum Platform.
- Qiskit Code Assistant è in stato di rilascio in anteprima ed è soggetto a modifiche.
- Per inviare feedback o contattare il team di sviluppo, usa il canale Qiskit Slack Workspace o i repository pubblici GitHub correlati.
Funzionalità
Le seguenti funzionalità sono incluse nelle estensioni per Visual Studio Code (VS Code) e gli editor compatibili, nonché per JupyterLab:
- Accelera la generazione di codice Qiskit sfruttando l'intelligenza artificiale generativa basata su modelli specializzati nella generazione di codice Qiskit.
- Consente prompt astratti e specifici per generare raccomandazioni.
- Presenta suggerimenti che puoi esaminare, accettare o rifiutare.
- Supporta file di codice Python e notebook Jupyter.
- Include meccanismi di protezione per evitare di rispondere a domande che rappresentano un potenziale rischio per gli utenti, come i discorsi d'odio.
Per le istruzioni su come integrare Qiskit Code Assistant direttamente nel tuo ambiente di sviluppo, segui le istruzioni nell'argomento appropriato:
Il Large Language Model (LLM) alla base di Qiskit Code Assistant
Per fornire suggerimenti di codice, Qiskit Code Assistant utilizza un Large Language Model (LLM). In questo caso, Qiskit Code Assistant si basa attualmente sul modello mistral-small-3.2-24b-qiskit, costruito sul modello Mistral-Small-3.2-24B-Qiskit. Il modello mistral-small-3.2-24b-qiskit migliora le capacità di generazione del codice per Qiskit del modello Mistral-Small-3.2-24B-Instruct-2506 attraverso un pre-addestramento esteso e il fine-tuning su dati Qiskit di alta qualità, nonché commit Python e chat. Per ulteriori informazioni sulla famiglia di modelli Mistral AI, consulta la documentazione di Mistral AI. Per maggiori dettagli sui modelli .*-qiskit, vedi Qiskit Code Assistant: Training LLMs for generating Quantum Computing Code.
I nostri LLM specializzati per Qiskit sono disponibili anche come modelli open source. Consulta tutti i modelli disponibili su https://huggingface.co/Qiskit.
I benchmark Qiskit HumanEval e Qiskit HumanEval Hard
Per testare il modello mistral-small-3.2-24b-qiskit e altri modelli, abbiamo collaborato con i Qiskit Advocates ed esperti del settore per creare i benchmark basati sull'esecuzione chiamati Qiskit HumanEval (QHE) e Qiskit HumanEval Hard (QHE Hard), ed eseguirli sui modelli. Questi benchmark sono simili a HumanEval e includono molteplici problemi di codice impegnativi da risolvere, tutti basati sulle librerie ufficiali di Qiskit.
I benchmark sono composti da circa 150 test, ognuno dei quali è composto da una definizione di funzione seguita da una docstring che dettaglia il compito che il modello deve risolvere. Ogni esempio include anche una soluzione canonica di riferimento e unit test per valutare la correttezza delle soluzioni generate. Esistono tre livelli di difficoltà per i test: base, intermedio e difficile. Il benchmark Qiskit HumanEval Hard è una variante del Qiskit HumanEval, ma rimuove le informazioni relative agli import del codice, quindi l'LLM deve determinare autonomamente i giusti import di metodi o classi. Questa modifica rende il dataset molto più impegnativo per gli LLM, secondo i nostri test e i risultati iniziali.
I dataset per Qiskit HumanEval e Qiskit HumanEval Hard sono disponibili sui seguenti siti: Qiskit HumanEval e Qiskit HumanEval. Puoi contribuire allo sviluppo di questi benchmark nel repository GitHub.
Ulteriori informazioni e citazioni
Per saperne di più su Qiskit Code Assistant, sui benchmark Qiskit HumanEval o Qiskit HumanEval Hard e per citarli nelle tue pubblicazioni scientifiche, consulta queste citazioni consigliate:
@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},
}
Usa Qiskit Code Assistant in modalità locale
Scopri come installare, configurare e usare uno qualsiasi dei modelli di Qiskit Code Assistant sulla tua macchina locale.
- Qiskit Code Assistant è in stato di rilascio in anteprima ed è soggetto a modifiche.
- Per inviare feedback o contattare il team di sviluppo, usa il canale Qiskit Slack Workspace o i repository pubblici GitHub correlati.
Avvio rapido (consigliato)
Il modo più semplice per iniziare con Qiskit Code Assistant in modalità locale è usare gli script di configurazione automatizzata per l'estensione VS Code o JupyterLab. Questi script installeranno automaticamente Ollama per eseguire gli LLM, scaricheranno il modello consigliato e configureranno l'estensione per te.
Configurazione dell'estensione VS Code
Esegui il seguente comando nel terminale:
bash <(curl -fsSL https://raw.githubusercontent.com/Qiskit/qiskit-code-assistant-vscode/main/setup_local.sh)
Questo script esegue i seguenti passaggi:
- Installa Ollama (se non è già installato)
- Scarica e configura il modello Qiskit Code Assistant consigliato
- Configura l'estensione VS Code per funzionare con la tua installazione locale
Configurazione dell'estensione JupyterLab
Esegui il seguente comando nel terminale:
bash <(curl -fsSL https://raw.githubusercontent.com/Qiskit/qiskit-code-assistant-jupyterlab/main/setup_local.sh)
Questo script eseguirà:
- Installazione di Ollama (se non è già installato)
- Download e configurazione del modello Qiskit Code Assistant consigliato
- Configurazione dell'estensione JupyterLab per funzionare con la tua installazione locale
Modelli disponibili
Modelli attuali
Questi sono i modelli più recenti consigliati per l'uso con Qiskit Code Assistant:
- Qiskit/mistral-small-3.2-24b-qiskit - Released October 2025
- qiskit/qwen2.5-coder-14b-qiskit - Released June 2025
- qiskit/granite-3.3-8b-qiskit - Released June 2025
- qiskit/granite-3.2-8b-qiskit - Released June 2025
Modelli GGUF (consigliati per ambienti personali/laptop)
I modelli in formato GGUF sono ottimizzati per l'uso locale e richiedono meno risorse computazionali:
-
mistral-small-3.2-24b-qiskit-GGUF – Released October 2025
Trained with Qiskit data up to version 2.1 -
qiskit/qwen2.5-coder-14b-qiskit-GGUF – Released June 2025
Trained with Qiskit data up to version 2.0 -
qiskit/granite-3.3-8b-qiskit-GGUF – Released June 2025
Trained with Qiskit data up to version 2.0 -
qiskit/granite-3.2-8b-qiskit-GGUF – Released June 2025
Trained with Qiskit data up to version 2.0
I modelli open source di Qiskit Code Assistant sono disponibili in formato safetensors o GGUF file format e possono essere scaricati da Hugging Face come spiegato di seguito.
Versioni di Qiskit usate per l'addestramento
| Modello | Metriche di benchmark | Data di rilascio | Addestrato sulla versione Qiskit | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
Nota: tutti i modelli elencati nella tabella di benchmark sono stati valutati usando il rispettivo prompt di sistema, definito nel loro modello Hugging Face.
Modelli deprecati
Questi modelli non sono più mantenuti attivamente ma rimangono disponibili:
- qiskit/granite-8b-qiskit-rc-0.10 - Released February 2025 (deprecated)
- qiskit/granite-8b-qiskit - Released November 2024 (deprecated)
Configurazione avanzata
Se preferisci configurare manualmente la tua installazione locale o hai bisogno di maggiore controllo sul processo di installazione, espandi le sezioni seguenti.
Scarica dal sito di Hugging Face
Segui questi passaggi per scaricare qualsiasi modello correlato a Qiskit Code Assistant dal sito di Hugging Face:
- Vai alla pagina del modello Qiskit desiderato su Hugging Face.
- Vai alla scheda Files and Versions e scarica i file del modello in formato safetensors o GGUF.
Scarica usando la CLI di Hugging Face
Per scaricare uno qualsiasi dei modelli Qiskit Code Assistant disponibili usando la CLI di Hugging Face, segui questi passaggi:
-
Installa la CLI di Hugging Face
-
Accedi al tuo account Hugging Face
huggingface-cli login -
Scarica il modello che preferisci dall'elenco precedente
huggingface-cli download <HF REPO NAME> <MODEL PATH> --local-dir <LOCAL PATH>
Distribuisci manualmente i modelli Qiskit Code Assistant in locale tramite Ollama
Esistono diversi modi per distribuire e interagire con il modello Qiskit Code Assistant scaricato. Questa guida illustra l'uso di Ollama: tramite l'applicazione Ollama usando l'integrazione con Hugging Face Hub o il modello locale, oppure con il pacchetto llama-cpp-python.
Usare l'applicazione Ollama
L'applicazione Ollama offre una soluzione semplice per eseguire gli LLM in locale. È facile da usare, con una CLI che rende l'intero processo di configurazione, la gestione dei modelli e l'interazione piuttosto semplici. È ideale per sperimentazioni rapide e per gli utenti che vogliono gestire meno dettagli tecnici.
Installa Ollama
-
Scarica l'applicazione Ollama
-
Installa il file scaricato
-
Avvia l'applicazione Ollama installata
infoL'applicazione è in esecuzione correttamente quando l'icona di Ollama appare nella barra dei menu del desktop. Puoi anche verificare che il servizio sia in esecuzione andando su
http://localhost:11434/. -
Prova Ollama nel terminale e inizia a eseguire i modelli. Per esempio:
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Configura Ollama usando l'integrazione con Hugging Face Hub
L'integrazione Ollama/Hugging Face Hub offre un modo per interagire con i modelli ospitati su Hugging Face Hub senza dover creare un nuovo modelfile né scaricare manualmente i file GGUF o safetensors. I file template e params predefiniti sono già inclusi per il modello su Hugging Face Hub.
-
Assicurati che l'applicazione Ollama sia in esecuzione.
-
Vai alla pagina del modello desiderato e copia l'URL. Per esempio, https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF.
-
Dal terminale, esegui il comando:
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Puoi usare il modello hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit o uno degli altri modelli GGUF ufficiali attualmente consigliati hf.co/Qiskit/mistral-small-3.2-24b-qiskit-GGUF o hf.co/Qiskit/granite-3.3-8b-qiskit-GGUF.
Configura Ollama con un modello GGUF di Qiskit Code Assistant scaricato manualmente
Se hai scaricato manualmente un modello GGUF come https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF e vuoi sperimentare con template e parametri diversi, puoi seguire questi passaggi per caricarlo nell'applicazione Ollama locale.
-
Crea un
Modelfileinserendo il seguente contenuto e assicurati di aggiornare<PATH-TO-GGUF-FILE>con il percorso effettivo del modello scaricato.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 -
Run the following command to create a custom model instance based on the
Modelfile.ollama create Qwen2.5-Coder-14B-Qiskit -f ./path-to-model-filenotaThis process may take some time for Ollama to read the model file, initialize the model instance, and configure it according to the specifications provided.
Run the Qiskit Code Assistant model manually downloaded in Ollama
After the Qwen2.5-Coder-14B-Qiskit model has been set up in Ollama, run the following command to launch the model and interact with it in the terminal (in chat mode).
ollama run Qwen2.5-Coder-14B-Qiskit
Some useful commands:
ollama list- List models on your computerollama rm Qwen2.5-Coder-14B-Qiskit- Delete the modelollama show Qwen2.5-Coder-14B-Qiskit- Show model informationollama stop Qwen2.5-Coder-14B-Qiskit- Stop a model that is currently runningollama ps- List which models are currently loaded
Manually deploy the Qiskit Code Assistant models in local through the llama-cpp-python package
An alternative to the Ollama application is the llama-cpp-python package, which is a Python binding for llama.cpp. It gives you more control and flexibility to run the GGUF model locally, and is ideal for users who wish to integrate the local model in their workflows and Python applications.
- Install
llama-cpp-python - Interact with the model from within your application using
llama_cpp. For example:
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"]
You can also add text generation parameters to the model to customize the 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"]
Manually deploy the Qiskit Code Assistant models in local through llama.cpp
Use the llama.cpp library
Another alternative is to use llama.cpp, an open-source library for performing LLM inference on a CPU with minimal setup.
It provides low-level control over the model execution and is typically run from the command line, pointing to a local GGUF model file.
There are several ways to install llama.cpp on your machine:
- Install llama.cpp using brew, nix, or winget
- Run with Docker: See out the Docker documentation by
llama.cppteam - Download pre-built binaries from the releases page
- Build from source by cloning this repository
Once installed, you can use llama.cpp to interact with GGUF models in conversation mode as follows:
# 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
You can also launch an OpenAI-compatible API server for the model in the following way:
llama-server -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF
Advanced parameters
With the llama-cli program, you can control the model generation using command-line options. For example, you can provide an initial “system” prompt using the -p/--prompt flag. In conversation mode (-cnv), this initial prompt acts as the system message. Otherwise, you can simply prepend any desired instruction to your prompt text. You can also adjust sampling parameters - for instance: temperature (--temp), top-k (--top-k), top-p (--top-p), repetition penalty (--repeat-penalty), and the seed to use (--seed). The following is an example invocation using these options:
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
Per garantire il corretto funzionamento dei nostri modelli Qiskit, consigliamo di usare il prompt di sistema fornito nei nostri repository GGUF su HF: prompt di sistema per mistral-small-3.2-24b-qiskit-GGUF, Qwen2.5-Coder-14B-Qiskit-GGUF, granite-3.3-8b-qiskit-GGUF e granite-3.2-8b-qiskit-GGUF.
Connetti manualmente le estensioni all'installazione locale
Usa l'estensione VS Code e l'estensione JupyterLab per Qiskit Code Assistant per interagire con il modello Qiskit Code Assistant distribuito localmente. Una volta configurata l'applicazione Ollama con il modello, puoi configurare le estensioni per connettersi al servizio locale.
Connetti con l'estensione VS Code di Qiskit Code Assistant
Con l'estensione VS Code di Qiskit Code Assistant, puoi interagire con il modello ed eseguire il completamento del codice mentre scrivi. Questo può essere utile per gli utenti che cercano assistenza nella scrittura di codice Qiskit per le loro applicazioni Python.
- Installa l'estensione VS Code di Qiskit Code Assistant.
- In VS Code, vai alle Impostazioni utente e imposta il Qiskit Code Assistant: Url sull'URL della tua installazione Ollama locale (ad esempio,
http://localhost:11434). - Ricarica VS Code andando su Visualizza > Riquadro comandi... e selezionando Developer: Reload Window.
Il modello Qiskit Code Assistant configurato in Ollama dovrebbe apparire nella barra di stato ed è quindi pronto per l'uso.
Connetti con l'estensione JupyterLab di Qiskit Code Assistant
Con l'estensione JupyterLab di Qiskit Code Assistant, puoi interagire con il modello ed eseguire il completamento del codice direttamente nel tuo Jupyter Notebook. Gli utenti che lavorano prevalentemente con i Jupyter Notebook possono sfruttare questa estensione per migliorare ulteriormente la loro esperienza nella scrittura di codice Qiskit.
- Installa l'estensione JupyterLab di Qiskit Code Assistant.
- In JupyterLab, vai all'Editor delle impostazioni e imposta il Qiskit Code Assistant Service API sull'URL della tua installazione Ollama locale (ad esempio,
http://localhost:11434).
Il modello Qiskit Code Assistant configurato in Ollama dovrebbe apparire nella barra di stato ed è quindi pronto per l'uso.
Passi successivi
- Installa e usa le estensioni ufficiali per JupyterLab o VS Code.
- Consulta esempi d'uso di Qiskit Code Assistant per i circuiti, la configurazione della soppressione degli errori e il transpiling con pass manager.