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

Qiskit Code Assistant

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

הערות
  • זוהי תכונה ניסיונית הזמינה למשתמשי IBM Quantum Premium Plan הרשומים בפלטפורמת IBM Quantum Platform החדשה.
  • Qiskit Code Assistant נמצא בשלב גרסת תצוגה מקדימה וכפוף לשינויים.
  • אם יש לך משוב או שתרצה לפנות לצוות המפתחים, השתמש בערוץ Qiskit Slack Workspace או במאגרי GitHub הציבוריים הרלוונטיים.

תכונות

התכונות הבאות כלולות בתוספים ל-Visual Studio Code (VS Code) ועורכים תואמים, כמו גם ל-JupyterLab:

  • מאיץ את יצירת קוד Qiskit על ידי מינוף בינה מלאכותית גנרטיבית המבוססת על מודלים המתמחים ביצירת קוד Qiskit.
  • מאפשר בקשות מופשטות וספציפיות ליצירת המלצות.
  • מציג הצעות שניתן לסקור, לקבל או לדחות.
  • תומך בקובצי קוד Python ומחברות Jupyter.
  • כולל הגבלות למניעת מענה לשאלות המהוות סיכון פוטנציאלי למשתמשים, כגון נאום שנאה.

לקבלת הוראות לשילוב Qiskit Code Assistant ישירות בסביבת הפיתוח שלך, עקוב אחר ההוראות בנושא המתאים:

