Skip to main content
IBM Quantum Platform

QiskitRuntimeService

class QiskitRuntimeService(*args, **kwargs)

GitHub

Bases : object

Classe permettant d'interagir avec le service Qiskit Runtime.

QiskitRuntimeService constructeur.

Utilisations recommandées :

  • Instanciation directe :

    from qiskit_ibm_runtime import QiskitRuntimeService
     
    service = QiskitRuntimeService(
        channel="ibm_quantum_platform",
        token="API_KEY",
        instance="CRN"
        )
  • Sauvegarde du compte par défaut :

    from qiskit_ibm_runtime import QiskitRuntimeService
     
    QiskitRuntimeService.save_account(
        token="API_KEY",
        instance="CRN",
        set_as_default = True
        )
     
    service = QiskitRuntimeService()

Les informations minimales requises pour l'authentification du service sur un canal non local sont les suivantes : token. Le canal local ne nécessite pas d'authentification. Pour les canaux non locaux, il est recommandé de toujours fournir l'adresse instance afin de minimiser les appels à l'API. Si une adresse instance n'est pas définie, le service recherchera toutes les instances accessibles dans le compte, filtrées par region, plans_preference, et tags. Si plans_preference n'est pas défini, les instances gratuites et d'essai seront prioritaires sur les instances payantes.

Notez également qu'un seul compte par jeton API peut être utilisé. Le jeton API est lié au compte dans lequel il a été créé. Si vous souhaitez utiliser plusieurs comptes, vous devez créer plusieurs jetons API.

Le service tentera de charger un compte à partir d'un fichier si (a) aucun token explicite n'a été fourni lors de l'instanciation ou (b) si un name est spécifié, même si un token explicite a été fourni au constructeur du service. Le compte sera sélectionné sur la base des critères suivants :

  • Si une adresse filename est spécifiée, les détails du compte seront chargés à partir de filename, sinon ils seront chargés à partir du fichier de configuration par défaut.
  • Si un name est spécifié, les détails du compte correspondant seront chargés à partir du fichier de configuration, y compris channel, token, instance, region, plans_preference, et les paramètres de configuration avancés : url, url_resolver, private_endpoint, verify, et proxies. Note importante : Une valeur explicite de instance fournie lors de l'instanciation remplacera la valeur de instance chargée.
  • Si aucun name n'est spécifié : si channel est spécifié, le service chargera le compte par défaut associé à ce canal à partir du fichier de configuration. Dans le cas contraire, il reviendra au compte général par défaut, défini lors de l'appel à save_account() avec set_as_default=True.

