Lumaktaw sa pangunahing nilalaman
Mga Tala
  • Ang compatibility ng Qiskit Code Assistant sa OpenAI API ay nasa preview release status pa at maaaring magbago.
  • Kung mayroon kang feedback o gusto mong makipag-ugnayan sa developer team, gamitin ang Qiskit Slack Workspace channel o ang mga kaugnay na pampublikong GitHub repository.

Qiskit Code Assistant - Compatibility ng OpenAI API

Nag-aalok ang Qiskit Code Assistant ng compatibility sa isang subset ng OpenAI API specification, partikular sa completions API endpoints. Ang layunin ng compatibility na ito ay payagan ang mga third-party na pakete na kumonekta sa Qiskit Code Assistant nang walang putol sa pamamagitan ng mga kilalang AI-related na library at paraan tulad ng OpenAI, LiteLLM, o iba pa.

Mga sinusuportahang OpenAI API endpoint​

ParaanPathKomento
GET/v1/modelsIlista ang lahat ng modelo
GET/v1/model/{model}Kunin ang detalye ng modelo
POST/v1/completionsMagpadala ng prompt sa modelo para sa completion
tala

Ang /v1/completions endpoint ay mabibigo na may 403 na error kung natanggap na ang model disclaimer. Tingnan ang sumusunod para sa kung paano tingnan at tanggapin ang model disclaimer.

Kasama rin ang mga karagdagang endpoint (hindi bahagi ng OpenAI schema, ibinibigay para sa kaginhawahan):

ParaanPathKomento
GET/v1/model/{model}/disclaimerKunin ang disclaimer ng modelo
POST/v1/model/{model}/disclaimerTanggapin ang disclaimer ng modelo
POST/v1/completions/acceptTanggapin o tanggihan ang completion

Para makuha/makita ang model disclaimer, gumawa ng GET na kahilingan sa disclaimer endpoint. Halimbawa:

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

Kung sumasang-ayon ka sa model disclaimer, para tanggapin ito, mag-POST sa disclaimer endpoint na ibinibigay ang ID ng disclaimer at kung tinatanggap o tinatanggihan ito. Halimbawa:

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

Mga Halimbawa​

Gamitin ang opisyal na OpenAI Python library​

Nagbibigay ang OpenAI Python library ng maginhawang access sa OpenAI REST API (tulad ng ibinibigay ng Qiskit Code Assistant) mula sa anumang Python 3.8+ na application. Tingnan ang higit pang detalye sa seksyon ng Installation ng 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}")

Gamitin ang LiteLLM​

Ang LiteLLM ay isang maginhawang Python library para ma-access ang maraming LLM API gamit ang OpenAI format (Bedrock, Huggingface, VertexAI, TogetherAI, Azure, OpenAI, Groq, at iba pa). Tingnan ang LiteLLM docs para sa higit pang detalye.

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)