Налаштування для роботи з IBM Quantum Platform через REST API
Ти можеш отримати доступ до квантових процесорів через REST API, що дає змогу працювати з QPU за допомогою будь-якої мови програмування або фреймворку.
1. Отримай доступ
- Якщо в тебе ще немає облікового запису, створи його на сторінці входу IBM Quantum.
- Створи API-ключ (також відомий як токен) на панелі керування. Зверни увагу, що один і той самий API-ключ можна використовувати для будь-якого регіону.
- Згенеруй токен на пред'явника (bearer token) IBM Cloud Identity and Access Management (IAM). Це короткочасний токен, який використовується для автентифікації запитів до REST API. Щоб його згенерувати, звернись до IAM Identity Services API, як показано в наступному прикладі запиту:
- 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'
Очікувана відповідь
{
"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. Вибери метод автентифікації
Вибери відповідний метод автентифікації залежно від свого робочого середовища:
- Створи змінну середовища для свого API-ключа (надійні Python-середовища)
- Використовуй API-ключ безпосередньо (ненадійне середовище)
Створення змінної середовища (надійне середовище)
-
Щоб встановити змінну середовища IQP_API_TOKEN у своїй системі, додай такий рядок до профілю оболонки (наприклад, .bashrc або .zshrc) або встанови її безпосередньо в терміналі:
export IQP_API_TOKEN=<your-API_KEY> # Use the 44-character API_KEY you created and saved from the IBM Quantum Platform Home dashboardКоли ти звертаєшся до змінної середовища у своєму коді, додай
import os, як у цьому прикладі:import os
api_token = os.environ['IQP_API_TOKEN']Зверни увагу: під час створення змінної середовища твій API-ключ усе одно зберігається локально у відкритому вигляді, тому його потрібно надійно захищати.
-
Автентифікуй запити до Qiskit Runtime REST API, додавши CRN та токен на пред'явника до заголовків запиту.
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. Необов'язково: Налаштуй брандмауер
За потреби скористайся цією інформацією, щоб увімкнути доступ до кінцевих точок IBM Quantum API.
Наступні кроки
- Огляд доступних планів.
- Налаштуй Qiskit SDK локально.
- Виконай кроки з Запусти свою першу схему на реальному залізі, щоб написати та запустити квантову програму.
- Спробуй підручник.