Qiskit Code-Assistent
Qiskit Code Assistant LLMs sollen neuen Qiskit-Nutzern den Einstieg in das Quantencomputing erleichtern und das Programmiererlebnis für bestehende Nutzer verbessern. Es wurde anhand von Millionen von Text-Tokens aus Qiskit SDK, jahrelangen Qiskit-Code-Beispielen und Merkmalen von IBM Quantum® trainiert. Qiskit Code Assistant kann Ihren Arbeitsablauf bei der Quantenentwicklung unterstützen, indem es Vorschläge bietet, die von großen Sprachmodellen (LLM) generiert werden und auf IBM Granite sowie anderen Open-Source-Modellen basieren, die die neuesten Features und Funktionen von IBM® enthalten.
- Möchten Sie direkt zur Installationsanleitung springen? Gehen Sie zum Abschnitt „Installations- Qiskit Code Assistant “.
- Wenn Sie Feedback haben oder mit dem Entwicklerteam in Kontakt treten möchten, verwenden Sie den Qiskit Slack Workspace-Kanal oder die entsprechenden öffentlichen GitHub Repositories.
Das Large Language Model (LLM) hinter Qiskit Code Assistant
Qiskit Code Assistant verwendet ein großes Sprachmodell (LLM), um Code-Vorschläge zu liefern. In diesem Fall stützt sich „ Qiskit Code Assistant “ derzeit auf das Modell mistral-small-3.2-24b-qiskit, das auf dem Modell „ Mistral-Small-3.2-24B-Qiskit “ aufbaut. Das mistral-small-3.2-24b-qiskit Modell verbessert die Mistral-Small-3.2-24B-Instruct-2506 Codegenerierungsfähigkeiten des Modells für Qiskit durch erweitertes Vortraining und Feinabstimmung anhand hochwertiger Qiskit-Daten sowie durch Python -Commits und Chat. Weitere Informationen zur Mistral AI-Modellfamilie finden Sie in der Mistral AI-Dokumentation. Weitere Informationen zu den .*-qiskit Modellen finden Sie unter „ Qiskit Code Assistant : Training LLMs for generating Quantum Computing Code” (Quantum Computing Code generieren: Training von LLMs).
Unsere für Qiskit spezialisierten LLMs sind auch als Open-Source-Modelle verfügbar. Alle verfügbaren Modelle finden Sie unter https://huggingface.co/Qiskit.
Die Qiskit- HumanEval - und Qiskit- HumanEval -Hard-Benchmarks
Um das mistral-small-3.2-24b-qiskit und andere Modelle zu testen, haben wir in Zusammenarbeit mit Qiskit Advocates und Experten die ausführungsbasierten Benchmarks Qiskit HumanEval (QHE) und Qiskit HumanEval Hard (QHE Hard) entwickelt und diese auf den Modellen ausgeführt. Diese Benchmarks ähneln HumanEval und umfassen mehrere anspruchsvolle Code-Probleme, die alle auf den offiziellen Qiskit-Bibliotheken basieren.
Die Benchmarks bestehen aus etwa 150 Tests, die jeweils aus einer Funktionsdefinition und einem Docstring bestehen, in dem die Aufgabe, die das Modell lösen muss, detailliert beschrieben wird. Jedes Beispiel enthält auch eine Referenz-Kanonikallösung sowie Unit-Tests, um die Korrektheit der generierten Lösungen zu bewerten. Es gibt drei Schwierigkeitsstufen für Tests: einfach, mittel und schwer. Der HumanEval Qiskit-Hard-Benchmark ist eine Variante des HumanEval Qiskit-One-Benchmarks, entfernt jedoch Informationen zu Code-Importen, sodass das LLM die richtige Methode oder Klassenimporte ermitteln muss. Diese Änderung macht den Datensatz für LLMs laut unseren Tests und ersten Ergebnissen wesentlich anspruchsvoller.
Die Datensätze für Qiskit HumanEval und Qiskit HumanEval Hard sind auf diesen Websites verfügbar: Qiskit HumanEval und Qiskit HumanEval. Sie können zur Entwicklung dieser Benchmarks im Repository „ GitHub “ beitragen.
Qiskit Code Assistant installieren
Erfahren Sie, wie Sie jedes beliebige Modell von „ Qiskit Code Assistant “ auf Ihrem lokalen Rechner installieren, konfigurieren und verwenden können.
Befolgen Sie diese Schritte, um ein beliebiges Modell im Zusammenhang mit „ Qiskit Code Assistant “ von der Website Hugging Face herunterzuladen:
- Rufen Sie die Seite des gewünschten Qiskit-Modells unter Hugging Face auf.
- Wechseln Sie zur Registerkarte „Dateien und Versionen“ und laden Sie die Safetensors- oder GGUF-Modelldateien herunter.
Um eines der verfügbaren „ Qiskit Code Assistant “-Modelle über die Hugging Face -Befehlszeilenschnittstelle herunterzuladen, gehen Sie wie folgt vor:
-
Installieren Sie die CLI von „ Hugging Face “
-
Melden Sie sich bei Ihrem „ Hugging Face “-Konto an
huggingface-cli login -
Laden Sie das gewünschte Modell aus der obigen Liste herunter
huggingface-cli download <HF REPO NAME> <MODEL PATH> --local-dir <LOCAL PATH>
-
Es gibt verschiedene Möglichkeiten, das heruntergeladene Modell „ Qiskit Code Assistant “ bereitzustellen und damit zu arbeiten. In dieser Anleitung wird die Verwendung von Ollama wie folgt veranschaulicht: entweder mit dem Ollama-Anwendung über die Hugging Face Hub-Integration oder das lokale Modell, oder mit dem
llama-cpp-pythonPaket.Verwendung der Ollama-Anwendung
Die Ollama-Anwendung bietet eine einfache Lösung, um die LLMs lokal auszuführen. Es ist benutzerfreundlich und verfügt über eine Befehlszeilenschnittstelle, die den gesamten Einrichtungsprozess, die Modellverwaltung und die Interaktion recht unkompliziert gestaltet. Es eignet sich ideal für schnelle Experimente und für Nutzer, die sich nicht mit zu vielen technischen Details auseinandersetzen möchten.
Ollama installieren
-
Laden Sie die Ollama-App herunter
-
Installieren Sie die heruntergeladene Datei
-
Starten Sie die installierte Ollama-Anwendung
InfoDie Anwendung läuft ordnungsgemäß, wenn das Ollama-Symbol in der Menüleiste des Desktops angezeigt wird. Sie können auch überprüfen, ob der Dienst ausgeführt wird, indem Sie zu
http://localhost:11434/… gehen. -
Probieren Sie Ollama in Ihrem Terminal aus und starten Sie die Modelle. Zum Beispiel:
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Richten Sie Ollama mithilfe der „ Hugging Face “-Hub-Integration ein
Die Integration von Ollama und dem „ Hugging Face “-Hub ermöglicht die Interaktion mit Modellen, die auf dem „ Hugging Face “-Hub gehostet werden, ohne dass eine neue Modelldatei erstellt oder die GGUF- bzw. Safetensors-Dateien manuell heruntergeladen werden müssen. Die Standarddateien
template``paramsund sind für das Modell bereits auf dem „ Hugging Face “-Hub enthalten.-
Stellen Sie sicher, dass die Ollama-Anwendung ausgeführt wird.
-
Rufe die Seite des gewünschten Modells auf und kopiere den Link URL. Zum Beispiel: https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF.
-
Führen Sie in Ihrem Terminal folgenden Befehl aus:
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Sie können das
hf.co/Qiskit/Qwen2.5-Coder-14B-QiskitModell oder eines der anderen derzeit empfohlenen offiziellen GGUF-Modelle verwendenhf.co/Qiskit/mistral-small-3.2-24b-qiskit-GGUF``hf.co/Qiskit/granite-3.3-8b-qiskit-GGUF.Richten Sie Ollama mit einem manuell heruntergeladenen GGUF-Modell von Qiskit Code Assistant ein
Wenn Sie ein GGUF-Modell wie beispielsweise „ https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF “ manuell heruntergeladen haben und mit verschiedenen Vorlagen und Parametern experimentieren möchten, können Sie die folgenden Schritte ausführen, um es in Ihre lokale Ollama-Anwendung zu laden.
-
Erstellen Sie eine und geben
ModelfileSie den folgenden Inhalt ein. Achten Sie darauf, durch den tatsächlichen Pfad Ihres<PATH-TO-GGUF-FILE>heruntergeladenen Modells zu ersetzen.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 -
Führen Sie den folgenden Befehl aus, um eine benutzerdefinierte Modellinstanz auf der Grundlage der
Modelfile.ollama create Qwen2.5-Coder-14B-Qiskit -f ./path-to-model-fileNoteDieser Vorgang kann einige Zeit in Anspruch nehmen, da Ollama die Modelldatei lesen, die Modellinstanz initialisieren und sie gemäß den angegebenen Spezifikationen konfigurieren muss.
Führen Sie das in Ollama manuell heruntergeladene Modell „ Qiskit Code Assistant “ aus
Nachdem das
Qwen2.5-Coder-14B-QiskitModell in Ollama eingerichtet wurde, führen Sie den folgenden Befehl aus, um das Modell zu starten und im Terminal (im Chat-Modus) mit ihm zu interagieren.ollama run Qwen2.5-Coder-14B-QiskitEinige nützliche Befehle:
ollama list- Modelle auf Ihrem Computer auflistenollama rm Qwen2.5-Coder-14B-Qiskit- Das Modell löschenollama show Qwen2.5-Coder-14B-Qiskit- Modellinformationen anzeigenollama stop Qwen2.5-Coder-14B-Qiskit- Ein derzeit ausgeführtes Modell anhaltenollama ps- Auflisten, welche Modelle derzeit geladen sind
-
Eine Alternative zur Ollama-Anwendung ist das
llama-cpp-pythonPaket, bei dem es sich um eine „ Python “-Bindung für handeltllama.cpp. Die lokale Ausführung des GGUF-Modells bietet Ihnen mehr Kontrolle und Flexibilität und eignet sich ideal für Anwender, die das lokale Modell in ihre Arbeitsabläufe und Anwendungen unter Python integrieren möchten.- Installieren
llama-cpp-python - Interagieren Sie mit dem Modell aus Ihrer Anwendung heraus mithilfe von
llama_cpp. Zum Beispiel:
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"]Sie können dem Modell auch Parameter für die Textgenerierung hinzufügen, um die Inferenz anzupassen:
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"]- Installieren
Verwenden Sie die
llama.cppBibliothekEine weitere Alternative ist die Verwendung
llama.cppvon, einer Open-Source-Bibliothek, mit der sich LLM-Inferenz mit minimalem Einrichtungsaufwand auf einer CPU durchführen lässt. Es ermöglicht eine detaillierte Steuerung der Modellausführung und wird in der Regel über die Befehlszeile ausgeführt, wobei auf eine lokale GGUF-Modelldatei verwiesen wird.Es gibt mehrere Möglichkeiten, das Programm auf Ihrem Computer
llama.cppzu installieren:- Installiere „ llama.cpp “ mit Brew, Nix oder Winget
- Laufen mit Docker: Bis zum Ende Docker Dokumentation vom
llama.cppTeam - Laden Sie die vorgefertigten Binärdateien von der Release-Seite herunter
- Kompilieren Sie den Code aus dem Quellcode, indem Sie dieses Repository klonen
Nach der Installation können Sie wie folgt im Dialogmodus
llama.cppmit GGUF-Modellen interagieren:# 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 -cnvSie können den API-Server für das Modell unter OpenAI-compatible auch wie folgt starten:
llama-server -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUFErweiterte Parameter
Mit dem
llama-cliProgramm können Sie die Modellgenerierung über Befehlszeilenoptionen steuern. Sie können beispielsweise mithilfe des-p/--promptFlags eine anfängliche „System“-Eingabeaufforderung anzeigen. Im Konversationsmodus (-cnv) dient diese erste Eingabeaufforderung als Systemmeldung. Ansonsten kannst du dem Eingabeaufforderungstext einfach eine beliebige Anweisung voranstellen. Sie können auch die Stichprobenparameter anpassen – zum Beispiel: Temperatur (--temp), Top-k (--top-k), Top-p (--top-p), Wiederholungsstrafe (--repeat-penalty) und den zu verwendenden Startwert (--seed). Nachfolgend finden Sie ein Beispiel für einen Aufruf mit diesen Optionen: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 42Um die ordnungsgemäße Funktion unserer Qiskit-Modelle zu gewährleisten, empfehlen wir die Verwendung der System-Eingabeaufforderung, die in unseren HF-GGUF-Repositorys bereitgestellt wird: System-Eingabeaufforderung für mistral-small-3.2-24b-qiskit-GGUF, Qwen2.5-Coder-14B-Qiskit-GGUF, granite-3.3-8b-qiskit-GGUF und granite-3.2-8b-qiskit-GGUF.
Weiter (VS Code)
1. Installieren Sie die Erweiterung
Öffne VS Code, gehe zu „Erweiterungen“ (
Cmd+Shift+X), suche nach „Continue“ und installiere es.2. Öffne die Konfigurationsdatei
Klicken Sie in der Seitenleiste auf das Symbol „Weiter“, dann auf das Zahnrad-Symbol, oder öffnen Sie die Befehlspalette (
Cmd+Shift+P) und führen Sie den Befehl „Weiter: Konfigurationsdatei öffnen“ aus.Dadurch wird
~/.continue/config.yaml(oderconfig.jsonin älteren Versionen) geöffnet.3. Das Modell konfigurieren
Füge Folgendes zu
config.yaml… hinzu:models: - name: Qiskit Code Assistant provider: ollama model: mistral-small-3.2-24b-qiskit apiBase: http://localhost:11434Dadurch steht das Qiskit-Modell im Chat-Fenster (Seitenleiste „Konversationen“, Inline-Fragen und Antworten) sowie für Inline -Bearbeitungsbefehle zur Verfügung.
4. Testen Sie es
-
Chat: Öffne das Fenster „Weiter“ in der Seitenleiste und stelle eine Frage (z. B. „Wie erstelle ich einen parametrisierten Schaltkreis in Qiskit?“)
-
Inline-Bearbeitung: Markieren Sie einen Codeabschnitt und drücken Sie
Cmd+I(Mac) oderCtrl+I( Linux /Windows)
-
Jupyter AI ( JupyterLab )
Hinweis: Diese Anleitung gilt für Jupyter-KI- v2.x.
1. Installieren Sie Jupyter AI und den Ollama-Anbieter
pip install "jupyter-ai<3" langchain-ollamaMit diesem
"jupyter-ai<3"Pin erhalten Sie „ v2.x “. Daslangchain-ollamaPaket ist erforderlich, damit Jupyter AI Ollama als Anbieter erkennt. Ohne diese Angabe wird Ollama nicht im Einstellungsfenster angezeigt.Starten Sie anschließend „ JupyterLab “ neu.
2. Konfigurieren Sie das Chat-Modell
Öffne JupyterLab und klicke auf das Chat-Symbol in der linken Seitenleiste. Im Einstellungsfenster:
- Wählen Sie unter „Sprachmodell“ den Anbieter „Ollama“ aus.
- Geben Sie
mistral-small-3.2-24b-qiskitals Modellnamen ein. - Für Ollama ist kein API-Schlüssel erforderlich (lassen Sie das Feld leer).
- Klicke auf den Zurück-Pfeil, um den Chat zu starten.
3. Verwenden Sie den Magiebefehl
%%aiMit
%%aidieser Funktion kannst du das Modell direkt in Notebook-Zellen abfragen.%load_ext jupyter_ai_magicsDann in einer Zelle:
%%ai ollama:mistral-small-3.2-24b-qiskit Write a function that implements Grover's algorithm using Qiskit4. Benutzerdefinierter Ollama-Host (optional)
Standardmäßig stellt Jupyter AI eine Verbindung zu
http://127.0.0.1:11434. her. Falls Ihr Ollama-Server unter einer anderen Adresse oder einem anderen Port läuft:In der Chat-Benutzeroberfläche: Legen Sie das Feld „Basis-API- URL “ im Bereich „KI-Einstellungen“ fest.
OpenCode (Terminal)
1. Installieren Sie „ OpenCode “
curl -fsSL https://opencode.ai/install | bash2. Konfigurieren Sie das Qiskit-Modell
Erstellen Sie eine
opencode.jsonDatei im Stammverzeichnis Ihres Projekts (oder~/.config/opencode/opencode.jsonfür eine globale Konfiguration):{ "$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. Wählen Sie das Modell aus
Führen Sie in Ihrem Projektverzeichnis den Befehl „ OpenCode “ aus:
opencodeFühren Sie in der TUI den
/modelsBefehl aus und wählen Sie „ Qiskit Code Assistant “ aus der Liste aus.4. Testen Sie es
Stelle deine Frage direkt im Chat, zum Beispiel: „Definiere eine Bell-Schaltung und führe sie unter QiskitRuntimeService" aus.“
Verfügbare Modelle
Aktuelle Modelle
Dies sind die aktuell empfohlenen Modelle für die Verwendung mit „ Qiskit Code Assistant “:
- Qiskit/mistral-small-3.2-24b-qiskit - Erschienen im Oktober 2025
- Qiskit/Qwen2.5-Coder-14B-Qiskit - Erschienen im Juni 2025
- qiskit/granite-3.3-8b-qiskit - Erschienen im Juni 2025
- qiskit/granite-3.2-8b-qiskit - Erschienen im Juni 2025
GGUF-Modelle (empfohlen für den privaten Gebrauch/Laptops)
Modelle im GGUF-Format sind für den lokalen Einsatz optimiert und benötigen weniger Rechenressourcen:
-
mistral-small-3.2-24b-qiskit-GGUF – Veröffentlicht im Oktober 2025;
trainiert mit Qiskit-Daten bis zur Version 2.1 -
Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF – Veröffentlicht im Juni 2025
; trainiert mit Qiskit-Daten bis zur Version 2.0 -
qiskit/granite-3.3-8b-qiskit-GGUF – Veröffentlicht im Juni 2025;
trainiert mit Qiskit-Daten bis zur Version 2.0 -
qiskit/granite-3.2-8b-qiskit-GGUF – Veröffentlicht im Juni 2025;
trainiert mit Qiskit-Daten bis zur Version 2.0
Die Open-Source-Modelle „ Qiskit Code Assistant “ sind unter Safetensors ist ein Dateiformat, das speziell dafür entwickelt wurde, Gewichte und Tensoren von Modellen für maschinelles Lernen sicher und effizient zu speichern. oder GGUF ist ein Binärformat, das für das schnelle Laden und Speichern von Modellen sowie für eine gute Lesbarkeit konzipiert ist. verfügbar und können, wie unten beschrieben, von der Website Hugging Face heruntergeladen werden.
Für das Training verwendete Qiskit-Versionen
Modell | Benchmark-Kennzahlen | Freigabedatum | Trainiert mit der Qiskit-Version | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| QiskitHumanEval-Hard | QiskitHumanEval | HumanEval | ASDiv | MathQA | SciQ | MBPP | IFEval | CrowsPairs (Englisch) | TruthfulQA (Quelle: 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 | Januar 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 | Juni 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 | Juni 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 | Juni 2025 | 2.0 |
| granite-8b-qiskit-rc-0.10 | 15.89 | 38.41 | 59.76 | — | — | — | — | — | — | — | Februar 2025 | 1.3 |
| granite-8b-qiskit | 17.88 | 44.37 | 53.66 | — | — | — | — | — | — | — | November 2024 | 1.2 |
Hinweis: Alle in der Vergleichstabelle aufgeführten Modelle wurden anhand ihrer jeweiligen Systemaufforderung bewertet, die in ihrem Modell „ Hugging Face “ definiert ist.
Veraltete Modelle
Diese Modelle werden nicht mehr aktiv gepflegt, sind aber weiterhin verfügbar:
- qiskit/granite-8b-qiskit-rc-0.10 - Veröffentlicht im Februar 2025 (veraltet)
- qiskit/granite-8b-qiskit - Veröffentlicht im November 2024 (veraltet)
Weitere Informationen und Zitate
Um mehr über Qiskit Code Assistant die Qiskit- HumanEval, oder HumanEval Qiskit-Hard-Benchmarks zu erfahren und sie in Ihren wissenschaftlichen Publikationen zu zitieren, lesen Sie bitte die folgenden empfohlenen Zitate:
@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},
}