Przejdź do głównej treści
Uwagi
  • Kompatybilność Qiskit Code Assistant z OpenAI API jest w stanie wydania podglądu i może ulec zmianie.
  • Jeśli masz uwagi lub chcesz skontaktować się z zespołem deweloperskim, użyj kanału Qiskit Slack Workspace lub powiązanych publicznych repozytoriów GitHub.

Qiskit Code Assistant - kompatybilność z OpenAI API

Qiskit Code Assistant oferuje kompatybilność z podzbiorem specyfikacji OpenAI API, w szczególności z punktami końcowymi API uzupełnień. Celem tej kompatybilności jest umożliwienie pakietom firm trzecich łączenia się z Qiskit Code Assistant w sposób bezproblemowy przy użyciu popularnych bibliotek i metod związanych z AI, takich jak OpenAI, LiteLLM lub inne.

Obsługiwane punkty końcowe OpenAI API

MetodaŚcieżkaKomentarz
GET/v1/modelsLista wszystkich modeli
GET/v1/model/{model}Pobierz szczegóły modelu
POST/v1/completionsWyślij monit do modelu w celu uzupełnienia
uwaga

Punkt końcowy /v1/completions zwraca błąd 403, jeśli zastrzeżenie modelu zostało zaakceptowane. Poniżej znajdziesz informacje o tym, jak wyświetlić i zaakceptować zastrzeżenie modelu.

Dodatkowe punkty końcowe (nie będące częścią schematu OpenAI, dostarczone dla wygody) obejmują:

MetodaŚcieżkaKomentarz
GET/v1/model/{model}/disclaimerPobierz zastrzeżenie modelu
POST/v1/model/{model}/disclaimerZaakceptuj zastrzeżenie modelu
POST/v1/completions/acceptZaakceptuj lub odrzuć uzupełnienie

Aby pobrać/wyświetlić zastrzeżenie modelu, wykonaj żądanie GET do punktu końcowego zastrzeżenia. Na przykład:

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

Jeśli zgadzasz się z zastrzeżeniem modelu i chcesz je zaakceptować, wykonaj żądanie POST do punktu końcowego zastrzeżenia, podając ID zastrzeżenia oraz informację, czy jest ono zaakceptowane czy odrzucone. Na przykład:

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

Przykłady

Używanie oficjalnej biblioteki OpenAI Python

Biblioteka OpenAI Python zapewnia wygodny dostęp do OpenAI REST API (takiego jak to dostarczane przez Qiskit Code Assistant) z dowolnej aplikacji Python 3.8+. Więcej szczegółów znajdziesz w sekcji instalacji pliku Readme biblioteki 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}")

Używanie LiteLLM

LiteLLM to wygodna biblioteka Python do uzyskiwania dostępu do wielu interfejsów API LLM przy użyciu formatu OpenAI (Bedrock, Huggingface, VertexAI, TogetherAI, Azure, OpenAI, Groq i inne). Więcej szczegółów znajdziesz w dokumentacji 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)