Qiskit Code Assistant
LLM Qiskit Code Assistant bertujuan membuat komputasi kuantum lebih mudah diakses oleh pengguna Qiskit baru dan meningkatkan pengalaman coding bagi pengguna saat ini. Asisten ini dilatih menggunakan jutaan token teks dari Qiskit SDK, bertahun-tahun contoh kode Qiskit, dan fitur-fitur IBM Quantum®. Qiskit Code Assistant bisa membantu alur kerja pengembangan kuantummu dengan menawarkan saran yang dihasilkan LLM berdasarkan model IBM Granite dan model open-source lainnya, yang mencakup fitur dan fungsionalitas terbaru dari IBM®.
- Ingin langsung ke petunjuk instalasi? Buka bagian Instal Qiskit Code Assistant.
- Kalau kamu punya masukan atau ingin menghubungi tim pengembang, gunakan saluran Qiskit Slack Workspace atau repositori GitHub publik terkait.
Large Language Model (LLM) di balik Qiskit Code Assistant
Untuk memberikan saran kode, Qiskit Code Assistant menggunakan Large Language Model (LLM). Dalam hal ini, Qiskit Code Assistant saat ini mengandalkan model mistral-small-3.2-24b-qiskit, yang dibangun di atas model Mistral-Small-3.2-24B-Qiskit. Model mistral-small-3.2-24b-qiskit meningkatkan kemampuan pembuatan kode model Mistral-Small-3.2-24B-Instruct-2506 untuk Qiskit melalui pelatihan tambahan yang diperluas dan fine-tuning pada data Qiskit berkualitas tinggi, serta commit Python dan chat. Untuk informasi lebih lanjut tentang keluarga model Mistral AI, lihat dokumentasi Mistral AI. Untuk detail lebih lanjut tentang model .*-qiskit, lihat Qiskit Code Assistant: Training LLMs for generating Quantum Computing Code.
LLM yang kami khususkan untuk Qiskit juga tersedia sebagai model open-source. Lihat semua model yang tersedia di https://huggingface.co/Qiskit.
Benchmark Qiskit HumanEval dan Qiskit HumanEval Hard
Untuk menguji mistral-small-3.2-24b-qiskit dan model lainnya, kami berkolaborasi dengan Qiskit Advocates dan para ahli untuk membuat benchmark berbasis eksekusi yang disebut Qiskit HumanEval (QHE) dan Qiskit HumanEval Hard (QHE Hard), lalu menjalankannya pada model-model tersebut. Benchmark ini mirip dengan HumanEval, mencakup berbagai masalah kode yang menantang untuk diselesaikan, semuanya berbasis library Qiskit resmi.
Benchmark ini terdiri dari sekitar 150 tes, masing-masing dibuat dari definisi fungsi, diikuti oleh docstring yang merinci tugas yang harus diselesaikan model. Setiap contoh juga mencakup solusi kanonik referensi, serta unit test, untuk mengevaluasi kebenaran solusi yang dihasilkan. Ada tiga tingkat kesulitan tes: dasar, menengah, dan sulit. Benchmark Qiskit HumanEval Hard adalah variasi dari Qiskit HumanEval, tetapi menghapus informasi terkait impor kode, sehingga LLM perlu mencari tahu impor metode atau kelas yang tepat. Perubahan ini membuat dataset jauh lebih menantang bagi LLM, menurut pengujian dan hasil awal kami.
Dataset untuk Qiskit HumanEval dan Qiskit HumanEval Hard tersedia di situs-situs ini: Qiskit HumanEval dan Qiskit HumanEval. Kamu bisa berkontribusi pada pengembangan benchmark ini di repositori GitHub.
Instal Qiskit Code Assistant
Pelajari cara menginstal, mengonfigurasi, dan menggunakan model Qiskit Code Assistant mana pun di mesin lokalmu.
Unduh dari situs web Hugging Face
Ikuti langkah-langkah ini untuk mengunduh model terkait Qiskit Code Assistant mana pun dari situs web Hugging Face:
- Buka halaman model Qiskit yang diinginkan di Hugging Face.
- Buka tab Files and Versions dan unduh file model safetensors atau GGUF.
Unduh menggunakan Hugging Face CLI
Untuk mengunduh model Qiskit Code Assistant yang tersedia menggunakan Hugging Face CLI, ikuti langkah-langkah ini:
-
Instal Hugging Face CLI
-
Login ke akun Hugging Face-mu
huggingface-cli login -
Unduh model yang kamu suka dari daftar sebelumnya
huggingface-cli download <HF REPO NAME> <MODEL PATH> --local-dir <LOCAL PATH>
Deploy model Qiskit Code Assistant secara lokal melalui Ollama secara manual
Ada banyak cara untuk men-deploy dan berinteraksi dengan model Qiskit Code Assistant yang sudah diunduh. Panduan ini mendemonstrasikan penggunaan Ollama sebagai berikut: baik dengan aplikasi Ollama menggunakan integrasi Hugging Face Hub atau model lokal, maupun dengan paket llama-cpp-python.
Menggunakan aplikasi Ollama
Aplikasi Ollama menyediakan solusi sederhana untuk menjalankan LLM secara lokal. Aplikasi ini mudah digunakan, dengan CLI yang membuat seluruh proses setup, manajemen model, dan interaksi cukup mudah. Ini ideal untuk eksperimen cepat dan untuk pengguna yang ingin menangani lebih sedikit detail teknis.
Instal Ollama
-
Unduh aplikasi Ollama
-
Instal file yang telah diunduh
-
Luncurkan aplikasi Ollama yang sudah terinstal
infoAplikasi berjalan dengan sukses ketika ikon Ollama muncul di menu bar desktop. Kamu juga bisa memverifikasi layanan berjalan dengan membuka
http://localhost:11434/. -
Coba Ollama di terminalmu dan mulai menjalankan model. Misalnya:
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Menyiapkan Ollama menggunakan integrasi Hugging Face Hub
Integrasi Ollama/Hugging Face Hub menyediakan cara untuk berinteraksi dengan model yang di-host di Hugging Face Hub tanpa perlu membuat modelfile baru atau mengunduh file GGUF atau safetensors secara manual. File template dan params default sudah disertakan untuk model di Hugging Face Hub.
-
Pastikan aplikasi Ollama sedang berjalan.
-
Buka halaman model yang diinginkan, dan salin URL-nya. Misalnya, https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF.
-
Dari terminalmu, jalankan perintah:
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Kamu bisa menggunakan model hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit atau salah satu model GGUF resmi lainnya yang saat ini direkomendasikan hf.co/Qiskit/mistral-small-3.2-24b-qiskit-GGUF atau hf.co/Qiskit/granite-3.3-8b-qiskit-GGUF.
Menyiapkan Ollama dengan model GGUF Qiskit Code Assistant yang diunduh secara manual
Kalau kamu sudah mengunduh model GGUF secara manual seperti https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF dan kamu ingin bereksperimen dengan template dan parameter yang berbeda, kamu bisa mengikuti langkah-langkah ini untuk memuatnya ke aplikasi Ollama lokalmu.
-
Buat sebuah
Modelfiledengan memasukkan konten berikut dan pastikan memperbarui<PATH-TO-GGUF-FILE>ke path sebenarnya dari model yang kamu unduh.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 0PARAMETER top_k 1 -
Jalankan perintah berikut untuk membuat instance model kustom berdasarkan
Modelfile.ollama create Qwen2.5-Coder-14B-Qiskit -f ./path-to-model-filecatatanProses ini mungkin membutuhkan beberapa waktu agar Ollama bisa membaca file model, menginisialisasi instance model, dan mengonfigurasinya sesuai spesifikasi yang diberikan.
Menjalankan model Qiskit Code Assistant yang diunduh secara manual di Ollama
Setelah model Qwen2.5-Coder-14B-Qiskit sudah disiapkan di Ollama, jalankan perintah berikut untuk meluncurkan model dan berinteraksi dengannya di terminal (dalam mode chat).
ollama run Qwen2.5-Coder-14B-Qiskit
Beberapa perintah yang berguna:
ollama list- Daftar model di komputermuollama rm Qwen2.5-Coder-14B-Qiskit- Hapus modelollama show Qwen2.5-Coder-14B-Qiskit- Tampilkan informasi modelollama stop Qwen2.5-Coder-14B-Qiskit- Hentikan model yang sedang berjalanollama ps- Daftar model yang sedang dimuat
Deploy model Qiskit Code Assistant secara lokal melalui paket llama-cpp-python secara manual
Alternatif dari aplikasi Ollama adalah paket llama-cpp-python, yaitu binding Python untuk llama.cpp. Paket ini memberimu kontrol dan fleksibilitas lebih besar untuk menjalankan model GGUF secara lokal, dan ideal untuk pengguna yang ingin mengintegrasikan model lokal ke dalam alur kerja dan aplikasi Python mereka.
- Instal
llama-cpp-python - Berinteraksi dengan model dari dalam aplikasimu menggunakan
llama_cpp. Misalnya:
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”]
Kamu juga bisa menambahkan parameter pembuatan teks ke model untuk menyesuaikan inferensi:
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”]
Deploy model Qiskit Code Assistant secara lokal melalui llama.cpp secara manual
Gunakan library llama.cpp
Alternatif lain adalah menggunakan llama.cpp, sebuah library open-source untuk melakukan inferensi LLM pada CPU dengan setup minimal.
Library ini memberikan kontrol tingkat rendah atas eksekusi model dan biasanya dijalankan dari command line, mengarah ke file model GGUF lokal.
Ada beberapa cara untuk menginstal llama.cpp di mesinmu:
- Instal llama.cpp menggunakan brew, nix, atau winget
- Jalankan dengan Docker: Lihat dokumentasi Docker oleh tim
llama.cpp - Unduh binary yang sudah dikompilasi dari halaman releases
- Build dari source dengan mengkloning repositori ini
Setelah terinstal, kamu bisa menggunakan llama.cpp untuk berinteraksi dengan model GGUF dalam mode percakapan sebagai berikut:
# 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
Kamu juga bisa meluncurkan server API yang kompatibel dengan OpenAI untuk model tersebut dengan cara berikut:
llama-server -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF
Parameter lanjutan
Dengan program llama-cli, kamu bisa mengontrol pembuatan model menggunakan opsi command-line. Misalnya, kamu bisa memberikan prompt “system” awal menggunakan flag -p/--prompt. Dalam mode percakapan (-cnv), prompt awal ini berfungsi sebagai pesan sistem. Kalau tidak, kamu bisa cukup menambahkan instruksi yang diinginkan di awal teks promptmu. Kamu juga bisa menyesuaikan parameter sampling - misalnya: temperature (--temp), top-k (--top-k), top-p (--top-p), repetition penalty (--repeat-penalty), dan seed yang digunakan (--seed). Berikut adalah contoh pemanggilan menggunakan opsi-opsi ini:
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
Untuk memastikan fungsionalitas model Qiskit kami berjalan dengan baik, kami merekomendasikan penggunaan system prompt yang tersedia di repositori HF GGUF kami: system prompt untuk mistral-small-3.2-24b-qiskit-GGUF, Qwen2.5-Coder-14B-Qiskit-GGUF, granite-3.3-8b-qiskit-GGUF, dan granite-3.2-8b-qiskit-GGUF.
Hubungkan Continue (VS Code) secara manual
Continue (VS Code)
1. Instal ekstensi
Buka VS Code, buka Extensions (Cmd+Shift+X), cari Continue, lalu instal.
2. Buka konfigurasi
Klik ikon Continue di sidebar, lalu klik ikon gear, atau buka command palette (Cmd+Shift+P) dan jalankan Continue: Open Config File.
Ini akan membuka ~/.continue/config.yaml (atau config.json pada versi lama).
3. Konfigurasikan model
Tambahkan yang berikut ini ke config.yaml:
models:
- name: Qiskit Code Assistant
provider: ollama
model: mistral-small-3.2-24b-qiskit
apiBase: http://localhost:11434
Ini membuat model Qiskit tersedia di panel chat (percakapan sidebar, tanya jawab inline) dan untuk perintah inline edit.
4. Coba
- Chat: Buka panel Continue di sidebar dan ajukan pertanyaan (misalnya, “How do I create a parameterized circuit in Qiskit?”)
- Inline edit: Pilih blok kode, tekan
Cmd+I(Mac) atauCtrl+I(Linux/Windows)
Hubungkan Jupyter AI (JupyterLab) secara manual
Jupyter AI (JupyterLab)
Catatan: Petunjuk ini mencakup Jupyter AI v2.x.
1. Instal Jupyter AI dan provider Ollama
pip install “jupyter-ai<3” langchain-ollama
Pin ”jupyter-ai<3” memastikan kamu mendapatkan v2.x. Paket langchain-ollama diperlukan agar Jupyter AI dapat mendeteksi Ollama sebagai provider. Tanpanya, Ollama tidak akan muncul di panel pengaturan.
Kemudian restart JupyterLab.
2. Konfigurasikan model chat
Buka JupyterLab dan klik ikon chat di sidebar kiri. Di panel pengaturan:
- Di bawah Language model, pilih Ollama sebagai provider.
- Masukkan
mistral-small-3.2-24b-qiskitsebagai nama model. - Tidak diperlukan API key untuk Ollama (biarkan field kosong).
- Klik tanda panah kembali untuk mulai chatting.
3. Gunakan magic command %%ai
Magic %%ai memungkinkan kamu mengkueri model langsung di sel notebook.
%load_ext jupyter_ai_magics
Lalu dalam sebuah sel:
%%ai ollama:mistral-small-3.2-24b-qiskit
Write a function that implements Grover's algorithm using Qiskit
4. Host Ollama kustom (opsional)
Secara default, Jupyter AI terhubung ke http://127.0.0.1:11434. Jika server Ollama-mu berjalan di alamat atau port yang berbeda:
Di UI chat: Atur field “Base API URL” di panel pengaturan AI.
Hubungkan OpenCode (Terminal) secara manual
OpenCode (Terminal)
1. Instal OpenCode
curl -fsSL https://opencode.ai/install | bash
2. Konfigurasikan model Qiskit
Buat file opencode.json di direktori root proyekmu (atau ~/.config/opencode/opencode.json untuk konfigurasi global):
{
“$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. Pilih model
Luncurkan OpenCode di direktori proyekmu:
opencode
Di dalam TUI, jalankan perintah /models dan pilih Qiskit Code Assistant dari daftar.
4. Coba
Ajukan pertanyaan langsung di chat, misalnya: “Define a Bell circuit and run it using QiskitRuntimeService”
Model yang tersedia
Model saat ini
Berikut adalah model-model terbaru yang direkomendasikan untuk digunakan dengan 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
Model GGUF (direkomendasikan untuk lingkungan pribadi/laptop)
Model format GGUF dioptimalkan untuk penggunaan lokal dan memerlukan lebih sedikit sumber daya komputasi:
-
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
Model Qiskit Code Assistant Open Source tersedia dalam safetensors atau format file GGUF dan bisa diunduh dari Hugging Face sebagaimana dijelaskan di bawah.
Versi Qiskit yang digunakan untuk pelatihan
| Model | Benchmark Metrics | Release date | Trained on Qiskit version | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
Catatan: Semua model yang tercantum dalam tabel benchmark dievaluasi menggunakan system prompt masing-masing, yang didefinisikan dalam model Hugging Face mereka.
Model yang sudah tidak didukung
Model-model ini tidak lagi dirawat secara aktif tetapi tetap tersedia:
- qiskit/granite-8b-qiskit-rc-0.10 - Released February 2025 (deprecated)
- qiskit/granite-8b-qiskit - Released November 2024 (deprecated)
Informasi lebih lanjut dan kutipan
Untuk mempelajari lebih lanjut tentang Qiskit Code Assistant, Qiskit HumanEval, atau benchmark Qiskit HumanEval Hard, dan mengutipnya dalam publikasi ilmiahmu, tinjau kutipan-kutipan yang direkomendasikan berikut:
@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},
}