Paramètres

  • channel (Optional[ChannelType]) – Chaîne qui identifie la plate-forme de services. Cette valeur est fixée par défaut à ibm_quantum_platform , mais peut également prendre les valeurs local et ibm_cloud . Si local est sélectionné, le mode de test local sera utilisé et les requêtes primitives seront exécutées sur un simulateur local. Pour plus de détails, consultez la documentation sur le mode de test local de Qiskit Runtime. Pour les modes non locaux, le canal est utilisé pour résoudre la valeur par défaut de l'API URL. ibm_cloud était l'identifiant de l'ancienne plateforme IBM Cloud, et son URL sera redirigée vers la nouvelle URL ibm_quantum_platform .
  • token (Optional[str]) – IBM Cloud Clé API. La fourniture d'une clé API est nécessaire pour l'authentification du PQI. S'il n'est pas fourni explicitement, le compte enregistré par défaut sera interrogé pour cette clé API.
  • url (Optional[str]) – L'API URL. Les valeurs par défaut varient en fonction du canal sélectionné : https://quantum.cloud.ibm.com (ibm_quantum_platform) ou https://quantum-computing.cloud.ibm.com (ibm_cloud).
  • filename (Optional[str]) – Chemin complet du fichier dans lequel le compte est créé. Défaut : _DEFAULT_ACCOUNT_CONFIG_JSON_FILE.
  • name (Optional[str]) – Nom du compte à charger à partir du fichier.
  • instance (Optional[str]) – L'instance de service à utiliser. Pour ibm_cloud et ibm_quantum_platform, il s'agit du nom de la ressource en nuage (CRN) ou du nom du service. Si cette option est activée, elle définira une instance pour l'instanciation du service. Si elle n'est pas activée, le service recherchera toutes les instances accessibles dans le compte en fonction des critères de filtrage spécifiés.
  • proxies (Optional[dict]) – Configuration du proxy. Les clés optionnelles prises en charge sont les suivantes : urls (un dictionnaire associant le protocole ou le protocole et l'hôte à l'adresse URL du proxy, documenté à l'adresse suivante https://requests.readthedocs.io/en/latest/api/#requests.Session.proxies ), username_ntlm, password_ntlm (nom d'utilisateur et mot de passe pour activer l'authentification NTLM de l'utilisateur)
  • verify (Optional[bool]) – Vérifier ou non le certificat TLS du serveur.
  • private_endpoint (Optional[bool]) – Connexion à l'API privée URL.
  • url_resolver (Optional[Callable]) – Fonction utilisée pour résoudre l'url d'exécution.
  • region (Optional[str]) – Définir une préférence régionale pour la sélection automatique des instances. Cet argument est ignoré si un instance est spécifié. Les valeurs acceptées sont us-east ou eu-de. Une instance avec cette région sera prioritaire si aucune instance n'est transmise.
  • plans_preference (Optional[List[str]]) – Une liste de noms de plans de comptes classés par ordre de priorité pour la sélection automatique d'instances. Cet argument est ignoré si un instance est spécifié. Seules les instances portant les noms de plan indiqués seront prises en compte. Par exemple, si vous voulez éviter d'utiliser vos comptes premium, il vous suffit de passer "open" pour n'utiliser que vos instances de plan ouvert. Les valeurs acceptées comprennent (mais ne sont pas limitées à) : open, premium, flex, on-prem, pay-as-you-go.
  • tags (Optional[List[str]]) – Définir une liste d'étiquettes pour filtrer les instances disponibles en vue d'une sélection automatique des instances. Cet argument est ignoré si un instance est spécifié.

Retours

Une instance de QiskitRuntimeService ou QiskitRuntimeLocalService pour la chaîne locale.

Augmentations

IBMInputValueError - Si une entrée n'est pas valide.


Attributs

canal

Retourne le type de canal utilisé.

Retours

Le type de canal utilisé.


Méthodes

active_account

active_account()

GitHub

Retourne le compte IBM Quantum actuellement utilisé pour la session.

Retours

Un dictionnaire contenant des informations sur le compte en cours de session.

Type de retour

Dictstr[, str] | Aucun

active_instance

active_instance()

GitHub

Renvoie le crn de l'instance active actuelle.

Type de retour

str

backend

backend(name, instance=None, use_fractional_gates=False, calibration_id=None)

GitHub

Renvoie un seul backend correspondant au filtrage spécifié.

Paramètres

  • name (str) – Nom du backend.
  • instance (str | None) – Indiquez le CRN du compte IBM Cloud.
  • use_fractional_gates (bool | None) – Mettre True pour permettre aux backends d'inclure des portes fractionnaires. Actuellement, cette fonction ne peut pas être utilisée simultanément avec les circuits dynamiques, le PEC, le PEA ou le tournoiement de porte. Lorsque cet indicateur est activé, les instructions de flux de contrôle sont automatiquement supprimées du backend. Lorsque vous utilisez une fonction de circuits dynamiques (par exemple if_else) dans votre algorithme, vous devez désactiver ce drapeau pour créer des circuits ISA exécutables. Ce drapeau pourrait être modifié ou supprimé lorsque notre backend prendra en charge simultanément les circuits dynamiques et les portes fractionnaires. Si None, les portes fractionnaires et les opérations de flux de contrôle sont incluses dans les backends.
  • calibration_id (str | None) – L'identifiant de calibration utilisé pour l'instanciation du backend.

