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

Qiskit Code Assistant - توافق واجهة برمجة تطبيقات OpenAI

يوفر Qiskit Code Assistant توافقًا مع مجموعة فرعية من مواصفات واجهة برمجة تطبيقات OpenAI، وتحديدًا مع نقاط نهاية واجهة برمجة تطبيقات الإكمال. الهدف من هذا التوافق هو السماح للحزم الخارجية بالاتصال بـ Qiskit Code Assistant بسلاسة عبر استخدام مكتبات وطرق الذكاء الاصطناعي المعروفة مثل OpenAI وLiteLLM وغيرها.

نقاط نهاية واجهة برمجة تطبيقات OpenAI المدعومة

الطريقةالمسارملاحظة
GET/v1/modelsعرض جميع النماذج
GET/v1/model/{model}الحصول على تفاصيل النموذج
POST/v1/completionsإرسال طلب إلى النموذج للإكمال
ملاحظة

تفشل نقطة النهاية /v1/completions بخطأ 403 إذا لم يتم قبول إخلاء مسؤولية النموذج. راجع ما يلي لمعرفة كيفية عرض إخلاء المسؤولية وقبوله.

تشمل نقاط النهاية الإضافية (غير المُدرجة ضمن مخطط OpenAI، والمقدَّمة للتسهيل):

الطريقةالمسارملاحظة
GET/v1/model/{model}/disclaimerالحصول على إخلاء مسؤولية النموذج
POST/v1/model/{model}/disclaimerقبول إخلاء مسؤولية النموذج
POST/v1/completions/acceptقبول الإكمال أو رفضه

لاسترداد إخلاء مسؤولية النموذج أو عرضه، أرسل طلب GET إلى نقطة نهاية إخلاء المسؤولية. مثال:

curl -X 'GET' \
'https://qiskit-code-assistant.quantum.ibm.com/v1/model/mistral-small-3.2-24b-qiskit/disclaimer' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <IBM Quantum Classic API key>'

إذا وافقت على إخلاء مسؤولية النموذج وأردت قبوله، أرسل طلب POST إلى نقطة نهاية إخلاء المسؤولية مع تقديم معرّف إخلاء المسؤولية وتحديد ما إذا كنت تقبله أم ترفضه. مثال:

curl -X 'POST' \
'https://qiskit-code-assistant.quantum.ibm.com/v1/model/mistral-small-3.2-24b-qiskit/disclaimer' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <IBM Quantum Classic API key>' \
-H 'Content-Type: application/json' \
-d '{
"disclaimer": "<DISCLAIMER_ID>",
"accepted": true
}'

أمثلة

استخدام مكتبة OpenAI Python الرسمية

توفر مكتبة OpenAI Python وصولًا مريحًا إلى واجهة برمجة تطبيقات OpenAI REST (مثل تلك التي يوفرها Qiskit Code Assistant) من أي تطبيق Python 3.8+. اطّلع على مزيد من التفاصيل في قسم التثبيت في ملف Readme لمكتبة OpenAI Python API.

from openai import OpenAI

# Initialize the client with your API token
client = OpenAI(
api_key="<IBM Quantum Classic API token>",
base_url="https://qiskit-code-assistant.quantum.ibm.com/v1",
)

# Make a request to the completions API
try:
response = client.completions.create(
model="mistral-small-3.2-24b-qiskit",
prompt="#Transpile a random circuit using the Qiskit Transpiler Service",
)

# Print the generated text
print(response.choices[0].text)

except Exception as e:
print(f"An error occurred: {e}")

استخدام LiteLLM

LiteLLM هي مكتبة Python مريحة للوصول إلى واجهات برمجة تطبيقات متعددة من النماذج اللغوية الكبيرة (LLM) باستخدام تنسيق OpenAI (مثل Bedrock وHuggingface وVertexAI وTogetherAI وAzure وOpenAI وGroq وغيرها). راجع توثيق LiteLLM للمزيد من التفاصيل.

from litellm import completion

response = completion(
model=f"text-completion-openai/mistral-small-3.2-24b-qiskit",
base_url="https://qiskit-code-assistant.quantum.ibm.com/v1",
messages=[
{
"role": "user",
"content": "#Transpile a random circuit using the Qiskit Transpiler Service",
}
],
api_key="<IBM Quantum Classic API key>",
)

completion_response = response.json()
print(completion_response)