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.
Jalankan 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 komputer Anda -
ollama rm Qwen2.5-Coder-14B-Qiskit- Hapus model -
ollama show Qwen2.5-Coder-14B-Qiskit- Tampilkan informasi model -
ollama stop Qwen2.5-Coder-14B-Qiskit- Hentikan model yang sedang berjalan -
ollama 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, yang merupakan Python binding untuk llama.cpp. Ini memberi kamu lebih banyak kontrol dan fleksibilitas untuk menjalankan model GGUF secara lokal, dan cocok untuk pengguna yang ingin mengintegrasikan model lokal ke dalam workflow dan aplikasi Python mereka.
-
Instal
llama-cpp-python -
Berinteraksi dengan model dari dalam aplikasi Anda menggunakan
llama_cpp. Contohnya:
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"]
Anda juga dapat 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 pengaturan minimal.
Library ini menyediakan kontrol tingkat rendah atas eksekusi model dan biasanya dijalankan dari command line, menunjuk ke file model GGUF lokal.
Ada beberapa cara untuk menginstal llama.cpp di komputer Anda:
-
Instal llama.cpp menggunakan brew, nix, atau winget
-
Jalankan dengan Docker: Lihat dokumentasi Docker oleh tim
llama.cpp -
Unduh binari yang sudah dibangun dari halaman releases
-
Bangun dari source dengan meng-clone repository ini
Setelah terinstal, Anda dapat menggunakan llama.cpp untuk berinteraksi dengan model GGUF dalam mode percakapan sebagai berikut:
# Use a local model file \{#use-a-local-model-file}
llama-cli -m my_model.gguf -cnv
# Or download and run a model directly from Hugging Face \{#or-download-and-run-a-model-directly-from-hugging-face}
llama-cli -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF -cnv
Anda juga dapat meluncurkan server API yang kompatibel dengan OpenAI untuk model dengan cara berikut:
llama-server -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF
Parameter lanjutan
Dengan program llama-cli, Anda dapat mengontrol pembuatan model menggunakan opsi command-line. Misalnya, Anda dapat memberikan prompt "sistem" awal menggunakan flag -p/--prompt. Dalam mode percakapan (-cnv), prompt awal ini bertindak sebagai pesan sistem. Jika tidak, Anda cukup menambahkan instruksi yang diinginkan di depan teks prompt Anda. Anda juga dapat 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 yang tepat dari model Qiskit kami, kami merekomendasikan menggunakan system prompt yang disediakan di repository 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, 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 di versi lama).
3. Konfigurasi model
Tambahkan yang berikut 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. Test it
-
Chat: Buka panel Continue di sidebar dan ajukan pertanyaan (misalnya, "Bagaimana cara membuat circuit yang diparameterisasi di Qiskit?")
-
Inline edit: Pilih blok kode, tekan
Cmd+I(Mac) atauCtrl+I(Linux/Windows)
Hubungkan Jupyter AI (JupyterLab) secara manual
Jupyter AI (JupyterLab)
Catatan: Instruksi 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 Anda mendapatkan v2.x. Paket langchain-ollama diperlukan agar Jupyter AI dapat mendeteksi Ollama sebagai provider. Tanpa itu, Ollama tidak akan muncul di panel pengaturan.
Kemudian restart JupyterLab.
2. Konfigurasi 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 panah kembali untuk mulai chatting.
3. Gunakan perintah magic %%ai
Magic %%ai memungkinkan Anda melakukan query ke model langsung di cell notebook.
%load_ext jupyter_ai_magics
Kemudian di sebuah cell:
%%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 Anda 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. Konfigurasi model Qiskit
Buat file opencode.json di root proyek Anda (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
Jalankan OpenCode di direktori proyek Anda:
opencode
Di dalam TUI, jalankan perintah /models dan pilih Qiskit Code Assistant dari daftar.
4. Test it
Ajukan pertanyaan langsung di chat, misalnya: "Definisikan circuit Bell dan jalankan menggunakan QiskitRuntimeService"
Model yang tersedia
Model saat ini
Ini adalah model terbaru yang direkomendasikan untuk digunakan dengan Qiskit Code Assistant:
-
Qiskit/mistral-small-3.2-24b-qiskit - Dirilis Oktober 2025
-
Qiskit/Qwen2.5-Coder-14B-Qiskit - Dirilis Juni 2025
-
qiskit/granite-3.3-8b-qiskit - Dirilis Juni 2025
-
qiskit/granite-3.2-8b-qiskit - Dirilis Juni 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 – Dirilis Oktober 2025
Dilatih dengan data Qiskit hingga versi 2.1
-
Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF – Dirilis Juni 2025
Dilatih dengan data Qiskit hingga versi 2.0
-
qiskit/granite-3.3-8b-qiskit-GGUF – Dirilis Juni 2025
Dilatih dengan data Qiskit hingga versi 2.0
-
qiskit/granite-3.2-8b-qiskit-GGUF – Dirilis Juni 2025
Dilatih dengan data Qiskit hingga versi 2.0
Model Qiskit Code Assistant Open Source tersedia dalam format safetensors atau GGUF dan dapat diunduh dari Hugging Face seperti dijelaskan di bawah ini.
Versi Qiskit yang digunakan untuk pelatihan
| Model | Metrik Benchmark | Tanggal rilis | Dilatih pada versi Qiskit | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | Januari 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 | — | — | — | — | — | — | — | Februari 2025 | 1.3 |
| granite-8b-qiskit | 17.88 | 44.37 | 53.66 | — | — | — | — | — | — | — | November 2024 | 1.2 |
Catatan: Semua model yang terdaftar dalam tabel benchmark dievaluasi menggunakan system prompt masing-masing, yang ditentukan dalam model Hugging Face mereka.
Model yang tidak digunakan lagi (deprecated)
Model-model ini tidak lagi dipelihara secara aktif tetapi tetap tersedia:
-
qiskit/granite-8b-qiskit-rc-0.10 - Dirilis Februari 2025 (deprecated)
-
qiskit/granite-8b-qiskit - Dirilis November 2024 (deprecated)
Informasi lebih lanjut dan sitasi
Untuk mempelajari lebih lanjut tentang Qiskit Code Assistant, benchmark Qiskit HumanEval, atau Qiskit HumanEval Hard, dan mengutipnya dalam publikasi ilmiah Anda, tinjau sitasi yang direkomendasikan ini:
@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},
}