Retours

Un backend correspondant au filtrage.

Type de retour

Back-end

Augmentations

QiskitBackendNotFoundError - si aucun backend n'a pu être trouvé.

backends

backends(name=None, min_num_qubits=None, instance=None, dynamic_circuits=None, filters=None, *, use_fractional_gates=False, calibration_id=None, **kwargs)

GitHub

Renvoie tous les backends accessibles via ce compte, sous réserve d'un filtrage optionnel.

Paramètres

  • name (str | None) – Nom du backend à filtrer.

  • min_num_qubits (int | None) – Nombre minimum de qubits que le backend doit posséder.

  • instance (str | None) – IBM Cloud compte CRN

  • dynamic_circuits (bool | None) – Filtrer en fonction de la prise en charge des circuits dynamiques par le backend.

  • filters (Callable[[IBMBackend], bool] | None) –

    Filtres plus complexes, tels que les fonctions lambda. Par exemple :

    QiskitRuntimeService.backends(
        filters=lambda b: b.max_shots > 50000
    )
    QiskitRuntimeService.backends(
        filters=lambda x: ("rz" in x.basis_gates )
    )
  • use_fractional_gates (bool | None) – Mettre True pour permettre aux backends d'inclure des portes fractionnaires. Notez que nos backends prennent désormais en charge simultanément les circuits dynamiques et les portes fractionnaires. Il n'est plus nécessaire de désactiver ce drapeau lors de l'utilisation de circuits dynamiques (par exemple if_else) dans votre algorithme. Les instructions de flux de contrôle ne sont pas supprimées du backend lorsque cet indicateur est à True. Si None, les portes fractionnaires et les opérations de flux de contrôle sont incluses dans les backends.

  • calibration_id (str | None) – L'identifiant de calibration utilisé pour l'instanciation du backend. Cette option ne doit être utilisée que lors de la sélection d'un seul backend, car l'identifiant d'étalonnage est défini pour chaque backend.

  • **kwargs* (Any* ) -

    Filtres simples qui requièrent une valeur spécifique pour un attribut de la configuration ou de l'état du backend. Exemples :

    # Get the operational real backends
    QiskitRuntimeService.backends(simulator=False, operational=True)
     
    # Get the backends with at least 127 qubits
    QiskitRuntimeService.backends(min_num_qubits=127)
     
    # Get the backends that support OpenPulse
    QiskitRuntimeService.backends(open_pulse=True)

    Pour la liste complète des attributs du backend, voir la documentation de la classe IBMBackend

Retours

La liste des backends disponibles qui correspondent au filtre.

Augmentations

  • IBMInputValueError - Si une entrée n'est pas valide.
  • QiskitBackendNotFoundError - Si le backend n'est dans aucune instance.

Type de retour

*Liste [IBMBackend* ]

check_pending_jobs

check_pending_jobs()

GitHub

(DÉCRYPTÉ) Vérifier le nombre de travaux en attente et attendre le travail le plus ancien si le nombre maximum de travaux en attente a été atteint.

Type de retour

Aucun

delete_account

static delete_account(filename=None, name=None, channel=None)

GitHub

Supprimer un compte enregistré sur le disque.

Paramètres

  • filename (str | None) – Nom du fichier dans lequel le compte doit être supprimé.
  • name (str | None) – Nom du compte enregistré à supprimer.
  • channel (Literal['ibm_quantum_platform', 'ibm_cloud', 'local'] | None) – Type de canal du compte par défaut à supprimer. Ignoré si le nom du compte est fourni.

Retours

Vrai si le compte a été supprimé. Faux si aucun compte n'a été trouvé.

Type de retour

booléen

delete_job

delete_job(job_id)

GitHub