מודל השפה הגדול (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 HumanEval, או ה-benchmarks של Qiskit HumanEval Hard, ולציטוט שלהם בפרסומים מדעיים, ראה בציטוטים המומלצים הבאים:

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

שימוש ב-Qiskit Code Assistant במצב מקומי

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

הערות
  • Qiskit Code Assistant נמצא בשלב גרסת תצוגה מקדימה וכפוף לשינויים.
  • אם יש לך משוב או שתרצה לפנות לצוות המפתחים, השתמש בערוץ Qiskit Slack Workspace או במאגרי GitHub הציבוריים הרלוונטיים.

הדרך הקלה ביותר להתחיל עם Qiskit Code Assistant במצב מקומי היא להשתמש בסקריפטי ההגדרה האוטומטיים עבור תוסף VS Code או JupyterLab. סקריפטים אלו יתקינו אוטומטית את Ollama להרצת ה-LLMs, יוריד את המודל המומלץ, ויגדיר את התוסף עבורך.

הגדרת תוסף VS Code

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

bash <(curl -fsSL https://raw.githubusercontent.com/Qiskit/qiskit-code-assistant-vscode/main/setup_local.sh)

סקריפט זה מבצע את השלבים הבאים:

  • התקנת Ollama (אם לא מותקן כבר)
  • הורדה והגדרה של מודל Qiskit Code Assistant המומלץ
  • הגדרת תוסף VS Code לעבודה עם הפריסה המקומית שלך

הגדרת תוסף JupyterLab

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

bash <(curl -fsSL https://raw.githubusercontent.com/Qiskit/qiskit-code-assistant-jupyterlab/main/setup_local.sh)

סקריפט זה יבצע:

  • התקנת Ollama (אם לא מותקן כבר)
  • הורדה והגדרה של מודל Qiskit Code Assistant המומלץ
  • הגדרת תוסף JupyterLab לעבודה עם הפריסה המקומית שלך

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

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

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

  1. Qiskit/mistral-small-3.2-24b-qiskit - Released October 2025
  2. qiskit/qwen2.5-coder-14b-qiskit - Released June 2025
  3. qiskit/granite-3.3-8b-qiskit - Released June 2025
  4. qiskit/granite-3.2-8b-qiskit - Released June 2025

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

  1. mistral-small-3.2-24b-qiskit-GGUF – Released October 2025
    Trained with Qiskit data up to version 2.1

  2. qiskit/qwen2.5-coder-14b-qiskit-GGUF – Released June 2025
    Trained with Qiskit data up to version 2.0

  3. qiskit/granite-3.3-8b-qiskit-GGUF – Released June 2025
    Trained with Qiskit data up to version 2.0

  4. qiskit/granite-3.2-8b-qiskit-GGUF – Released June 2025
    Trained with Qiskit data up to version 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

Note: All models listed in the benchmark table were evaluated using their respective system prompt, defined in their Hugging Face model.

מודלים שהופסקו

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

  1. qiskit/granite-8b-qiskit-rc-0.10 - Released February 2025 (deprecated)
  2. qiskit/granite-8b-qiskit - Released November 2024 (deprecated)

הגדרה מתקדמת

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

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. Run the following command to create a custom model instance based on the Modelfile.

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

    This process may take some time for Ollama to read the model file, initialize the model instance, and configure it according to the specifications provided.

Run the Qiskit Code Assistant model manually downloaded in Ollama

After the Qwen2.5-Coder-14B-Qiskit model has been set up in Ollama, run the following command to launch the model and interact with it in the terminal (in chat mode).

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

Some useful commands:

  • ollama list - List models on your computer
  • ollama rm Qwen2.5-Coder-14B-Qiskit - Delete the model
  • ollama show Qwen2.5-Coder-14B-Qiskit - Show model information
  • ollama stop Qwen2.5-Coder-14B-Qiskit - Stop a model that is currently running
  • ollama ps - List which models are currently loaded
Manually deploy the Qiskit Code Assistant models in local through the llama-cpp-python package

An alternative to the Ollama application is the llama-cpp-python package, which is a Python binding for llama.cpp. It gives you more control and flexibility to run the GGUF model locally, and is ideal for users who wish to integrate the local model in their workflows and Python applications.

  1. Install llama-cpp-python
  2. Interact with the model from within your application using llama_cpp. For example:
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"]

You can also add text generation parameters to the model to customize the 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

Use the llama.cpp library

Another alternative is to use llama.cpp, an open-source library for performing LLM inference on a CPU with minimal setup. It provides low-level control over the model execution and is typically run from the command line, pointing to a local GGUF model file.

There are several ways to install llama.cpp on your machine:

Once installed, you can use llama.cpp to interact with GGUF models in conversation mode as follows:

# 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

You can also launch an OpenAI-compatible API server for the model in the following way:

llama-server -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF
Advanced parameters

With the llama-cli program, you can control the model generation using command-line options. For example, you can provide an initial “system” prompt using the -p/--prompt flag. In conversation mode (-cnv), this initial prompt acts as the system message. Otherwise, you can simply prepend any desired instruction to your prompt text. You can also adjust sampling parameters - for instance: temperature (--temp), top-k (--top-k), top-p (--top-p), repetition penalty (--repeat-penalty), and the seed to use (--seed). The following is an example invocation using these options:

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 שלנו, אנו ממליצים להשתמש בהנחיית המערכת הכלולה במאגרי GGUF שלנו ב-HF: הנחיית מערכת עבור 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 extensions to local deployment

השתמש בתוסף VS Code ובתוסף JupyterLab של Qiskit Code Assistant כדי לשלוח בקשות למודל Qiskit Code Assistant שנפרס מקומית. לאחר שהגדרת את אפליקציית Ollama עם המודל, ניתן להגדיר את התוספים להתחבר לשירות המקומי.

חיבור עם תוסף VS Code של Qiskit Code Assistant

עם תוסף VS Code של Qiskit Code Assistant, ניתן לקיים אינטראקציה עם המודל ולבצע השלמת קוד בעת כתיבת הקוד שלך. זה יכול לעבוד היטב עבור משתמשים המחפשים סיוע בכתיבת קוד Qiskit לאפליקציות Python שלהם.

  1. התקן את תוסף VS Code של Qiskit Code Assistant.
  2. ב-VS Code, עבור ל-User Settings והגדר את Qiskit Code Assistant: Url לכתובת ה-URL של פריסת Ollama המקומית שלך (לדוגמה, http://localhost:11434).
  3. טען מחדש את VS Code על ידי מעבר ל-View > Command Palette... ובחירת Developer: Reload Window.

מודל Qiskit Code Assistant המוגדר ב-Ollama אמור להופיע בסרגל הסטטוס ומוכן לשימוש.

חיבור עם תוסף JupyterLab של Qiskit Code Assistant

עם תוסף JupyterLab של Qiskit Code Assistant, ניתן לקיים אינטראקציה עם המודל ולבצע השלמת קוד ישירות ב-Jupyter Notebook שלך. משתמשים שעובדים בעיקר עם Jupyter Notebooks יכולים לנצל תוסף זה כדי לשפר עוד יותר את חוויית כתיבת קוד Qiskit שלהם.

  1. התקן את תוסף JupyterLab של Qiskit Code Assistant.
  2. ב-JupyterLab, עבור ל-Settings Editor והגדר את Qiskit Code Assistant Service API לכתובת ה-URL של פריסת Ollama המקומית שלך (לדוגמה, http://localhost:11434).

מודל Qiskit Code Assistant המוגדר ב-Ollama אמור להופיע בסרגל הסטטוס ומוכן לשימוש.

הצעדים הבאים

המלצות