Qiskit Code Assistant
Qiskit Code Assistant Les LLM visent à rendre l'informatique quantique plus accessible aux nouveaux utilisateurs de Qiskit et à améliorer l'expérience de programmation pour les utilisateurs actuels. Il a été entraîné à partir de millions de tokens textuels provenant de Qiskit SDK, d'années d'exemples de code Qiskit et de caractéristiques issues de IBM Quantum®. Qiskit Code Assistant peut faciliter votre processus de développement quantique en proposant des suggestions générées par des modèles de langage (LLM) basés sur IBM Granite et d'autres modèles open source, qui intègrent les dernières fonctionnalités de IBM®.
- Vous souhaitez passer directement aux instructions d'installation? Accédez à la section « Installation d' Qiskit Code Assistant ».
- Si vous avez des commentaires ou souhaitez contacter l'équipe de développeurs, utilisez le canal Qiskit Slack Workspace ou les dépôts publics GitHub.
Le modèle linguistique à grande échelle (LLM) derrière Qiskit Code Assistant
Pour fournir des suggestions de code, Qiskit Code Assistant utilise un modèle linguistique de grande taille (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 mistral-small-3.2-24b-qiskit modèle améliore les capacités de génération Mistral-Small-3.2-24B-Instruct-2506 de code du modèle pour Qiskit grâce à un pré-entraînement étendu et à un réglage fin sur des données Qiskit de haute qualité, ainsi qu'à des engagements et des discussions sur Python. Pour plus d'informations sur la famille de modèles Mistral AI, consultez la documentation Mistral AI. Pour plus de détails sur les .*-qiskit modèles, consultez « Qiskit Code Assistant : Training LLMs for generating Quantum Computing Code » (Modèles d'apprentissage automatique pour générer des programmes informatiques quantiques : formation des LLMs pour générer du code informatique quantique).
Nos LLM spécialisés pour Qiskit sont également disponibles en tant que modèles open-source. Consultez tous les modèles disponibles sur https://huggingface.co/Qiskit.
Les benchmarks difficiles Qiskit HumanEval et Qiskit HumanEval
Pour tester le mistral-small-3.2-24b-qiskit et d'autres modèles, nous avons collaboré avec Qiskit Advocates et des experts afin de créer des benchmarks basés sur l'exécution appelés Qiskit HumanEval (QHE) et Qiskit HumanEval Hard (QHE Hard), que nous avons ensuite exécutés sur les modèles. Ces benchmarks sont similaires à HumanEval, comprenant plusieurs problèmes de code complexes à résoudre, tous basés sur les bibliothèques officielles Qiskit.
Les benchmarks sont composés d'environ 150 tests, chacun étant constitué d'une définition de fonction, suivie d'une chaîne de documentation qui détaille la tâche que le modèle doit résoudre. Chaque exemple comprend également une solution canonique de référence, ainsi que des tests unitaires, afin d'évaluer l'exactitude 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 benchmark HumanEval Qiskit, mais supprime les informations relatives aux importations de code, de sorte que le LLM doit déterminer la bonne méthode ou les bonnes importations de classe. Selon nos tests et nos premiers résultats, cette modification rend l'ensemble de données beaucoup plus difficile à traiter pour les modèles d'apprentissage automatique (LLM).
Les ensembles de données pour Qiskit HumanEval et Qiskit HumanEval Hard sont disponibles sur les sites Web suivants : Qiskit HumanEval et Qiskit HumanEval. Vous pouvez contribuer au développement de ces benchmarks sur le dépôt GitHub.
Installer l' Qiskit Code Assistant
Découvrez comment installer, configurer et utiliser n'importe quel modèle d' Qiskit Code Assistant s sur votre ordinateur.
Suivez ces étapes pour télécharger n'importe quel modèle lié à l' Qiskit Code Assistant depuis le site web Hugging Face :
- Accédez à la page du modèle Qiskit souhaité sur Hugging Face.
- Accédez à l'onglet «** Fichiers et versions** » et téléchargez les fichiers de modèles safetensors ou GGUF.
Pour télécharger l'un des modèles disponibles sur Qiskit Code Assistant à l'aide de l'interface de ligne de commande (CLI) de Hugging Face, procédez comme suit :
-
Installez l'interface de ligne de commande (CLI) d' Hugging Face
-
Connectez-vous à votre compte Hugging Face
huggingface-cli login -
Téléchargez le modèle de votre choix dans la liste ci-dessus
huggingface-cli download <HF REPO NAME> <MODEL PATH> --local-dir <LOCAL PATH>
-
Il existe plusieurs façons de déployer le modèle « Qiskit Code Assistant » téléchargé et d'interagir avec celui-ci. Ce guide explique comment utiliser Ollama de la manière suivante : soit avec le Application Ollama en utilisant l'intégration Hugging Face Hub ou le modèle local, soit avec le
llama-cpp-pythoncolis.Utilisation de l'application Ollama
L'application Ollama offre une solution simple pour exécuter les modèles de langage à grande échelle (LLM) en local. Il est facile à utiliser, grâce à une interface en ligne de commande qui simplifie considérablement le processus d'installation, la gestion des modèles et l'interaction. C'est la solution idéale pour mener rapidement des essais et pour les utilisateurs qui souhaitent avoir moins de détails techniques à gérer.
Installer Ollama
-
Téléchargez l 'application Ollama
-
Installez le fichier téléchargé
-
Lancez l'application Ollama installée
InfoL'application fonctionne correctement lorsque l'icône Ollama apparaît dans la barre de menu du bureau. Vous pouvez également vérifier si le service est en cours d'exécution en vous rendant sur
http://localhost:11434/. -
Essayez Ollama dans votre terminal et lancez des modèles. Par exemple :
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Configurez Ollama à l'aide de l'intégration Hub d' Hugging Face
L' intégration Ollama/ Hugging Face Hub offre un moyen d'interagir avec les modèles hébergés sur Hugging Face Hub sans avoir besoin de créer un nouveau fichier de modèle ni de télécharger manuellement les fichiers GGUF ou safetensors. Les fichiers
paramspartemplatedéfaut sont déjà inclus pour le modèle sur la plateforme Hugging Face.-
Assurez-vous que l'application Ollama est en cours d'exécution.
-
Rendez-vous sur la page du modèle souhaité et copiez l' URL Par exemple, https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF.
-
Dans votre terminal, exécutez la commande suivante :
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Vous pouvez utiliser ce
hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskitmodèle ou n'importe lequel des autres modèles officiels du GGUF actuellementhf.co/Qiskit/mistral-small-3.2-24b-qiskit-GGUF``hf.co/Qiskit/granite-3.3-8b-qiskit-GGUFrecommandés.Configurer Ollama à l'aide d'un modèle GGUF de l' Qiskit Code Assistant téléchargé manuellement
Si vous avez téléchargé manuellement un modèle GGUF, tel que https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF, et que vous souhaitez tester différents modèles et paramètres, vous pouvez suivre ces étapes pour le charger dans votre application Ollama locale.
-
Créez un fichier
Modelfileen y saisissant le contenu suivant et veillez à remplacer<PATH-TO-GGUF-FILE>par le chemin d'accès réel de votre modèle téléchargé.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 -
Exécutez la commande suivante pour créer une instance de modèle personnalisée basée sur le fichier
Modelfile.ollama create Qwen2.5-Coder-14B-Qiskit -f ./path-to-model-fileNoteCe processus peut prendre un certain temps, le temps qu'Ollama lise le fichier du modèle, initialise l'instance du modèle et la configure conformément aux spécifications fournies.
Exécutez manuellement le modèle « Qiskit Code Assistant » téléchargé dans Ollama
Une fois le
Qwen2.5-Coder-14B-Qiskitmodèle configuré dans Ollama, exécutez la commande suivante pour le lancer et interagir avec lui dans le terminal (en mode chat).ollama run Qwen2.5-Coder-14B-QiskitQuelques commandes utiles :
ollama list- Répertorier les modèles présents sur votre ordinateurollama rm Qwen2.5-Coder-14B-Qiskit- Supprimer le modèleollama show Qwen2.5-Coder-14B-Qiskit- Afficher les informations sur le modèleollama stop Qwen2.5-Coder-14B-Qiskit- Arrêter un modèle en cours d'exécutionollama ps- Afficher la liste des modèles actuellement chargés
-
Une alternative à l'application Ollama est le
llama-cpp-pythonpaquet, qui est une interface de liaison avec Python pourllama.cpp. L'exécution du modèle GGUF en local vous offre davantage de contrôle et de flexibilité; cette solution est idéale pour les utilisateurs qui souhaitent intégrer le modèle local dans leurs flux de travail et leurs applications d' Python.- Installer
llama-cpp-python - Interagissez avec le modèle depuis votre application à l'aide de
llama_cpp. Par exemple :
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"]Vous pouvez également ajouter des paramètres de génération de texte au modèle afin de personnaliser l'inférence :
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"]- Installer
Utilisez la
llama.cppbibliothèqueUne autre solution consiste à utiliser
llama.cpp, une bibliothèque open source permettant d'effectuer des inférences LLM sur un processeur (CPU) avec une configuration minimale. Il offre un contrôle de bas niveau sur l'exécution du modèle et s'exécute généralement depuis la ligne de commande, en indiquant un fichier de modèle GGUF local.Il existe plusieurs façons d'installer [le logiciel
llama.cpp] sur votre ordinateur :- Installez llama.cpp à l'aide de brew, nix ou winget
- Jouer jusqu'à la fin Docker : Docker documentation par
llama.cppl'équipe - Télécharger les binaires précompilés depuis la page des versions
- Compilez à partir du code source en clonant ce dépôt
Une fois l'installation terminée, vous pouvez utiliser
llama.cpppour interagir avec les modèles GGUF en mode conversation comme suit :# 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 -cnvVous pouvez également lancer un serveur API OpenAI-compatible pour le modèle de la manière suivante :
llama-server -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUFParamètres avancés
Grâce à ce
llama-cliprogramme, vous pouvez contrôler la génération du modèle à l'aide d'options de ligne de commande. Par exemple, vous pouvez définir une invite « système » initiale à l'aide du-p/--promptdrapeau. En mode conversationnel (-cnv), cette invite initiale fait office de message système. Sinon, vous pouvez simplement ajouter l'instruction de votre choix au début du texte de votre invite. Vous pouvez également régler les paramètres d'échantillonnage, par exemple : la température (--temp), top-k (--top-k), top-p (--top-p), la pénalité de répétition (--repeat-penalty) et la graine à utiliser (--seed). Voici un exemple d'appel utilisant ces 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 42Pour garantir le bon fonctionnement de nos modèles Qiskit, nous vous recommandons d'utiliser l'invite système fournie dans nos dépôts HF GGUF : invite système pour mistral-small-3.2-24b-qiskit-GGUF, Qwen2.5-Coder-14B-Qiskit-GGUF, granite-3.3-8b-qiskit-GGUF et granite-3.2-8b-qiskit-GGUF.
Continuer (VS Code)
1. Installez l'extension
Ouvrez VS Code, allez dans Extensions (
Cmd+Shift+X), recherchez Continue, puis installez-le.2. Ouvrez le fichier de configuration
Cliquez sur l'icône Continuer dans la barre latérale, puis sur l'icône en forme d'engrenage, ou ouvrez la palette de commandes (
Cmd+Shift+P) et sélectionnez Continuer : Ouvrir le fichier de configuration.Cela ouvre
~/.continue/config.yaml(ouconfig.jsondans les versions plus anciennes).3. Configurer le modèle
Ajoutez ce qui suit à
config.yaml:models: - name: Qiskit Code Assistant provider: ollama model: mistral-small-3.2-24b-qiskit apiBase: http://localhost:11434Le modèle Qiskit est ainsi disponible dans le panneau de discussion (conversations dans la barre latérale, questions-réponses intégrées) et pour les commandes d'édition intégrées.
4. Testez-le
-
Chat : Ouvrez le panneau « Continuer » dans la barre latérale et posez une question (par exemple : « Comment créer un circuit paramétré dans Qiskit? »)
-
Modification en ligne : sélectionnez un bloc de code, puis appuyez sur
Cmd+I(Mac) ouCtrl+I( Linux / Windows)
-
Jupyter AI ( JupyterLab )
Remarque : ces instructions concernent l' v2.x de Jupyter AI.
1. Installez Jupyter AI et le fournisseur Ollama
pip install "jupyter-ai<3" langchain-ollamaCe
"jupyter-ai<3"code vous permet d'accéder à v2.x. Celangchain-ollamapaquet est nécessaire pour que Jupyter AI puisse reconnaître Ollama comme fournisseur. Sans cela, Ollama n'apparaîtra pas dans le panneau des paramètres.Redémarrez ensuite l' JupyterLab.
2. Configurer le modèle de chat
Ouvrez JupyterLab et cliquez sur l 'icône de chat dans la barre latérale gauche. Dans le panneau des paramètres :
- Dans la section « Modèle linguistique », sélectionnez Ollama comme fournisseur.
- Entrez
mistral-small-3.2-24b-qiskitcomme nom du modèle. - Aucune clé API n'est requise pour Ollama (laissez le champ vide).
- Cliquez sur la flèche de retour pour commencer à discuter.
3. Utilisez la commande magique
%%aiCette
%%aifonctionnalité vous permet d'interroger directement le modèle dans les cellules du notebook.%load_ext jupyter_ai_magicsPuis, dans une cellule :
%%ai ollama:mistral-small-3.2-24b-qiskit Write a function that implements Grover's algorithm using Qiskit4. Hôte Ollama personnalisé (facultatif)
Par défaut, Jupyter AI se connecte à
http://127.0.0.1:11434. Si votre serveur Ollama fonctionne sur une autre adresse ou un autre port :Dans l'interface du chat : configurez le champ « API de base URL » dans le panneau des paramètres de l'IA.
OpenCode (Terminal)
1. Installez OpenCode
curl -fsSL https://opencode.ai/install | bash2. Configurer le modèle Qiskit
Créez un
opencode.jsonfichier à la racine de votre projet (ou~/.config/opencode/opencode.jsonpour une configuration globale) :{ "$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. Sélectionnez le modèle
Lancez la commande « OpenCode » dans le répertoire de votre projet :
opencodeDans TUI, exécutez la
/modelscommande et sélectionnez « Qiskit Code Assistant » dans la liste.4. Testez-le
Posez une question directement dans le chat, par exemple : « Définissez un circuit de Bell et exécutez-le à l'aide de QiskitRuntimeService" »
Modèles disponibles
Modèles actuels
Voici les derniers modèles recommandés pour une utilisation avec Qiskit Code Assistant :
- Qiskit/mistral-small-3.2-24b-qiskit - Sortie prévue en octobre 2025
- Qiskit/Qwen2.5-Coder-14B-Qiskit - Sortie prévue en juin 2025
- qiskit/granite-3.3-8b-qiskit - Sortie prévue en juin 2025
- qiskit/granite-3.2-8b-qiskit - Sortie prévue en juin 2025
Modèles GGUF (recommandés pour les environnements personnels/ordinateurs portables)
Les modèles au format GGUF sont optimisés pour une utilisation locale et nécessitent moins de ressources informatiques :
- mistral-small-3.2-24b-qiskit-GGUF – Publié en octobre 2025 ;\
entraîné avec des données Qiskit jusqu'à la version 2.1
-
Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF – Publié en juin 2025
. Entraînement réalisé avec des données Qiskit jusqu'à la version 2.0 -
qiskit/granite-3.3-8b-qiskit-GGUF – Publié en juin 2025 ;\
entraîné avec des données Qiskit jusqu'à la version 2.0
- qiskit/granite-3.2-8b-qiskit-GGUF – Publié en juin 2025 ;\
entraîné avec des données Qiskit jusqu'à la version 2.0
Les modèles Open Source d' Qiskit Code Assistant s sont disponibles sur Safetensors est un format de fichier spécialement conçu pour stocker de manière sécurisée et efficace les poids et les tenseurs des modèles d'apprentissage automatique. ou Le format GGUF est un format binaire conçu pour permettre un chargement et une sauvegarde rapides des modèles, ainsi que pour faciliter la lecture. et peuvent être téléchargés depuis le site Hugging Face, comme expliqué ci-dessous.
Versions de Qiskit utilisées pour l'entraînement
Modèle | Indicateurs de référence | Date de publication | Entraîné sur la version de Qiskit | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| QiskitHumanEval-Hard | QiskitHumanEval | HumanEval | ASDiv | MathQA | SciQ | MBPP | IFEval | CrowsPairs (Anglais) | TruthfulQA (Source : MC1 ) | |||
| 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 | janvier 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 | Juin 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 | Juin 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 | Juin 2025 | 2.0 |
| granite-8b-qiskit-rc-0.10 | 15.89 | 38.41 | 59.76 | — | — | — | — | — | — | — | Février 2025 | 1.3 |
| granite-8b-qiskit | 17.88 | 44.37 | 53.66 | — | — | — | — | — | — | — | Novembre 2024 | 1.2 |
Remarque : tous les modèles figurant dans le tableau comparatif ont été évalués à l'aide de leur invite système respective, définie dans leur modèle « Hugging Face ».
Modèles obsolètes
Ces modèles ne font plus l'objet d'une maintenance active, mais restent disponibles :
- qiskit/granite-8b-qiskit-rc-0.10 - Publié en février 2025 (obsolète)
- qiskit/granite-8b-qiskit - Publié en novembre 2024 (obsolète)
Plus d'informations et citations
Pour en savoir plus sur les benchmarks Qiskit Code Assistant Qiskit HumanEval, ou Qiskit HumanEval Hard, et les citer dans vos publications scientifiques, consultez les références recommandées suivantes :
@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},
}