- Kompatibilitas OpenAI API milik Qiskit Code Assistant masih dalam status rilis pratinjau dan dapat berubah sewaktu-waktu.
- Kalau kamu punya masukan atau ingin menghubungi tim pengembang, gunakan kanal Qiskit Slack Workspace atau repositori GitHub publik terkait.
Qiskit Code Assistant - Kompatibilitas OpenAI API
Qiskit Code Assistant menawarkan kompatibilitas dengan sebagian spesifikasi OpenAI API, khususnya dengan endpoint completions API. Tujuan kompatibilitas ini adalah memungkinkan paket pihak ketiga terhubung ke Qiskit Code Assistant dengan mudah menggunakan library dan metode terkait AI yang sudah dikenal seperti OpenAI, LiteLLM, atau lainnya.
Endpoint OpenAI API yang didukungβ
| Metode | Path | Keterangan |
|---|---|---|
| GET | /v1/models | Tampilkan semua model |
| GET | /v1/model/{model} | Lihat detail model |
| POST | /v1/completions | Kirim prompt ke model untuk completion |
Endpoint /v1/completions akan gagal dengan error 403 jika disclaimer model belum diterima. Lihat bagian berikut untuk cara melihat dan menerima disclaimer model.
Endpoint tambahan (tidak termasuk dalam skema OpenAI, disediakan untuk kemudahan) meliputi:
| Metode | Path | Keterangan |
|---|---|---|
| GET | /v1/model/{model}/disclaimer | Lihat disclaimer model |
| POST | /v1/model/{model}/disclaimer | Terima disclaimer model |
| POST | /v1/completions/accept | Terima atau tolak completion |
Untuk mengambil/melihat disclaimer model, buat request GET ke endpoint disclaimer. Contohnya:
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>'
Kalau kamu setuju dengan disclaimer model, untuk menerimanya, lakukan POST ke endpoint disclaimer dengan menyertakan ID disclaimer dan apakah diterima atau ditolak. Contohnya:
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
}'
Contohβ
Gunakan library Python resmi OpenAIβ
Library Python OpenAI menyediakan akses mudah ke OpenAI REST API (seperti yang disediakan oleh Qiskit Code Assistant) dari aplikasi Python 3.8+ mana pun. Lihat detail lebih lanjut di bagian Instalasi Readme library 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}")
Gunakan LiteLLMβ
LiteLLM adalah library Python yang praktis untuk mengakses berbagai API LLM menggunakan format OpenAI (Bedrock, Huggingface, VertexAI, TogetherAI, Azure, OpenAI, Groq, dan lainnya). Lihat dokumentasi LiteLLM untuk detail lebih lanjut.
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)