Konfiguracja do korzystania z IBM Quantum Platform za pomocą REST API
Możesz uzyskać dostęp do procesorów kwantowych za pośrednictwem REST API, co umożliwia pracę z QPU przy użyciu dowolnego języka programowania lub frameworka.
1. Uzyskaj dostęp
- Jeśli nie masz jeszcze konta użytkownika, utwórz je na stronie logowania IBM Quantum.
- Utwórz klucz API (zwany też tokenem) na panelu głównym. Pamiętaj, że ten sam klucz API można używać w obu regionach.
- Wygeneruj token Bearer IBM Cloud Identity and Access Management (IAM). Jest to token krótkotrwały używany do uwierzytelniania żądań wysyłanych do REST API. Aby go wygenerować, wywołaj IAM Identity Services API zgodnie z poniższym przykładowym żądaniem:
- 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'
Oczekiwana odpowiedź
{
"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. Wybierz metodę uwierzytelniania
Wybierz odpowiednią metodę uwierzytelniania w zależności od środowiska pracy:
- Utwórz zmienną środowiskową dla swojego klucza API (zaufane środowiska Python)
- Użyj klucza API bezpośrednio (niezaufane środowisko)
Utwórz zmienną środowiskową (zaufane środowisko)
-
Aby ustawić zmienną środowiskową IQP_API_TOKEN w swoim systemie, możesz dodać następującą linię do profilu powłoki (np. .bashrc lub .zshrc) lub ustawić ją bezpośrednio w terminalu:
export IQP_API_TOKEN=<your-API_KEY> # Use the 44-character API_KEY you created and saved from the IBM Quantum Platform Home dashboardGdy odwołujesz się do zmiennej środowiskowej w kodzie, pamiętaj o dołączeniu
import os, jak w tym przykładzie:import os
api_token = os.environ['IQP_API_TOKEN']Pamiętaj, że tworząc zmienną środowiskową, Twój klucz API nadal jest przechowywany lokalnie jako zwykły tekst i powinien być odpowiednio zabezpieczony.
-
Uwierzytelniaj żądania do Qiskit Runtime REST API, dołączając CRN i token Bearer do nagłówków żądania.
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. Opcjonalnie: Skonfiguruj zaporę sieciową
W razie potrzeby skorzystaj z tych informacji, aby włączyć dostęp do punktów końcowych IBM Quantum API.
Następne kroki
- Przegląd dostępnych planów.
- Skonfiguruj Qiskit SDK lokalnie.
- Wykonaj kroki opisane w Hello world, aby napisać i uruchomić program kwantowy.
- Wypróbuj samouczek.