ข้ามไปยังเนื้อหาหลัก
หมายเหตุ
  • ความเข้ากันได้กับ OpenAI API ของ Qiskit Code Assistant อยู่ในสถานะพรีวิวรีลีสและอาจมีการเปลี่ยนแปลง
  • หากมีข้อเสนอแนะหรือต้องการติดต่อทีมพัฒนา ใช้ Qiskit Slack Workspace channel หรือ GitHub repositories สาธารณะที่เกี่ยวข้อง

Qiskit Code Assistant - ความเข้ากันได้กับ OpenAI API

Qiskit Code Assistant รองรับความเข้ากันได้กับ OpenAI API specification บางส่วน โดยเฉพาะ completions API endpoints เป้าหมายของความเข้ากันได้นี้คือให้แพ็กเกจของบุคคลที่สามสามารถเชื่อมต่อกับ Qiskit Code Assistant ได้อย่างราบรื่น โดยใช้ไลบรารีและวิธีการที่เกี่ยวข้องกับ AI ที่เป็นที่รู้จัก เช่น OpenAI, LiteLLM หรืออื่น ๆ

OpenAI API endpoints ที่รองรับ

MethodPathหมายเหตุ
GET/v1/modelsแสดงรายการโมเดลทั้งหมด
GET/v1/model/{model}ดูรายละเอียดโมเดล
POST/v1/completionsส่ง prompt ไปยังโมเดลเพื่อ completion
หมายเหตุ

endpoint /v1/completions จะตอบกลับด้วยข้อผิดพลาด 403 หากยังไม่ได้ยอมรับ model disclaimer ดูวิธีดูและยอมรับ model disclaimer ด้านล่าง

endpoints เพิ่มเติม (ไม่ใช่ส่วนหนึ่งของ OpenAI schema แต่มีไว้เพื่อความสะดวก) ได้แก่:

MethodPathหมายเหตุ
GET/v1/model/{model}/disclaimerดู disclaimer ของโมเดล
POST/v1/model/{model}/disclaimerยอมรับ disclaimer ของโมเดล
POST/v1/completions/acceptยอมรับหรือปฏิเสธ completion

เพื่อดึง/ดู model disclaimer ให้ทำ GET request ไปยัง disclaimer endpoint ตัวอย่างเช่น:

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>'

หากเห็นด้วยกับ model disclaimer ในการยอมรับให้ POST ไปยัง disclaimer endpoint โดยระบุ ID ของ disclaimer และว่ายอมรับหรือปฏิเสธ ตัวอย่างเช่น:

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
}'

ตัวอย่าง

ใช้ไลบรารี Python ทางการของ OpenAI

ไลบรารี Python ของ OpenAI ให้การเข้าถึง OpenAI REST API (เช่นที่ Qiskit Code Assistant ให้บริการ) อย่างสะดวกจากแอปพลิเคชัน Python 3.8+ ใด ๆ ดูรายละเอียดเพิ่มเติมได้ที่ ส่วน Installation ของ OpenAI Python API library Readme

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 API หลายตัวโดยใช้รูปแบบ OpenAI (Bedrock, Huggingface, VertexAI, TogetherAI, Azure, OpenAI, Groq และอื่น ๆ) ดู LiteLLM docs สำหรับรายละเอียดเพิ่มเติม

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)
Source: IBM Quantum docs — updated 11 ก.พ. 2569
English version on doQumentation — updated 7 พ.ค. 2569
This translation based on the English version of 11 มี.ค. 2569