- توافق 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)