Aller au contenu principal

Qiskit Code Assistant

Qiskit Code Assistant a pour but de rendre l'informatique quantique plus accessible aux nouveaux utilisateurs de Qiskit et d'améliorer l'expérience de codage des utilisateurs actuels. C'est un assistant de code par IA générative propulsé par watsonx. Il est entraîné à partir de millions de tokens de texte issus du SDK Qiskit, d'années d'exemples de code Qiskit, et des fonctionnalités d'IBM Quantum®. Qiskit Code Assistant peut améliorer ton flux de développement quantique en proposant des suggestions générées par LLM basées sur les modèles IBM Granite, qui intègrent les dernières fonctionnalités d'IBM®.

Remarques
  • Il s'agit d'une fonctionnalité expérimentale disponible pour les utilisateurs du plan IBM Quantum Premium inscrits sur la nouvelle IBM Quantum Platform.
  • Qiskit Code Assistant est en version préliminaire et est susceptible d'évoluer.
  • Si tu as des retours ou souhaites contacter l'équipe de développement, utilise le canal Qiskit Slack Workspace ou les dépôts GitHub publics associés.

Fonctionnalités

Les fonctionnalités suivantes sont incluses dans les extensions pour Visual Studio Code (VS Code) et les éditeurs compatibles, ainsi que pour JupyterLab :

  • Accélère la génération de code Qiskit en exploitant l'IA générative à partir de modèles spécialisés dans la génération de code Qiskit.
  • Permet des prompts abstraits et spécifiques pour générer des recommandations.
  • Présente des suggestions que tu peux examiner, accepter ou rejeter.
  • Prend en charge les fichiers Python et les notebooks Jupyter.
  • Inclut des garde-fous pour éviter de répondre à des questions présentant un risque potentiel pour les utilisateurs, comme les discours haineux.

Pour intégrer Qiskit Code Assistant directement dans ton environnement de développement, suis les instructions dans la rubrique appropriée :

Le Grand Modèle de Langage (LLM) derrière Qiskit Code Assistant

Pour fournir des suggestions de code, Qiskit Code Assistant utilise un Grand Modèle de Langage (LLM). Dans ce cas, Qiskit Code Assistant s'appuie actuellement sur le modèle mistral-small-3.2-24b-qiskit, construit sur le modèle Mistral-Small-3.2-24B-Qiskit. Le modèle mistral-small-3.2-24b-qiskit améliore les capacités de génération de code Qiskit du modèle Mistral-Small-3.2-24B-Instruct-2506 grâce à un pré-entraînement étendu et à un affinage sur des données Qiskit de haute qualité, ainsi que sur des commits Python et des conversations. Pour plus d'informations sur la famille de modèles Mistral AI, consulte la documentation Mistral AI. Pour plus de détails sur les modèles .*-qiskit, voir Qiskit Code Assistant : Training LLMs for generating Quantum Computing Code.

Nos LLMs spécialisés pour Qiskit sont également disponibles en tant que modèles open source. Consulte tous les modèles disponibles sur https://huggingface.co/Qiskit.

Les benchmarks Qiskit HumanEval et Qiskit HumanEval Hard

Pour tester le modèle mistral-small-3.2-24b-qiskit et d'autres modèles, nous avons collaboré avec des Qiskit Advocates et des experts pour créer les benchmarks basés sur l'exécution appelés Qiskit HumanEval (QHE) et Qiskit HumanEval Hard (QHE Hard), et les avons appliqués aux modèles. Ces benchmarks sont similaires à HumanEval, et comprennent plusieurs problèmes de code complexes à résoudre, tous basés sur les bibliothèques officielles de Qiskit.

Les benchmarks sont composés d'environ 150 tests, chacun constitué d'une définition de fonction suivie d'une docstring qui détaille la tâche que le modèle doit résoudre. Chaque exemple inclut également une solution canonique de référence, ainsi que des tests unitaires, pour évaluer la correction des solutions générées. Il existe trois niveaux de difficulté pour les tests : basique, intermédiaire et difficile. Le benchmark Qiskit HumanEval Hard est une variante du Qiskit HumanEval, mais supprime les informations relatives aux imports de code, de sorte que le LLM doit déterminer les bons imports de méthodes ou de classes. Ce changement rend l'ensemble de données bien plus difficile pour les LLMs, selon nos tests et nos résultats initiaux.

Les jeux de données Qiskit HumanEval et Qiskit HumanEval Hard sont disponibles sur ces sites : Qiskit HumanEval et Qiskit HumanEval. Tu peux contribuer au développement de ces benchmarks sur le dépôt GitHub.

Plus d'informations et citations

Pour en savoir plus sur Qiskit Code Assistant, les benchmarks Qiskit HumanEval ou Qiskit HumanEval Hard, et les citer dans tes publications scientifiques, consulte ces citations recommandées :

@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},
}

Prochaines étapes

Recommandations