انتقل إلى المحتوى الرئيسي

مساعد كود Qiskit

يهدف مساعد كود Qiskit إلى جعل الحوسبة الكمية أكثر سهولةً للمستخدمين الجدد على Qiskit، وتحسين تجربة البرمجة للمستخدمين الحاليين. وهو مساعد كود يعتمد على الذكاء الاصطناعي التوليدي مدعومًا بـ watsonx، وقد تدرَّب على ملايين الرموز النصية من Qiskit SDK وسنوات من أمثلة كود Qiskit وميزات IBM Quantum®. يمكن لمساعد كود Qiskit تعزيز سير عمل تطويرك الكمي من خلال تقديم اقتراحات مولَّدة بنماذج اللغة الكبيرة استنادًا إلى نماذج IBM Granite، والتي تتضمن أحدث الميزات والوظائف من IBM®.

ملاحظات
  • هذه ميزة تجريبية متاحة لمستخدمي خطة IBM Quantum Premium المسجَّلين على منصة IBM Quantum الجديدة.
  • مساعد كود Qiskit في مرحلة الإصدار التجريبي وقد يتغير في أي وقت.
  • إن كان لديك ملاحظات أو تريد التواصل مع فريق المطورين، استخدم قناة Qiskit على Slack أو مستودعات GitHub العامة ذات الصلة.

الميزات

تتوفر الميزات التالية في إضافات Visual Studio Code (VS Code) والمحررات المتوافقة معه، إضافةً إلى JupyterLab:

  • تسريع توليد كود Qiskit بالاستفادة من الذكاء الاصطناعي التوليدي المبني على نماذج متخصصة في توليد كود Qiskit.
  • دعم التعليمات المجردة والمحددة لتوليد التوصيات.
  • عرض اقتراحات يمكنك مراجعتها وقبولها أو رفضها.
  • دعم ملفات Python وملفات Jupyter notebook.
  • تضمين ضوابط وقائية لتجنب الإجابة على أسئلة تمثّل خطرًا محتملًا على المستخدمين، كخطاب الكراهية.

لدمج مساعد كود Qiskit مباشرةً في بيئة التطوير الخاصة بك، اتبع التعليمات في الموضوع المناسب:

نموذج اللغة الكبير (LLM) خلف مساعد كود Qiskit

لتقديم اقتراحات الكود، يستخدم مساعد كود Qiskit نموذج لغة كبير (LLM). في هذه الحالة، يعتمد مساعد كود Qiskit حاليًا على النموذج 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 عالية الجودة، فضلًا عن التزامات Python والمحادثات. لمزيد من المعلومات حول عائلة نماذج Mistral AI، راجع توثيق Mistral AI. لمزيد من التفاصيل حول نماذج .*-qiskit، راجع مساعد كود Qiskit: تدريب نماذج LLM لتوليد كود الحوسبة الكمية.

نماذجنا الكبيرة المتخصصة في Qiskit متاحة أيضًا كنماذج مفتوحة المصدر. تحقق من جميع النماذج المتاحة على https://huggingface.co/Qiskit.

معياري Qiskit HumanEval و Qiskit HumanEval Hard

لاختبار النموذج mistral-small-3.2-24b-qiskit وغيره من النماذج، تعاونّا مع مناصري Qiskit والخبراء لإنشاء معياري التقييم القائمَين على التنفيذ، المعروفَين بـ Qiskit HumanEval (QHE) وQiskit HumanEval Hard (QHE Hard)، وأجرينا عليهما اختبارات النماذج. هذان المعياران مشابهان لـ HumanEval، ويتضمنان مسائل برمجية متعددة ومتحدية للحل، كلها مبنية على مكتبات Qiskit الرسمية.

يتكون كل معيار من نحو 150 اختبارًا، كل منها مبني من تعريف دالة يتبعه docstring يوضّح المهمة المطلوب من النموذج حلّها. يتضمن كل مثال أيضًا حلًّا مرجعيًّا قانونيًّا، فضلًا عن اختبارات وحدة للتحقق من صحة الحلول المولَّدة. توجد ثلاثة مستويات من الصعوبة للاختبارات: أساسي، ومتوسط، وصعب. معيار Qiskit HumanEval Hard هو نسخة من معيار Qiskit HumanEval، لكنه يزيل المعلومات المتعلقة باستيراد الكود، بحيث يحتاج النموذج اللغوي الكبير إلى تحديد الطريقة أو الكلاس المناسب للاستيراد. يجعل هذا التغيير مجموعة البيانات أكثر تحديًا لنماذج LLM وفقًا لاختباراتنا ونتائجنا الأولية.

مجموعتا بيانات Qiskit HumanEval وQiskit HumanEval Hard متاحتان على هذين الموقعَين: Qiskit HumanEval وQiskit HumanEval. يمكنك المساهمة في تطوير هذه المعايير عبر مستودع GitHub.

مزيد من المعلومات والاستشهادات

لمعرفة المزيد عن مساعد كود Qiskit ومعياري Qiskit HumanEval و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 في الوضع المحلي

تعلّم كيفية تثبيت أي من نماذج مساعد كود Qiskit وتهيئتها واستخدامها على جهازك المحلي.

ملاحظات
  • مساعد كود Qiskit في مرحلة الإصدار التجريبي وقد يتغير في أي وقت.
  • إن كان لديك ملاحظات أو تريد التواصل مع فريق المطورين، استخدم قناة Qiskit على Slack أو مستودعات GitHub العامة ذات الصلة.

