- ความเข้ากันได้กับ 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 ที่รองรับ
| Method | Path | หมายเหตุ |
|---|---|---|
| GET | /v1/models | แสดงรายการโมเดลทั้งหมด |
| GET | /v1/model/{model} | ดูรายละเอียดโมเดล |
| POST | /v1/completions | ส่ง prompt ไปยังโมเดลเพื่อ completion |
endpoint /v1/completions จะตอบกลับด้วยข้อผิดพลาด 403 หากยังไม่ได้ยอมรับ model disclaimer ดูวิธีดูและยอมรับ model disclaimer ด้านล่าง
endpoints เพิ่มเติม (ไม่ใช่ส่วนหนึ่งของ OpenAI schema แต่มีไว้เพื่อความสะดวก) ได้แก่:
| Method | Path | หมายเหตุ |
|---|---|---|
| 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)