Vai al contenuto principale

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®.

Note
  • 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},
}

Passi successivi​

Raccomandazioni