Qiskit Code Assistant
LLM Qiskit Code Assistant bertujuan untuk menjadikan pengkomputeran kuantum lebih mudah diakses oleh pengguna Qiskit baharu dan meningkatkan pengalaman pengekodan bagi pengguna semasa. Ia dilatih menggunakan jutaan token teks dari Qiskit SDK, bertahun-tahun contoh kod Qiskit, dan ciri IBM Quantum®. Qiskit Code Assistant boleh membantu aliran kerja pembangunan kuantum anda dengan menawarkan cadangan yang dijana oleh LLM berdasarkan model IBM Granite dan model sumber terbuka lain, yang menggabungkan ciri dan fungsi terkini dari IBM®.
- Ingin terus ke arahan pemasangan? Pergi ke bahagian Pasang Qiskit Code Assistant.
- Jika anda ada maklum balas atau ingin menghubungi pasukan pembangun, gunakan saluran Qiskit Slack Workspace atau repositori GitHub awam yang berkaitan.
Model Bahasa Besar (LLM) di sebalik Qiskit Code Assistant
Untuk memberikan cadangan kod, Qiskit Code Assistant menggunakan Model Bahasa Besar (LLM). Dalam kes ini, Qiskit Code Assistant kini bergantung pada model mistral-small-3.2-24b-qiskit, yang dibina atas model Mistral-Small-3.2-24B-Qiskit. Model mistral-small-3.2-24b-qiskit meningkatkan keupayaan penjanaan kod model Mistral-Small-3.2-24B-Instruct-2506 untuk Qiskit melalui pra-latihan lanjutan dan penalaan halus pada data Qiskit berkualiti tinggi, serta komit Python dan chat. Untuk maklumat lanjut tentang keluarga model Mistral AI, rujuk dokumentasi Mistral AI. Untuk maklumat lanjut tentang model .*-qiskit, lihat Qiskit Code Assistant: Training LLMs for generating Quantum Computing Code.
LLM khusus kami untuk Qiskit juga tersedia sebagai model sumber terbuka. Semak semua model yang tersedia di https://huggingface.co/Qiskit.
Penanda aras Qiskit HumanEval dan Qiskit HumanEval Hard
Untuk menguji mistral-small-3.2-24b-qiskit dan model-model lain, kami bekerjasama dengan Qiskit Advocates dan pakar untuk mencipta penanda aras berasaskan pelaksanaan yang dipanggil Qiskit HumanEval (QHE) dan Qiskit HumanEval Hard (QHE Hard), dan menjalankannya pada model-model tersebut. Penanda aras ini serupa dengan HumanEval, termasuk pelbagai masalah kod yang mencabar untuk diselesaikan, semuanya berdasarkan pustaka Qiskit rasmi.
Penanda aras ini terdiri daripada kira-kira 150 ujian, setiap satu dibuat dari definisi fungsi, diikuti oleh docstring yang memperincikan tugas yang diperlukan model untuk diselesaikan. Setiap contoh juga termasuk penyelesaian kanonik rujukan, serta ujian unit, untuk menilai ketepatan penyelesaian yang dihasilkan. Terdapat tiga tahap kesukaran untuk ujian: asas, pertengahan, dan sukar. Penanda aras Qiskit HumanEval Hard ialah variasi penanda aras Qiskit HumanEval, tetapi mengeluarkan maklumat berkaitan import kod, supaya LLM perlu mengetahui import kaedah atau kelas yang betul. Perubahan ini menjadikan set data jauh lebih mencabar bagi LLM, menurut ujian dan keputusan awal kami.
Set data untuk Qiskit HumanEval dan Qiskit HumanEval Hard tersedia di laman web ini: Qiskit HumanEval dan Qiskit HumanEval. Anda boleh menyumbang kepada pembangunan penanda aras ini di repositori GitHub.
Pasang Qiskit Code Assistant
Pelajari cara memasang, mengkonfigurasi, dan menggunakan mana-mana model Qiskit Code Assistant pada mesin tempatan anda.
Muat turun dari laman web Hugging Face
Ikuti langkah-langkah ini untuk memuat turun mana-mana model berkaitan Qiskit Code Assistant dari laman web Hugging Face:
-
Navigasi ke halaman model Qiskit yang dikehendaki di Hugging Face.
-
Pergi ke tab Files and Versions dan muat turun fail model safetensors atau GGUF.
Muat turun menggunakan Hugging Face CLI
Untuk memuat turun mana-mana model Qiskit Code Assistant yang tersedia menggunakan Hugging Face CLI, ikuti langkah-langkah ini:
-
Pasang Hugging Face CLI
-
Log masuk ke akaun Hugging Face anda
huggingface-cli login -
Muat turun model yang anda suka dari senarai sebelumnya
huggingface-cli download <HF REPO NAME> <MODEL PATH> --local-dir <LOCAL PATH>
Gunakan model Qiskit Code Assistant secara tempatan melalui Ollama secara manual
Terdapat pelbagai cara untuk menggunakan dan berinteraksi dengan model Qiskit Code Assistant yang dimuat turun. Panduan ini menunjukkan penggunaan Ollama seperti berikut: sama ada dengan aplikasi Ollama menggunakan integrasi Hugging Face Hub atau model tempatan, atau dengan pakej llama-cpp-python.
Menggunakan aplikasi Ollama
Aplikasi Ollama menyediakan penyelesaian mudah untuk menjalankan LLM secara tempatan. Ia mudah digunakan, dengan CLI yang menjadikan keseluruhan proses persediaan, pengurusan model, dan interaksi agak mudah. Ia sesuai untuk eksperimen pantas dan untuk pengguna yang mahu mengendalikan butiran teknikal yang lebih sedikit.
Pasang Ollama
-
Muat turun aplikasi Ollama
-
Pasang fail yang dimuat turun
-
Lancarkan aplikasi Ollama yang dipasang
infoAplikasi berjalan dengan jayanya apabila ikon Ollama muncul dalam bar menu desktop. Anda juga boleh mengesahkan perkhidmatan sedang berjalan dengan pergi ke
http://localhost:11434/. -
Cuba Ollama dalam terminal anda dan mula menjalankan model. Sebagai contoh:
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Sediakan Ollama menggunakan integrasi Hugging Face Hub
Integrasi Ollama/Hugging Face Hub menyediakan cara untuk berinteraksi dengan model yang dihoskan di Hugging Face Hub tanpa perlu mencipta modelfile baharu atau memuat turun fail GGUF atau safetensors secara manual. Fail template dan params lalai sudah disertakan untuk model di Hugging Face Hub.
-
Pastikan aplikasi Ollama sedang berjalan.
-
Pergi ke halaman model yang dikehendaki, dan salin URL. Sebagai contoh, https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF.
-
Dari terminal anda, jalankan arahan:
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Anda boleh menggunakan model hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit atau mana-mana model GGUF rasmi yang disyorkan masa kini hf.co/Qiskit/mistral-small-3.2-24b-qiskit-GGUF atau hf.co/Qiskit/granite-3.3-8b-qiskit-GGUF.
Sediakan Ollama dengan model GGUF Qiskit Code Assistant yang dimuat turun secara manual
Jika anda telah memuat turun model GGUF secara manual seperti https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF dan anda ingin bereksperimen dengan templat dan parameter yang berbeza, anda boleh ikuti langkah-langkah ini untuk memuatkannya ke dalam aplikasi Ollama tempatan anda.
-
Cipta
Modelfiledengan memasukkan kandungan berikut dan pastikan anda mengemas kini<PATH-TO-GGUF-FILE>kepada laluan sebenar model yang anda muat turun.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 arahan berikut untuk mencipta instans model tersuai berdasarkan
Modelfile.ollama create Qwen2.5-Coder-14B-Qiskit -f ./path-to-model-filenotaProses ini mungkin mengambil sedikit masa untuk Ollama membaca fail model, memulakan instans model, dan mengkonfigurasinya mengikut spesifikasi yang diberikan.
Jalankan model Qiskit Code Assistant yang dimuat turun secara manual dalam Ollama
Selepas model Qwen2.5-Coder-14B-Qiskit telah ditetapkan dalam Ollama, jalankan arahan berikut untuk melancarkan model dan berinteraksi dengannya dalam terminal (dalam mod sembang).
ollama run Qwen2.5-Coder-14B-Qiskit
Beberapa arahan berguna:
-
ollama list- Senaraikan model pada komputer anda -
ollama rm Qwen2.5-Coder-14B-Qiskit- Padam model -
ollama show Qwen2.5-Coder-14B-Qiskit- Tunjukkan maklumat model -
ollama stop Qwen2.5-Coder-14B-Qiskit- Hentikan model yang sedang berjalan -
ollama ps- Senaraikan model yang sedang dimuatkan
Sebarkan model Qiskit Code Assistant secara manual secara tempatan melalui pakej llama-cpp-python
Alternatif kepada aplikasi Ollama ialah pakej llama-cpp-python, iaitu binding Python untuk llama.cpp. Ia memberikan anda lebih kawalan dan fleksibiliti untuk menjalankan model GGUF secara tempatan, dan sesuai untuk pengguna yang ingin mengintegrasikan model tempatan ke dalam aliran kerja dan aplikasi Python mereka.
-
Pasang
llama-cpp-python -
Berinteraksi dengan model dari dalam aplikasi anda menggunakan
llama_cpp. Sebagai contoh:
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 boleh menambah parameter penjanaan teks kepada model untuk menyesuaikan inferens:
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"]
Pasang model Qiskit Code Assistant secara manual di tempatan melalui llama.cpp
Gunakan pustaka llama.cpp
Alternatif lain ialah menggunakan llama.cpp, pustaka sumber terbuka untuk melaksanakan inferens LLM pada CPU dengan persediaan minimum.
Ia menyediakan kawalan peringkat rendah ke atas pelaksanaan model dan biasanya dijalankan dari baris arahan, merujuk kepada fail model GGUF tempatan.
Terdapat beberapa cara untuk memasang llama.cpp pada mesin anda:
-
Pasang llama.cpp menggunakan brew, nix, atau winget
-
Jalankan dengan Docker: Lihat dokumentasi Docker oleh pasukan
llama.cpp -
Muat turun binari pra-bina daripada halaman keluaran
-
Bina daripada sumber dengan mengklon repositori ini
Setelah dipasang, anda boleh menggunakan llama.cpp untuk berinteraksi dengan model GGUF dalam mod perbualan seperti 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 boleh melancarkan pelayan API yang serasi dengan OpenAI untuk model itu dengan cara berikut:
llama-server -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF
Parameter lanjutan
Dengan program llama-cli, anda boleh mengawal penjanaan model menggunakan pilihan baris arahan. Sebagai contoh, anda boleh menyediakan gesaan "sistem" awal menggunakan bendera -p/--prompt. Dalam mod perbualan (-cnv), gesaan awal ini bertindak sebagai mesej sistem. Jika tidak, anda boleh sekadar menambahkan arahan yang dikehendaki di hadapan teks gesaan anda. Anda juga boleh melaraskan parameter pensampelan - sebagai contoh: suhu (--temp), top-k (--top-k), top-p (--top-p), penalti pengulangan (--repeat-penalty), dan sed yang digunakan (--seed). Berikut adalah contoh panggilan menggunakan pilihan-pilihan 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 fungsi yang betul bagi model Qiskit kami, kami mengesyorkan menggunakan gesaan sistem yang disediakan dalam repositori HF GGUF kami: gesaan sistem 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.
Sambungkan Continue (VS Code) secara manual
Continue (VS Code)
1. Pasang sambungan
Buka VS Code, pergi ke Extensions (Cmd+Shift+X), cari Continue, pasangnya.
2. Buka konfigurasi
Klik ikon Continue dalam bar sisi, kemudian klik ikon gear, atau buka palet arahan (Cmd+Shift+P) dan jalankan Continue: Open Config File.
Ini membuka ~/.continue/config.yaml (atau config.json dalam versi lebih lama).
3. Konfigurasikan 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 menjadikan model Qiskit tersedia dalam panel sembang (perbualan bar sisi, Soal Jawab dalam talian) dan untuk arahan suntingan dalam talian.
4. Test it
-
Sembang: Buka panel Continue dalam bar sisi dan tanya soalan (contohnya, "Bagaimana saya membuat litar berparameter dalam Qiskit?")
-
Suntingan dalam talian: Pilih blok kod, tekan
Cmd+I(Mac) atauCtrl+I(Linux/Windows)
Sambungkan Jupyter AI (JupyterLab) secara manual
Jupyter AI (JupyterLab)
Nota: Arahan ini merangkumi Jupyter AI v2.x.
1. Pasang Jupyter AI dan pembekal Ollama
pip install "jupyter-ai<3" langchain-ollama
Pin "jupyter-ai<3" memastikan anda mendapat v2.x. Pakej langchain-ollama diperlukan untuk Jupyter AI mengesan Ollama sebagai pembekal. Tanpanya, Ollama tidak akan muncul dalam panel tetapan.
Kemudian mulakan semula JupyterLab.
2. Konfigurasikan model sembang
Buka JupyterLab dan klik ikon sembang dalam bar sisi kiri. Dalam panel tetapan:
-
Di bawah Language model, pilih Ollama sebagai pembekal.
-
Masukkan
mistral-small-3.2-24b-qiskitsebagai nama model. -
Tiada kunci API diperlukan untuk Ollama (biarkan medan kosong).
-
Klik anak panah belakang untuk mula bersembang.
3. Gunakan arahan magik %%ai
Magik %%ai membolehkan anda menanyakan model secara terus dalam sel notebook.
%load_ext jupyter_ai_magics
Kemudian dalam sel:
%%ai ollama:mistral-small-3.2-24b-qiskit
Write a function that implements Grover's algorithm using Qiskit
4. Hos Ollama tersuai (pilihan)
Secara lalai, Jupyter AI bersambung ke http://127.0.0.1:11434. Jika pelayan Ollama anda berjalan pada alamat atau port yang berbeza:
Dalam UI sembang: Tetapkan medan "Base API URL" dalam panel tetapan AI.
Sambungkan OpenCode (Terminal) secara manual
OpenCode (Terminal)
1. Pasang OpenCode
curl -fsSL https://opencode.ai/install | bash
2. Konfigurasikan model Qiskit
Cipta fail opencode.json dalam akar projek 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
Lancarkan OpenCode dalam direktori projek anda:
opencode
Di dalam TUI, jalankan arahan /models dan pilih Qiskit Code Assistant daripada senarai.
4. Test it
Tanya soalan secara terus dalam sembang, contohnya: "Define a Bell circuit and run it using QiskitRuntimeService"
Model yang tersedia
Model semasa
Ini adalah model terkini yang disyorkan untuk digunakan dengan Qiskit Code Assistant:
-
Qiskit/mistral-small-3.2-24b-qiskit - Dikeluarkan Oktober 2025
-
Qiskit/Qwen2.5-Coder-14B-Qiskit - Dikeluarkan Jun 2025
-
qiskit/granite-3.3-8b-qiskit - Dikeluarkan Jun 2025
-
qiskit/granite-3.2-8b-qiskit - Dikeluarkan Jun 2025
Model GGUF (disyorkan untuk persekitaran peribadi/komputer riba)
Model format GGUF dioptimumkan untuk penggunaan tempatan dan memerlukan lebih sedikit sumber pengkomputeran:
-
mistral-small-3.2-24b-qiskit-GGUF – Dikeluarkan Oktober 2025
Dilatih dengan data Qiskit sehingga versi 2.1
-
Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF – Dikeluarkan Jun 2025
Dilatih dengan data Qiskit sehingga versi 2.0
-
qiskit/granite-3.3-8b-qiskit-GGUF – Dikeluarkan Jun 2025
Dilatih dengan data Qiskit sehingga versi 2.0
-
qiskit/granite-3.2-8b-qiskit-GGUF – Dikeluarkan Jun 2025
Dilatih dengan data Qiskit sehingga versi 2.0
Model Qiskit Code Assistant Sumber Terbuka tersedia dalam format safetensors atau GGUF dan boleh dimuat turun daripada Hugging Face seperti yang dijelaskan di bawah.
Versi Qiskit yang digunakan untuk latihan
| Model | Metrik Penanda Aras | Tarikh Keluaran | 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 | Jun 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 | Jun 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 | Jun 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 |
Nota: Semua model yang disenaraikan dalam jadual penanda aras dinilai menggunakan gesaan sistem masing-masing, yang ditakrifkan dalam model Hugging Face mereka.
Model yang tidak digunakan lagi
Model-model ini tidak lagi diselenggara secara aktif tetapi kekal tersedia:
-
qiskit/granite-8b-qiskit-rc-0.10 - Dikeluarkan Februari 2025 (tidak digunakan lagi)
-
qiskit/granite-8b-qiskit - Dikeluarkan November 2024 (tidak digunakan lagi)
Maklumat lanjut dan petikan
Untuk mengetahui lebih lanjut tentang Qiskit Code Assistant, penanda aras Qiskit HumanEval, atau Qiskit HumanEval Hard, dan memetiknya dalam penerbitan saintifik anda, semak petikan yang disyorkan 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},
}