(SUPPRIMÉ) Supprimer un travail d'exécution.

Notez que cette opération ne peut pas être inversée.

Paramètres

job_id (str) – ID du travail à supprimer.

Augmentations

  • RuntimeJobNotFound - Le poste n'existe pas.
  • IBMRuntimeError - La méthode n'est pas prise en charge.

Type de retour

Aucun

instances

instances()

GitHub

Renvoyer une liste contenant une série de dictionnaires avec l'attribut

les identifiants d'instance suivants par instance : "crn", "plan", "name".

Retours

Une liste des instances disponibles pour le compte actif.

Type de retour

Séquence* [Dict* [str, Any ]]

emploi

job(job_id)

GitHub

Récupérer un travail d'exécution.

Paramètres

job_id (str) – Job ID.

Retours

Travail d'exécution récupéré.

Augmentations

  • RuntimeJobNotFound - Si l'emploi n'existe pas.
  • IBMRuntimeError - Si la demande a échoué.

Type de retour

RuntimeJobV2

emplois

jobs(limit=10, skip=0, backend_name=None, pending=None, program_id=None, instance=None, job_tags=None, session_id=None, created_after=None, created_before=None, descending=True)

GitHub

Récupérer tous les travaux en cours d'exécution, avec un filtrage optionnel.

Paramètres

  • limit (int | None) – Nombre de travaux à récupérer. None signifie qu'il n'y a pas de limite.
  • skip (int) – Index de départ pour l'extraction des travaux.
  • backend_name (str | None) – Nom du backend à partir duquel les travaux doivent être récupérés.
  • pending (bool | None) – Filtre sur l'état des travaux en attente. Si True, les travaux "QUEUED" et "RUNNING" sont inclus. Si False, les travaux "DONE", "CANCELLED" et "ERROR" sont inclus.
  • program_id (str | None) – Filtrer par ID de programme.
  • instance (str | None) – Filtrer par IBM Cloud crn d'instance.
  • job_tags (List[str] | None) – Filtre sur les étiquettes attribuées aux travaux. Les emplois correspondants sont associés à toutes les étiquettes.
  • session_id (str | None) – Filtre sur l'identifiant de la session. Tous les travaux de la session seront renvoyés dans l'ordre de leur date de création.
  • created_after (datetime | None) – Filtre sur la date de début donnée, en heure locale. Cette fonction permet de rechercher les emplois dont la date de création est postérieure (supérieure ou égale) à cette date/heure locale.
  • created_before (datetime | None) – Filtre sur la date de fin donnée, en heure locale. Cette fonction est utilisée pour rechercher les emplois dont la date de création est antérieure (inférieure ou égale) à cette date/heure locale.
  • descending (bool) – Si True, les travaux sont renvoyés dans l'ordre décroissant de leur date de création (c'est-à-dire le plus récent en premier) jusqu'à ce que la limite soit atteinte.

Retours

Liste des travaux d'exécution.

Augmentations

IBMInputValueError - Si une valeur d'entrée n'est pas valide.

Type de retour

Liste [ RuntimeJobV2 ]

least_busy

least_busy(min_num_qubits=None, instance=None, filters=None, **kwargs)

GitHub

Renvoie le backend disponible le moins occupé.

Paramètres

  • min_num_qubits (int | None) – Nombre minimum de qubits que le backend doit posséder.

  • instance (str | None) – IBM Cloud compte CRN.

  • filters (Callable[[IBMBackend], bool] | None) –

    Les filtres peuvent être définis comme pour la méthode backends() méthode. Un exemple pour obtenir les backends opérationnels avec 5 qubits :

    QiskitRuntimeService.least_busy(n_qubits=5, operational=True)
  • kwargs* (Tout* )

Retours

Le backend ayant le plus petit nombre de travaux en attente.

Augmentations

QiskitBackendNotFoundError - Si aucun backend ne correspond aux critères.

