Einrichtung zur Verwendung von IBM Quantum Platform mit REST-API
Du kannst auf Quantenprozessoren mit REST-APIs zugreifen, sodass du mit QPUs in jeder Programmiersprache oder jedem Framework arbeiten kannst.
1. Zugang erhalten
- Falls du noch kein Benutzerkonto hast, erstelle eines auf der IBM Quantum-Anmeldeseite.
- Erstelle einen API-Schlüssel (auch Token genannt) auf dem Dashboard. Beachte, dass derselbe API-Schlüssel für beide Regionen verwendet werden kann.
- Generiere ein IBM Cloud Identity and Access Management (IAM) Bearer-Token. Dies ist ein kurzlebiges Token, das zur Authentifizierung von Anfragen an die REST-API verwendet wird. Um eines zu generieren, rufe die IAM Identity Services API auf, wie in der folgenden Beispielanfrage gezeigt:
- Curl
- Python
curl -X POST 'https://iam.cloud.ibm.com/identity/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=urn:ibm:params:oauth:grant-type:apikey&apikey=MY_APIKEY'
Erwartete Antwort
{
"access_token": "eyJhbGciOiJIUz......sgrKIi8hdFs",
"refresh_token": "SPrXw5tBE3......KBQ+luWQVY=",
"token_type": "Bearer",
"expires_in": 3600,
"expiration": 1473188353
}
# Use 'service' to invoke operations.
import requests
import json
url = 'https://iam.cloud.ibm.com/identity/token'
api_key = 'MY_APIKEY'
headers = {
'Content-Type': 'application/x-www-form-urlendcoded',
}
data = f'grant_type=urn:ibm:params:oauth:grant-type:apikey&apikey={api_key}'
response = requests.post(url, headers=headers, data=data)
# Bearer token to authorize requests to the REST API
bearer_token = response.json()['access_token']
2. Wähle eine Authentifizierungsmethode
Wähle die geeignete Authentifizierungsmethode, abhängig von deiner Arbeitsumgebung:
- Erstelle eine Umgebungsvariable für deinen API-Schlüssel (vertrauenswürdige Python-Umgebungen)
- Verwende deinen API-Schlüssel direkt (nicht vertrauenswürdige Umgebung)
Erstelle eine Umgebungsvariable (vertrauenswürdige Umgebung)
-
Um die IQP_API_TOKEN-Umgebungsvariable in deinem System festzulegen, kannst du die folgende Zeile zu deinem Shell-Profil hinzufügen (z.B. .bashrc oder .zshrc) oder sie direkt in deinem Terminal setzen:
export IQP_API_TOKEN=<your-API_KEY> # Use the 44-character API_KEY you created and saved from the IBM Quantum Platform Home dashboardWenn du die Umgebungsvariable in deinem Code aufrufst, füge
import oshinzu, wie in diesem Beispiel:import os
api_token = os.environ['IQP_API_TOKEN']Beachte, dass beim Erstellen einer Umgebungsvariablen dein API-Schlüssel immer noch lokal im Klartext gespeichert ist und geschützt werden sollte.
-
Authentifiziere Anfragen an die Qiskit Runtime REST-API, indem du den CRN und das Bearer-Token in die Request-Header aufnimmst.
curl -X 'GET' \
'https://quantum.cloud.ibm.com/api/v1/usage' \
'-H accept: application/json' \
'-H authorization: Bearer <BEARER_TOKEN>' \
'-H Service-CRN: <INSTANCE_CRN>'
3. Optional: Konfiguriere deine Firewall
Falls erforderlich, verwende diese Informationen, um den Zugriff auf die IBM Quantum-API-Endpunkte zu ermöglichen.
Nächste Schritte
- Übersicht über verfügbare Pläne.
- Konfiguriere das Qiskit SDK lokal.
- Folge den Schritten in Hello world, um ein Quantenprogramm zu schreiben und auszuführen.
- Probiere ein Tutorial.