أسهل طريقة للبدء مع مساعد كود Qiskit في الوضع المحلي هي استخدام نصوص الإعداد التلقائي لإضافة VS Code أو JupyterLab. تقوم هذه النصوص تلقائيًا بتثبيت Ollama لتشغيل نماذج LLM وتنزيل النموذج الموصى به وتهيئة الإضافة لك.

إعداد إضافة VS Code

نفِّذ الأمر التالي في طرفيتك:

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

يُنفِّذ هذا النص الخطوات التالية:

  • تثبيت Ollama (إن لم يكن مثبَّتًا مسبقًا)
  • تنزيل نموذج مساعد كود Qiskit الموصى به وتهيئته
  • إعداد إضافة VS Code للعمل مع نشرك المحلي

إعداد إضافة JupyterLab

نفِّذ الأمر التالي في طرفيتك:

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

سيقوم هذا النص بما يلي:

  • تثبيت Ollama (إن لم يكن مثبَّتًا مسبقًا)
  • تنزيل نموذج مساعد كود Qiskit الموصى به وتهيئته
  • إعداد إضافة JupyterLab للعمل مع نشرك المحلي

النماذج المتاحة

النماذج الحالية

هذه أحدث النماذج الموصى بها للاستخدام مع مساعد كود Qiskit:

  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 متاحة بتنسيق 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 من موقع Hugging Face:

  1. انتقل إلى صفحة نموذج Qiskit المطلوب على Hugging Face.
  2. اذهب إلى تبويب Files and Versions ونزِّل ملفات نموذج safetensors أو GGUF.
Download using the Hugging Face CLI

لتنزيل أي من نماذج مساعد كود Qiskit المتاحة باستخدام 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 المنزَّل والتفاعل معه. يوضح هذا الدليل استخدام Ollama على النحو التالي: إما مع تطبيق Ollama باستخدام تكامل Hugging Face Hub أو النموذج المحلي، أو مع حزمة llama-cpp-python.

Using the Ollama application

يوفر تطبيق Ollama حلًّا بسيطًا لتشغيل نماذج LLM محليًا. وهو سهل الاستخدام، مع واجهة سطر أوامر تجعل عملية الإعداد الكاملة وإدارة النماذج والتفاعل معها أمرًا مباشرًا. وهو مثالي للتجريب السريع للمستخدمين الذين يريدون التعامل مع تفاصيل تقنية أقل.

Install Ollama
  1. نزِّل تطبيق Ollama

  2. ثبِّت الملف المنزَّل

  3. شغِّل تطبيق Ollama المثبَّت

    معلومات

    The application is running successfully when the Ollama icon appears in the desktop menu bar. You can also verify the service is running by going to http://localhost:11434/.

  4. جرِّب Ollama في طرفيتك وابدأ تشغيل النماذج. على سبيل المثال:

    ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Set up Ollama using the Hugging Face Hub integration

يوفر تكامل Ollama/Hugging Face Hub طريقةً للتفاعل مع النماذج المستضافة على Hugging Face Hub دون الحاجة إلى إنشاء modelfile جديد أو تنزيل ملفات GGUF أو safetensors يدويًا. ملفات template وparams الافتراضية مدرجة بالفعل للنموذج على Hugging Face Hub.

  1. تأكد من أن تطبيق Ollama يعمل.

  2. انتقل إلى صفحة النموذج المطلوب وانسخ الرابط. على سبيل المثال، 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.

Set up Ollama with a manually downloaded Qiskit Code Assistant GGUF model

إن كنت قد نزّلت نموذج 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 لدينا، نوصي باستخدام رسالة النظام المقدمة في مستودعات HF GGUF الخاصة بنا: رسالة النظام لـ 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 لإرسال طلبات إلى نموذج مساعد كود Qiskit المنشور محليًا. بمجرد أن يكون لديك تطبيق Ollama مُعدًّا مع النموذج، يمكنك تهيئة الإضافات للاتصال بالخدمة المحلية.

Connect with the Qiskit Code Assistant VS Code extension

مع إضافة VS Code لمساعد كود Qiskit، يمكنك التفاعل مع النموذج وإجراء استكمال الكود أثناء كتابته. يمكن أن يناسب ذلك المستخدمين الذين يبحثون عن مساعدة في كتابة كود Qiskit لتطبيقات Python الخاصة بهم.

  1. ثبِّت إضافة VS Code لمساعد كود Qiskit.
  2. في VS Code، اذهب إلى User Settings وعيِّن Qiskit Code Assistant: Url على رابط نشر Ollama المحلي (على سبيل المثال، http://localhost:11434).
  3. أعد تحميل VS Code بالذهاب إلى View > Command Palette... واختيار Developer: Reload Window.

يجب أن يظهر نموذج مساعد كود Qiskit المهيَّأ في Ollama في شريط الحالة وهو جاهز للاستخدام حينئذٍ.

Connect with the Qiskit Code Assistant JupyterLab extension

مع إضافة JupyterLab لمساعد كود Qiskit، يمكنك التفاعل مع النموذج وإجراء استكمال الكود مباشرةً في دفتر Jupyter الخاص بك. المستخدمون الذين يعملون بشكل أساسي مع دفاتر Jupyter يمكنهم الاستفادة من هذه الإضافة لتحسين تجربتهم في كتابة كود Qiskit.

  1. ثبِّت إضافة JupyterLab لمساعد كود Qiskit.
  2. في JupyterLab، اذهب إلى Settings Editor وعيِّن Qiskit Code Assistant Service API على رابط نشر Ollama المحلي (على سبيل المثال، http://localhost:11434).

يجب أن يظهر نموذج مساعد كود Qiskit المهيَّأ في Ollama في شريط الحالة وهو جاهز للاستخدام حينئذٍ.

الخطوات التالية

توصيات