- 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żka | Komentarz |
|---|---|---|
| GET | /v1/models | Lista wszystkich modeli |
| GET | /v1/model/{model} | Pobierz szczegóły modelu |
| POST | /v1/completions | Wyślij monit do modelu w celu uzupełnienia |
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żka | Komentarz |
|---|---|---|
| GET | /v1/model/{model}/disclaimer | Pobierz zastrzeżenie modelu |
| POST | /v1/model/{model}/disclaimer | Zaakceptuj zastrzeżenie modelu |
| POST | /v1/completions/accept | Zaakceptuj 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)