Přeskočit na hlavní obsah
Poznámky
  • Kompatibilita Qiskit Code Assistant s OpenAI API je ve stavu preview verze a může se změnit.
  • Pokud máš zpětnou vazbu nebo chceš kontaktovat vývojový tým, použij kanál Qiskit Slack Workspace nebo příslušná veřejná repozitáře na GitHubu.

Qiskit Code Assistant - kompatibilita s OpenAI API

Qiskit Code Assistant nabízí kompatibilitu s podmnožinou specifikace OpenAI API, konkrétně s endpointy completions API. Cílem této kompatibility je umožnit balíčkům třetích stran bezproblémové připojení k Qiskit Code Assistant pomocí známých knihoven a metod souvisejících s AI, jako jsou OpenAI, LiteLLM nebo jiné.

Podporované endpointy OpenAI API

MetodaCestaKomentář
GET/v1/modelsZobrazit seznam všech modelů
GET/v1/model/{model}Získat detail modelu
POST/v1/completionsOdeslat prompt modelu k dokončení
poznámka

Endpoint /v1/completions selže s chybou 403, pokud byl přijat disclaimer modelu. Níže najdeš postup, jak disclaimer zobrazit a přijmout.

Další endpointy (nejsou součástí schématu OpenAI, poskytnuty pro pohodlí) zahrnují:

MetodaCestaKomentář
GET/v1/model/{model}/disclaimerZískat disclaimer modelu
POST/v1/model/{model}/disclaimerPřijmout disclaimer modelu
POST/v1/completions/acceptPřijmout nebo odmítnout dokončení

Chceš-li disclaimer modelu načíst/zobrazit, pošli požadavek GET na endpoint disclaimeru. Například:

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

Pokud s disclaimerem modelu souhlasíš, přijmi ho pomocí požadavku POST na endpoint disclaimeru s uvedením ID disclaimeru a informací o tom, zda je přijat nebo odmítnut. Například:

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

Příklady

Použití oficiální knihovny OpenAI pro Python

Knihovna OpenAI pro Python poskytuje pohodlný přístup k REST API OpenAI (například k tomu, které nabízí Qiskit Code Assistant) z jakékoli aplikace v Pythonu 3.8 a novějším. Více informací najdeš v sekci Instalace v README knihovny 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}")

Použití LiteLLM

LiteLLM je praktická knihovna pro Python umožňující přístup k více LLM API ve formátu OpenAI (Bedrock, Huggingface, VertexAI, TogetherAI, Azure, OpenAI, Groq a další). Více informací najdeš v dokumentaci LiteLLM.

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)