דלג לתוכן הראשי

Qiskit Code Assistant

מודלי ה-LLM של Qiskit Code Assistant שואפים להפוך את המחשוב הקוונטי לנגיש יותר למאמצים חדשים של Qiskit ולשפר את חוויית הקידוד עבור משתמשים קיימים. הוא מאומן באמצעות מיליוני אסימוני טקסט מ-SDK של Qiskit, שנים של דוגמאות קוד Qiskit, ותכונות IBM Quantum®. Qiskit Code Assistant יכול לסייע בתהליך פיתוח הקוד הקוונטי שלך על ידי הצעת הצעות שנוצרו על ידי LLM המבוססות על IBM Granite ומודלי קוד פתוח אחרים הכוללות את התכונות והפונקציונליות העדכניות ביותר מ-IBM®.

הערות

מודל השפה הגדול (LLM) מאחורי Qiskit Code Assistant

כדי לספק הצעות קוד, Qiskit Code Assistant משתמש במודל שפה גדול (LLM). במקרה זה, Qiskit Code Assistant מסתמך כרגע על המודל mistral-small-3.2-24b-qiskit, הבנוי על מודל Mistral-Small-3.2-24B-Qiskit. המודל mistral-small-3.2-24b-qiskit משפר את יכולות יצירת הקוד של מודל Mistral-Small-3.2-24B-Instruct-2506 עבור Qiskit באמצעות אימון מקדים מורחב וכוונון עדין על נתוני Qiskit באיכות גבוהה, כמו גם commit-ים של Python ושיחות. למידע נוסף על משפחת מודלי Mistral AI, ראה בתיעוד Mistral AI. לפרטים נוספים על מודלי .*-qiskit, ראה Qiskit Code Assistant: Training LLMs for generating Quantum Computing Code.

ה-LLMs המתמחים שלנו ב-Qiskit זמינים גם כמודלים בקוד פתוח. בדוק את כל המודלים הזמינים בכתובת https://huggingface.co/Qiskit.

ה-Benchmarks של Qiskit HumanEval ו-Qiskit HumanEval Hard

כדי לבדוק את mistral-small-3.2-24b-qiskit ומודלים אחרים, שיתפנו פעולה עם Advocates ומומחים של Qiskit ליצירת ה-benchmarks המבוססים על ביצוע בשם Qiskit HumanEval (QHE) ו-Qiskit HumanEval Hard (QHE Hard), והרצנו אותם על המודלים. ה-benchmarks הללו דומים ל-HumanEval, כולל מספר בעיות קוד מאתגרות לפתרון, כולן מבוססות על ספריות Qiskit הרשמיות.

ה-benchmarks מורכבים מכ-150 בדיקות, כל אחת עשויה מהגדרת פונקציה, ואחריה docstring המפרט את המשימה שהמודל נדרש לפתור. כל דוגמה כוללת גם פתרון קנוני ייחוסי, וכן בדיקות יחידה, להערכת נכונות הפתרונות שנוצרו. ישנן שלוש רמות קושי לבדיקות: בסיסי, ביניים וקשה. ה-benchmark של Qiskit HumanEval Hard הוא וריאציה של זה של Qiskit HumanEval, אך מסיר מידע הקשור ל-import של קוד, כך שה-LLM צריך להבין את ה-import הנכון של המתודה או המחלקה. שינוי זה הופך את מערך הנתונים לאתגרתי הרבה יותר עבור LLMs, לפי הבדיקות והתוצאות הראשוניות שלנו.

מערכי הנתונים של Qiskit HumanEval ו-Qiskit HumanEval Hard זמינים באתרים הבאים: Qiskit HumanEval ו-Qiskit HumanEval. ניתן לתרום לפיתוח של ה-benchmarks הללו במאגר GitHub.

התקנת Qiskit Code Assistant

למד כיצד להתקין, להגדיר ולהשתמש בכל אחד ממודלי Qiskit Code Assistant במחשב המקומי שלך.

Download from the Hugging Face website

עקוב אחר השלבים הבאים להורדת כל מודל הקשור ל-Qiskit Code Assistant מאתר Hugging Face:

  1. נווט לדף המודל הרצוי של Qiskit ב-Hugging Face.
  2. עבור ללשונית Files and Versions והורד את קבצי המודל בפורמט safetensors או GGUF.
Download using the Hugging Face CLI

להורדת כל אחד ממודלי Qiskit Code Assistant הזמינים באמצעות Hugging Face CLI, עקוב אחר השלבים הבאים:

  1. התקן את Hugging Face CLI

  2. התחבר לחשבון Hugging Face שלך

    huggingface-cli login
  3. הורד את המודל הרצוי מהרשימה הקודמת

    huggingface-cli download <HF REPO NAME> <MODEL PATH> --local-dir <LOCAL PATH>
