- Keserasian API OpenAI Qiskit Code Assistant sedang dalam status keluaran pratonton dan boleh berubah.
- Jika anda ada maklum balas atau ingin menghubungi pasukan pembangun, gunakan saluran Qiskit Slack Workspace atau repositori GitHub awam yang berkaitan.
Qiskit Code Assistant - Keserasian API OpenAI
Qiskit Code Assistant menawarkan keserasian dengan subset spesifikasi API OpenAI, khususnya dengan endpoint API completions. Tujuan keserasian ini adalah untuk membolehkan pakej pihak ketiga menyambung ke Qiskit Code Assistant dengan lancar menggunakan pustaka dan kaedah berkaitan AI yang terkenal seperti OpenAI, LiteLLM, atau yang lain.
Endpoint API OpenAI yang disokongβ
| Kaedah | Laluan | Komen |
|---|---|---|
| GET | /v1/models | Senaraikan semua model |
| GET | /v1/model/{model} | Dapatkan butiran model |
| POST | /v1/completions | Hantar arahan kepada model untuk penyiapan |
Endpoint /v1/completions gagal dengan ralat 403 jika penafian model belum diterima. Lihat di bawah untuk cara melihat dan menerima penafian model.
Endpoint tambahan (bukan sebahagian dari skema OpenAI, disediakan untuk kemudahan) termasuk:
| Kaedah | Laluan | Komen |
|---|---|---|
| GET | /v1/model/{model}/disclaimer | Dapatkan penafian model |
| POST | /v1/model/{model}/disclaimer | Terima penafian model |
| POST | /v1/completions/accept | Terima atau tolak penyiapan |
Untuk mendapatkan/melihat penafian model, buat permintaan GET ke endpoint penafian. 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>'
Jika anda bersetuju dengan penafian model, untuk menerimanya, lakukan POST ke endpoint penafian dengan memberikan ID penafian dan sama ada ia 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β
Guna pustaka Python OpenAI rasmiβ
Pustaka Python OpenAI menyediakan akses mudah ke API REST OpenAI (seperti yang disediakan oleh Qiskit Code Assistant) dari mana-mana aplikasi Python 3.8+. Lihat maklumat lanjut dalam bahagian Pemasangan Readme pustaka API Python OpenAI.
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}")
Guna LiteLLMβ
LiteLLM ialah pustaka Python yang mudah untuk mengakses pelbagai API LLM menggunakan format OpenAI (Bedrock, Huggingface, VertexAI, TogetherAI, Azure, OpenAI, Groq, dan sebagainya). Lihat dokumen LiteLLM untuk maklumat 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)