Type de retour

IBMBackend

save_account

static save_account(token=None, url=None, instance=None, channel=None, filename=None, name=None, proxies=None, verify=None, overwrite=False, set_as_default=None, private_endpoint=False, region=None, plans_preference=None, tags=None)

GitHub

Sauvegarder le compte sur le disque pour une utilisation ultérieure.

Paramètres

  • token (str | None) – IBM Cloud Clé API.
  • url (str | None) – L'API URL. La valeur par défaut est https://cloud.ibm.com.
  • instance (str | None) – Il s'agit d'un paramètre facultatif permettant de spécifier le CRN ou le nom du service. S'il est défini, il définira une instance par défaut pour l'instanciation du service. S'il n'est pas défini, le service ira chercher toutes les instances accessibles dans le compte.
  • channel (Literal['ibm_quantum_platform', 'ibm_cloud', 'local'] | None) – Type de canal. ibm_cloud ou ibm_quantum_platform.
  • filename (str | None) – Chemin complet du fichier dans lequel le compte est enregistré.
  • name (str | None) – Nom du compte à sauvegarder.
  • proxies (dict | None) – Configuration du proxy. Les clés optionnelles prises en charge sont les suivantes : urls (un dictionnaire associant le protocole ou le protocole et l'hôte à l'adresse URL du proxy, documenté à l'adresse suivante https://requests.readthedocs.io/en/latest/api/#requests.Session.proxies ), username_ntlm, password_ntlm (nom d'utilisateur et mot de passe pour activer l'authentification NTLM de l'utilisateur)
  • verify (bool | None) – Vérifiez le certificat TLS du serveur.
  • overwrite (bool | None) – True si le compte existant doit être remplacé.
  • set_as_default (bool | None) – Si True, le compte est enregistré dans le nom du fichier, en tant que compte par défaut.
  • private_endpoint (bool | None) – Connexion à l'API privée URL.
  • region (Literal['us-east', 'eu-de'] | None) – Définir une préférence régionale. us-east ou eu-de. Une instance avec cette région sera prioritaire si aucune instance n'est transmise.
  • plans_preference (List[str] | None) – Une liste de noms de plans de comptes (open, premium, etc.), par ordre de préférence. Une instance avec la première valeur de la liste sera priorisée et seules les instances avec les noms de plan donnés seront prises en compte. Par exemple, si vous voulez éviter d'utiliser vos comptes premium, il vous suffit de passer "open" pour n'utiliser que vos instances de plan ouvert. plans_preference est ignorée si une adresse instance est spécifiée.
  • tags (List[str] | None) – Définir une liste d'étiquettes pour filtrer les instances disponibles. Les instances avec ces étiquettes seront prioritaires si une instance n'est pas transmise.

Type de retour

Aucun

Comptes sauvegardés

static saved_accounts(default=None, channel=None, filename=None, name=None)

GitHub

Liste des comptes enregistrés sur le disque.

Paramètres

  • default (bool | None) – Si la valeur est True, seuls les comptes par défaut sont renvoyés.
  • channel (Literal['ibm_quantum_platform', 'ibm_cloud', 'local'] | None) – Canal type.\ ibm\_cloud\\\\ ou ibm_quantum_platform.
  • filename (str | None) – Nom du fichier dont les comptes sont renvoyés.
  • name (str | None) – Si cette option est activée, seuls les comptes portant le nom donné sont renvoyés.

Retours

Un dictionnaire contenant des informations sur les comptes enregistrés sur le disque.

Augmentations

ValueError - Si un compte non valide est trouvé sur le disque.

Type de retour

dict

utilisation

usage()

GitHub

Renvoie des informations sur l'utilisation de l'instance active actuelle.

Retours

Dict avec détails d'utilisation.

Type de retour

Dict [str, Any ]

Cette page a-t-elle été utile ?
Signalez un bogue, une coquille ou demandez du contenu sur GitHub .