انتقل إلى المحتوى الرئيسي
هذا المشروع في مرحلة تجريبية. وجدت خطأ؟ افتح مشكلة على GitHub. لديك سؤال أو فكرة؟ اسأل في Discussions — نحب سماع ملاحظاتك!
كيف جودة الترجمة في هذه الصفحة؟

مساعد كود Qiskit

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

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

نموذج اللغة الكبير (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 وتهيئتها واستخدامها على جهازك المحلي.

التنزيل من موقع Hugging Face

اتّبع هذه الخطوات لتنزيل أي نموذج مرتبط بمساعد كود Qiskit من موقع Hugging Face:

  1. انتقل إلى صفحة نموذج Qiskit المطلوب على Hugging Face.

  2. اذهب إلى تبويب Files and Versions ونزِّل ملفات نموذج safetensors أو GGUF.

التنزيل باستخدام 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>
نشر نماذج مساعد كود Qiskit يدويًا محليًا باستخدام Ollama

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

استخدام تطبيق Ollama​

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

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

إن كنت قد نزّلت نموذج 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 المنزَّل يدويًا في 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 - عرض النماذج المُحمَّلة حاليًا

نشر نماذج Qiskit Code Assistant يدويًا محليًا باستخدام حزمة llama-cpp-python

بديل تطبيق 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"]

يمكنك أيضًا إضافة معاملات توليد النص إلى النموذج لتخصيص الاستدلال:

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"]

نشر نماذج مساعد كود Qiskit يدويًا محليًا باستخدام llama.cpp

استخدام مكتبة llama.cpp​

بديل آخر هو استخدام llama.cpp، وهي مكتبة مفتوحة المصدر لإجراء استدلال نماذج اللغة الكبيرة (LLM) على وحدة المعالجة المركزية (CPU) بإعداد أدنى. توفر تحكمًا منخفض المستوى في تنفيذ النموذج وعادةً ما تُشغَّل من سطر الأوامر، مع الإشارة إلى ملف نموذج GGUF محلي.

هناك عدة طرق لتثبيت llama.cpp على جهازك:

بمجرد التثبيت، يمكنك استخدام llama.cpp للتفاعل مع نماذج GGUF في وضع المحادثة كما يلي:


# 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

يمكنك أيضًا إطلاق خادم واجهة برمجة تطبيقات متوافق مع OpenAI للنموذج بالطريقة التالية:

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

معاملات متقدمة​

باستخدام برنامج llama-cli، يمكنك التحكم في توليد النموذج باستخدام خيارات سطر الأوامر. على سبيل المثال، يمكنك توفير مطالبة "نظام" أولية باستخدام العلامة -p/--prompt. في وضع المحادثة (-cnv)، تعمل هذه المطالبة الأولية كرسالة النظام. وإلا، يمكنك ببساطة إضافة أي تعليمات مرغوبة قبل نص مطالبتك. يمكنك أيضًا ضبط معاملات أخذ العينات - على سبيل المثال: درجة الحرارة (--temp)، وtop-k (--top-k)، وtop-p (--top-p)، وعقوبة التكرار (--repeat-penalty)، والبذرة المستخدمة (--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 الخاصة بنا، نوصي باستخدام مطالبة النظام المتوفرة في مستودعات 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.

توصيل 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 متاحًا في لوحة المحادثة (محادثات الشريط الجانبي، الأسئلة والأجوبة المضمنة) ولأوامر التحرير المضمن.

4. Test it​
  • الدردشة: افتح لوحة Continue في الشريط الجانبي واطرح سؤالًا (مثلاً: "كيف أنشئ دائرة معلمنة في Qiskit؟")

  • التحرير المضمن: حدد كتلة من الكود، واضغط Cmd+I (Mac) أو Ctrl+I (Linux/Windows)

توصيل Jupyter AI يدويًا (JupyterLab)

Jupyter AI (JupyterLab)​

ملاحظة: تغطي هذه التعليمات Jupyter AI الإصدار v2.x.

1. تثبيت Jupyter AI ومزود Ollama​
pip install "jupyter-ai<3" langchain-ollama

يضمن التثبيت المُقيَّد "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. استخدام أمر السحر %%ai​

يتيح لك أمر السحر %%ai استعلام النموذج مباشرة في خلايا الدفتر.

%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" في لوحة إعدادات الذكاء الاصطناعي.

توصيل 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. Test it​

اطرح سؤالًا مباشرة في الدردشة، على سبيل المثال: "عرّف دائرة Bell وشغّلها باستخدام QiskitRuntimeService"

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

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

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

  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 (موصى بها للبيئات الشخصية/أجهزة الكمبيوتر المحمولة)​

نماذج بصيغة 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 المستخدمة في التدريب​

النموذج     مقاييس الأداء المرجعي    تاريخ الإصدارإصدار Qiskit المستخدم في التدريب
 QiskitHumanEval-HardQiskitHumanEvalHumanEvalASDivMathQASciQMBPPIFEvalCrowsPairs (English)TruthfulQA (MC1 acc)  
mistral-small-3.2-24b-qiskit32.4547.0277.493.7749.6897.5064.0048.4467.0839.41يناير 20262.2
Qwen2.5-Coder-14B-Qiskit25.1749.0191.464.2153.9097.0077.6049.6465.1837.82يونيو 20252.0
granite-3.3-8b-qiskit14.5727.1562.800.4838.6693.3052.4059.7159.7539.05يونيو 20252.0
granite-3.2-8b-qiskit9.9324.5057.320.0941.4196.3051.8060.7966.7940.51يونيو 20252.0
granite-8b-qiskit-rc-0.1015.8938.4159.76———————فبراير 20251.3
granite-8b-qiskit17.8844.3753.66———————نوفمبر 20241.2

ملاحظة: جميع النماذج المدرجة في جدول القياس المرجعي جرى تقييمها باستخدام مطالبة النظام (system prompt) الخاصة بكل منها، المحددة في نموذجها على 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 المرجعية، والاستشهاد بها في منشوراتك العلمية، راجع هذه الاستشهادات الموصى بها:

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