Manually deploy the Qiskit Code Assistant models in local through Ollama

ישנן מספר דרכים לפרוס ולקיים אינטראקציה עם מודל Qiskit Code Assistant שהורד. מדריך זה מדגים שימוש ב-Ollama כדלקמן: באמצעות אפליקציית Ollama דרך שילוב Hugging Face Hub או מודל מקומי, או עם חבילת llama-cpp-python.

שימוש באפליקציית Ollama

אפליקציית Ollama מספקת פתרון פשוט להרצת ה-LLMs מקומית. קל לשימוש, עם CLI שהופך את כל תהליך ההגדרה, ניהול המודלים והאינטראקציה לפשוט למדי. הוא אידיאלי לניסויים מהירים ולמשתמשים שרוצים לטפל בפחות פרטים טכניים.

התקנת Ollama
  1. הורד את אפליקציית Ollama

  2. התקן את הקובץ שהורדת

  3. הפעל את אפליקציית Ollama המותקנת

    מידע

    האפליקציה פועלת בהצלחה כאשר סמל Ollama מופיע בשורת התפריטים של שולחן העבודה. ניתן גם לאמת שהשירות פועל על ידי גלישה לכתובת http://localhost:11434/.

  4. נסה את Ollama בטרמינל שלך והתחל להריץ מודלים. לדוגמה:

    ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
הגדרת Ollama באמצעות שילוב Hugging Face Hub

שילוב Ollama/Hugging Face Hub מספק דרך לקיים אינטראקציה עם מודלים המתארחים ב-Hugging Face Hub מבלי לצורך ליצור modelfile חדש או להוריד ידנית את קבצי GGUF או safetensors. קבצי ה-template וה-params המוגדרים כברירת מחדל כבר כלולים עבור המודל ב-Hugging Face Hub.

  1. ודא שאפליקציית Ollama פועלת.

  2. עבור לדף המודל הרצוי והעתק את ה-URL. לדוגמה, https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF.

  3. מהטרמינל שלך, הרץ את הפקודה:

    ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit

ניתן להשתמש במודל hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit או בכל אחד מהמודלים הרשמיים GGUF המומלצים הנוכחיים hf.co/Qiskit/mistral-small-3.2-24b-qiskit-GGUF או hf.co/Qiskit/granite-3.3-8b-qiskit-GGUF.

הגדרת Ollama עם מודל GGUF של Qiskit Code Assistant שהורד ידנית

אם הורדת ידנית מודל GGUF כגון https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF ואתה רוצה לנסות תבניות ופרמטרים שונים, ניתן לעקוב אחר השלבים הבאים כדי לטעון אותו לאפליקציית Ollama המקומית שלך.

  1. צור Modelfile עם התוכן הבא וודא לעדכן את <PATH-TO-GGUF-FILE> לנתיב בפועל של המודל שהורדת.

    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
  2. הרץ את הפקודה הבאה כדי ליצור מופע מודל מותאם אישית המבוסס על Modelfile.

    ollama create Qwen2.5-Coder-14B-Qiskit -f ./path-to-model-file
    הערה

    תהליך זה עשוי לקחת זמן עד ש-Ollama יקרא את קובץ המודל, יאתחל את מופע המודל ויגדיר אותו בהתאם למפרט שסופק.

הרצת מודל Qiskit Code Assistant שהורד ידנית ב-Ollama

לאחר שמודל Qwen2.5-Coder-14B-Qiskit הוגדר ב-Ollama, הרץ את הפקודה הבאה כדי להפעיל את המודל ולקיים אינטראקציה איתו בטרמינל (במצב שיחה).

ollama run Qwen2.5-Coder-14B-Qiskit

פקודות שימושיות:

  • ollama list - הצג רשימת מודלים במחשב שלך
  • ollama rm Qwen2.5-Coder-14B-Qiskit - מחק את המודל
  • ollama show Qwen2.5-Coder-14B-Qiskit - הצג מידע על המודל
  • ollama stop Qwen2.5-Coder-14B-Qiskit - עצור מודל שפועל כרגע
  • ollama ps - הצג אילו מודלים טעונים כרגע
Manually deploy the Qiskit Code Assistant models in local through the llama-cpp-python package

חלופה לאפליקציית Ollama היא חבילת llama-cpp-python, שהיא כריכת Python עבור llama.cpp. היא מעניקה לך שליטה וגמישות רבה יותר להרצת מודל GGUF מקומית, ואידיאלית למשתמשים שרוצים לשלב את המודל המקומי בתהליכי העבודה ובאפליקציות Python שלהם.

  1. התקן את llama-cpp-python
  2. קיים אינטראקציה עם המודל מתוך האפליקציה שלך באמצעות llama_cpp. לדוגמה:
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"]

