Configurar para usar IBM Quantum Platform con la API REST
Puedes acceder a procesadores cuánticos usando APIs REST, lo que te permite trabajar con las QPUs utilizando cualquier lenguaje de programación o framework.
1. Obtener acceso
- Si aún no tienes una cuenta de usuario, obtén una en la página de inicio de sesión de IBM Quantum.
- Crea una clave API (también llamada token) en el panel principal. Ten en cuenta que la misma clave API se puede usar para ambas regiones.
- Genera un token al portador (bearer token) de IBM Cloud Identity and Access Management (IAM). Este es un token de corta duración que se utiliza para autenticar solicitudes a la API REST. Para generar uno, llama a la API de Servicios de Identidad de IAM como se muestra en la siguiente solicitud de ejemplo:
- 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'
Respuesta Esperada
{
"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. Elige un método de autenticación
Elige el método de autenticación apropiado, dependiendo de tu entorno de trabajo:
- Crear una variable de entorno para tu clave API (entornos de Python de confianza)
- Usa tu clave API directamente (entorno no confiable)
Crear una variable de entorno (entorno de confianza)
-
Para configurar la variable de entorno
IQP_API_TOKENen tu sistema, puedes agregar la siguiente línea a tu perfil de shell (por ejemplo,.bashrco.zshrc) o estableciéndola directamente en tu terminal:export IQP_API_TOKEN=<your-API_KEY> # Use the 44-character API_KEY you created and saved from the IBM Quantum Platform Home dashboardCuando invoques la variable de entorno en tu código, incluye
import os, como en este ejemplo:import os
api_token = os.environ['IQP_API_TOKEN']Ten en cuenta que al crear una variable de entorno, tu clave API aún se almacena localmente en texto sin formato (plain text), y debe ser salvaguardada.
-
Autentica las solicitudes a la API REST de Qiskit Runtime al incluir el CRN y el token al portador (bearer token) en los encabezados (headers) de la solicitud.
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. Opcional: Configura tu firewall
Si es necesario, usa esta información para permitir el acceso a los puntos de enlace (endpoints) de la API de IBM Quantum.
Siguientes pasos
- Descripción general de los planes disponibles.
- Configura el SDK de Qiskit localmente.
- Sigue los pasos en Hola mundo (Hello world) para escribir y ejecutar un programa cuántico.
- Prueba un tutorial.