ניתן גם להוסיף פרמטרי יצירת טקסט למודל כדי להתאים אישית את ה-inference:

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"]
Manually deploy the Qiskit Code Assistant models in local through llama.cpp

שימוש בספריית llama.cpp

חלופה נוספת היא שימוש ב-llama.cpp, ספרייה בקוד פתוח לביצוע LLM inference על CPU עם הגדרה מינימלית. היא מספקת שליטה ברמה נמוכה על הרצת המודל ובדרך כלל מופעלת משורת הפקודה, תוך הפניה לקובץ מודל GGUF מקומי.

ישנן מספר דרכים להתקין את llama.cpp במחשב שלך:

לאחר ההתקנה, ניתן להשתמש ב-llama.cpp לקיום אינטראקציה עם מודלי GGUF במצב שיחה כדלקמן:

# 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

ניתן גם להפעיל שרת API תואם-OpenAI עבור המודל באופן הבא:

llama-server -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF
פרמטרים מתקדמים

עם תוכנית llama-cli, ניתן לשלוט ביצירת המודל באמצעות אפשרויות שורת פקודה. לדוגמה, ניתן לספק הנחיית “system” ראשונית באמצעות הדגל -p/--prompt. במצב שיחה (-cnv), הנחייה ראשונית זו משמשת כהודעת ה-system. אחרת, ניתן פשוט להוסיף כל הוראה רצויה לתחילת טקסט ההנחייה שלך. ניתן גם לכוונן פרמטרי דגימה - לדוגמה: טמפרטורה (--temp), top-k (--top-k), top-p (--top-p), עונש על חזרות (--repeat-penalty), וה-seed לשימוש (--seed). להלן דוגמת קריאה המשתמשת באפשרויות אלו:

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

כדי להבטיח תפקוד תקין של מודלי Qiskit שלנו, אנו ממליצים להשתמש בהנחיית ה-system המסופקת במאגרי HF GGUF שלנו: הנחיית system עבור mistral-small-3.2-24b-qiskit-GGUF, Qwen2.5-Coder-14B-Qiskit-GGUF, granite-3.3-8b-qiskit-GGUF, ו-granite-3.2-8b-qiskit-GGUF.

Manually connect Continue (VS Code)

Continue (VS Code)

1. התקנת התוסף

פתח את VS Code, עבור ל-Extensions (Cmd+Shift+X), חפש את Continue, התקן אותו.

2. פתיחת הקונפיגורציה

לחץ על סמל Continue בסרגל הצד, ואז לחץ על סמל גלגל השיניים, או פתח את לוח הפקודות (Cmd+Shift+P) והרץ את Continue: Open Config File.

פעולה זו פותחת את ~/.continue/config.yaml (או config.json בגרסאות ישנות יותר).

3. הגדרת המודל

הוסף את הדברים הבאים ל-config.yaml:

models:
- name: Qiskit Code Assistant
provider: ollama
model: mistral-small-3.2-24b-qiskit
apiBase: http://localhost:11434

פעולה זו הופכת את מודל Qiskit לזמין בלוח השיחות (שיחות בסרגל הצד, שאלות ותשובות inline) ולפקודות עריכה inline.

4. בדיקה
  • שיחה: פתח את לוח Continue בסרגל הצד ושאל שאלה (לדוגמה, "How do I create a parameterized circuit in Qiskit?")
  • עריכה inline: בחר בלוק קוד, לחץ על Cmd+I (Mac) או Ctrl+I (Linux/Windows)
Manually connect Jupyter AI (JupyterLab)

Jupyter AI (JupyterLab)

הערה: הוראות אלו מכסות את Jupyter AI v2.x.

1. התקנת Jupyter AI וספק Ollama
pip install "jupyter-ai<3" langchain-ollama

ה-pin "jupyter-ai<3" מבטיח שתקבל v2.x. חבילת langchain-ollama נדרשת כדי ש-Jupyter AI יזהה את Ollama כספק. ללא חבילה זו, Ollama לא יופיע בלוח ההגדרות.

לאחר מכן הפעל מחדש את JupyterLab.

2. הגדרת מודל השיחה

פתח את JupyterLab ולחץ על סמל השיחה בסרגל הצד השמאלי. בלוח ההגדרות:

  1. תחת Language model, בחר Ollama כספק.
  2. הזן mistral-small-3.2-24b-qiskit כשם המודל.
  3. אין צורך במפתח API עבור Ollama (השאר את השדה ריק).
  4. לחץ על החץ הקדימה כדי להתחיל לשוחח.
3. שימוש בפקודת ה-magic %%ai

ה-magic %%ai מאפשר לך לשלוח שאילתות למודל ישירות בתאי notebook.

%load_ext jupyter_ai_magics

לאחר מכן בתא:

%%ai ollama:mistral-small-3.2-24b-qiskit
Write a function that implements Grover's algorithm using Qiskit
4. מארח Ollama מותאם אישית (אופציונלי)

כברירת מחדל, Jupyter AI מתחבר לכתובת http://127.0.0.1:11434. אם שרת Ollama שלך פועל בכתובת או ביציאה שונה:

ממשק השיחה: הגדר את שדה "Base API URL" בלוח הגדרות ה-AI.

Manually connect OpenCode (Terminal)

OpenCode (Terminal)

1. התקנת OpenCode
curl -fsSL https://opencode.ai/install | bash
2. הגדרת מודל Qiskit

צור קובץ opencode.json בתיקיית השורש של הפרויקט שלך (או ~/.config/opencode/opencode.json עבור קונפיגורציה גלובלית):

{
"$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. בחירת המודל

הפעל את OpenCode בתיקיית הפרויקט שלך:

opencode

בתוך ה-TUI, הרץ את פקודת /models ובחר Qiskit Code Assistant מהרשימה.

4. בדיקה

שאל שאלה ישירות בשיחה, לדוגמה: "Define a Bell circuit and run it using QiskitRuntimeService"

מודלים זמינים

מודלים נוכחיים

אלו הם המודלים המומלצים העדכניים לשימוש עם Qiskit Code Assistant:

  1. Qiskit/mistral-small-3.2-24b-qiskit - שוחרר באוקטובר 2025
  2. Qiskit/Qwen2.5-Coder-14B-Qiskit - שוחרר ביוני 2025
  3. qiskit/granite-3.3-8b-qiskit - שוחרר ביוני 2025
  4. qiskit/granite-3.2-8b-qiskit - שוחרר ביוני 2025

מודלים בפורמט GGUF מותאמים לשימוש מקומי ודורשים פחות משאבי מחשוב:

  1. mistral-small-3.2-24b-qiskit-GGUF – שוחרר באוקטובר 2025
    אומן עם נתוני Qiskit עד לגרסה 2.1

  2. Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF – שוחרר ביוני 2025
    אומן עם נתוני Qiskit עד לגרסה 2.0

  3. qiskit/granite-3.3-8b-qiskit-GGUF – שוחרר ביוני 2025
    אומן עם נתוני Qiskit עד לגרסה 2.0

  4. qiskit/granite-3.2-8b-qiskit-GGUF – שוחרר ביוני 2025
    אומן עם נתוני Qiskit עד לגרסה 2.0

מודלי Qiskit Code Assistant בקוד פתוח זמינים בפורמט safetensors או GGUF file format וניתן להוריד אותם מ-Hugging Face כמוסבר להלן.

גרסאות Qiskit ששימשו לאימון

Model     Benchmark Metrics    Release dateTrained on Qiskit version
 QiskitHumanEval-HardQiskitHumanEvalHumanEvalASDivMathQASciQMBPPIFEvalCrowsPairs (English)TruthfulQA (MC1 acc)  
mistral-small-3.2-24b-qiskit32.4547.0277.493.7749.6897.5064.0048.4467.0839.41January 20262.2
Qwen2.5-Coder-14B-Qiskit25.1749.0191.464.2153.9097.0077.6049.6465.1837.82June 20252.0
granite-3.3-8b-qiskit14.5727.1562.800.4838.6693.3052.4059.7159.7539.05June 20252.0
granite-3.2-8b-qiskit9.9324.5057.320.0941.4196.3051.8060.7966.7940.51June 20252.0
granite-8b-qiskit-rc-0.1015.8938.4159.76February 20251.3
granite-8b-qiskit17.8844.3753.66November 20241.2

הערה: כל המודלים הרשומים בטבלת ה-benchmark הוערכו תוך שימוש בהנחיית ה-system שלהם, המוגדרת במודל Hugging Face שלהם.

מודלים מיושנים

מודלים אלו אינם מתוחזקים עוד באופן פעיל אך עדיין זמינים:

  1. qiskit/granite-8b-qiskit-rc-0.10 - שוחרר בפברואר 2025 (מיושן)
  2. qiskit/granite-8b-qiskit - שוחרר בנובמבר 2024 (מיושן)

מידע נוסף וציטוטים

למידע נוסף על Qiskit Code Assistant, ה-Qiskit HumanEval, או ה-Qiskit HumanEval Hard benchmarks, וכדי לצטט אותם בפרסומים מדעיים שלך, עיין בציטוטים המומלצים הבאים:

@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},
}