Skip to main content
IBM Quantum Platform

QiskitRuntimeService

class QiskitRuntimeService(*args, **kwargs)

GitHub

ベース: object

Qiskit Runtime サービスと対話するためのクラス。

推奨される用途

  • 直接インスタンス化:

    from qiskit_ibm_runtime import QiskitRuntimeService
    
    service = QiskitRuntimeService(
        channel="ibm_quantum_platform", # optional
        token="API_KEY",
        instance="CRN" # recommended
        )
  • デフォルトアカウントの保存

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

非ローカルチャネルへのサービス認証に最低限必要な情報は、 tokenlocal チャンネルは認証を必要としない。 非ローカル・チャンネルの場合、APIコールを最小限に抑えるため、常に関連する instanceinstance が定義されていない場合、サービスは regionplans_preferencetags でフィルタリングされた、アカウント内でアクセス可能なすべてのインスタンスを取得する。 plans_preference が設定されていない場合、無料インスタンスとトライアルインスタンスが有料インスタンスよりも優先されます。

複数のインスタンスを使用する場合、 QiskitRuntimeService システムが内部的に、その時点でどのインスタンスがアクティブであるかを管理します。 、 backend() backends()、、 job() および jobs() といったメソッドは、アクティブなインスタンスを変更する結果となる可能性があります。 どのインスタンスがアクティブかを確認するには、この active_instance() メソッドを使用することをお勧めします。あるいは、よりきめ細かな制御を行うために、インスタンスごとに個別の QiskitRuntimeService オブジェクトを使用することもできます。

また、1つのAPIトークンにつき1つのアカウントしか使用できないことに注意してください。 APIトークンは、作成されたアカウントにリンクされています。 複数のアカウントを使用する場合は、複数のAPIトークンを作成する必要があります。

(a)インスタンス生成時に明示的な token が提供されなかった場合、または(b)明示的な token がサービスコンストラクタに提供された場合でも、 name が指定された場合、サービスはファイルからアカウントをロードしようとします。 アカウントは以下の基準に基づいて選択される:

  • filenamefilename 指定された場合、アカウントの詳細は から読み込まれます。

    そうでない場合は、デフォルトの設定ファイルから読み込まれます。

  • name 指定された場合、対応する口座情報が

    proxies``verify``private_endpoint``url_resolver``url``plans_preference``region``instance``token``channel設定ファイルには、、、、、、、および高度な設定パラメータである、、、、が含まれます。 instance重要な注意点 :インスタンス化時に明示 instance 的に指定された値は、読み込まれた値を上書きします。

  • が指定されていない name 場合:が指定されている場合 channel 、サービスは

    設定ファイルから、そのチャンネルに関連付けられているデフォルトのアカウント。 set_as_default=Trueそうでない場合、with を使用して呼び出した save_account() 際に定義された、全体的なデフォルトアカウントが使用されます。

パラメーター

  • channel – サービスプラットフォームを識別する文字列。 これはデフォルトで に ibm_quantum_platform 設定されていますが、さらに や も ibm_cloud 値として local 指定できます。 ibm_quantum_platform``ibm_cloud これはレガシーオプションであり、ibm\_quantum\_platform\と同じパスを指します。推奨される値は ibm\_quantum\_platform\ です。これが選択された場合 local 、ローカルテストモードが使用され、プリミティブクエリはローカルシミュレータ上で実行されます。 詳細については、 Qiskit Runtime のローカルテストモードに関するドキュメントをご確認ください。 非ローカルモードの場合、このチャネルはデフォルトのAPI値( URL )を解決するために使用されます。 ibm_cloud これは旧 IBM Cloud プラットフォームの識別子であり、その URL へのアクセスは新しい ibm_quantum_platform アドレスにリダイレクトされます。
  • token – IBM Cloud のAPIキー。 IQP認証を行うには、APIキーの入力が必要です。 明示的に指定されていない場合、このAPIキーについてはデフォルトの保存済みアカウントから取得されます。
  • URL – 基本API URL. ibm_cloud``ibm_quantum_platformIBM Quantum Platform にアクセスする非ローカルチャネル(例:、)に対しては、デフォルトで https://cloud.ibm.com が設定されます。この URL は url_resolver 、リクエストを正しいサービスエントリポイントにルーティングするために によって処理されます。 url_resolver``urlカスタムを指定する場合は、それに対応するも指定する必要があります。 https://quantum.cloud.ibm.com/api/v[x]デフォルトのリゾルバーは、ベースの URL を に書き換えます。
  • filename – アカウントが作成されるファイルのフルパス。 デフォルト: _DEFAULT_ACCOUNT_CONFIG_JSON_FILE.
  • name – ファイルから読み込むアカウント名。
  • インスタンス – 使用するサービスインスタンス。 ibm_quantum_platformおよび については ibm_cloud 、これはクラウドリソース名( CRN )またはサービス名です。 設定されている場合、サービスのインスタンス化に使用するインスタンスが指定されます。設定されていない場合、サービスは指定されたフィルタリング条件に従って、アカウント内でアクセス可能なすべてのインスタンスを取得します。 「instance not set」という警告を表示せずに、自動選択を明示的に要求するには、このオプションを指定してください "auto" 。 この値は、アカウントファイルに保存することもできるため save_account() 、インスタンス化されるたびに自動的に反映されます。
  • プロキシ – プロキシの設定。 username_ntlmサポートされているオプションキーは、 urls (プロトコルまたはプロトコルとホストをプロキシの URL にマッピングする辞書。詳細は https://requests.readthedocs.io/en/latest/api/#requests.Session.proxies を参照)、、 password_ntlm (NTLMユーザー認証を有効にするためのユーザー名とパスワード) です
  • 検証 – サーバーの TLS 証明書を検証するかどうか。
  • private_endpoint – プライベートAPI URL に接続します。
  • url_resolver – 実行時の URL を解決するために使用される関数。 指定がない場合、デフォルトのリゾルバーを使用して、さまざまなサービスエンドポイントにアクセスします。
  • 領域 – インスタンスの自動選択に関する領域設定を指定します。 が instance 指定されている場合、この数は無視されます。 eu-de有効な値は または です us-east 。 インスタンスが指定されていない場合、このリージョンのインスタンスが優先的に使用されます。
  • plans_preference – インスタンスの自動選択のために、優先度順に並べられたアカウントプラン名のリスト。 が instance 指定されている場合、この数は無視されます。 指定されたプラン名のインスタンスのみが対象となります。 たとえば、プレミアムアカウントの使用を避けたい場合は、引 "open" 数を指定するだけで、オープンプランのインスタンスのみを使用するように設定できます。 許容される値には、以下が含まれます(ただし、これらに限定されません): open, premium, flex, on-prem, pay-as-you-go
  • タグ – 自動インスタンス選択のために、利用可能なインスタンスを絞り込むタグのリストを設定します。 が instance 指定されている場合、この数は無視されます。

戻り値

ローカルチャネルが設定されている場合の QiskitRuntimeLocalService または QiskitRuntimeService のインスタンス。

レイズ

IBMInputValueError - 入力が無効な場合

QiskitRuntimeService インスタンスを作成します。


属性

channel

使用されているチャンネルタイプを返す。

戻り値

使用するチャンネルタイプ。


方法

active_account

active_account()

GitHub

セッションで現在使用中の IBM Quantum アカウントを返します。

戻り値

現在セッション中のアカウントに関する情報を持つ辞書。

戻りの型

[d] ictstr, str | None

active_instance

active_instance()

GitHub

現在アクティブなインスタンスの crn を返す。

戻りの型

str

backend

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

GitHub

指定したフィルタリングにマッチする単一のバックエンドを返します。

なお、バックエンドの可用性は、回路の提出時にのみ確認される点にご注意ください。 バックエンドの状態を事前に確認するには、バックエンドオブジェクトの メソッド status() を使用します:

from qiskit_ibm_runtime import QiskitRuntimeService

service = QiskitRuntimeService()
backend = service.backend()

status = backend.status()
assert status.operational and status.status_msg == "active"

パラメーター

  • name (str) – バックエンドの名前。
  • instance (str | None) – IBM Cloud アカウントCRNを指定する。
  • use_fractional_gates (bool | None) – バックエンドが小数点以下のゲートを含めることを許可するには、True に設定します。 制限事項については、「フラクショナルゲートを使用すべきでない場合」 を参照してください。
  • calibration_id (str | None) – バックエンドをインスタンス化する際に使用するキャリブレーション ID。

戻り値

フィルタリングに一致するバックエンド。

レイズ

  • QiskitBackendNotFoundError - バックエンドが見つからなかった場合
  • IBMInputValueError – フラクショナルゲートが要求されたが、バックエンドでサポートされていない場合。

戻りの型

バックエンド

backends

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

GitHub

このアカウントでアクセス可能なすべてのバックエンドを返します。

パラメーター

  • name (str | None) – フィルタリングするバックエンド名。

  • min_num_qubits (int | None) – バックエンドが持つべき最小の量子ビット数。

  • instance (str | None) – IBM Cloud アカウント CRN

  • dynamic_circuits (bool | None) – バックエンドがダイナミックサーキットをサポートしているかどうかでフィルタリングする。

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

    ラムダ関数など、より複雑なフィルター。 例:

    QiskitRuntimeService.backends(
        filters=lambda backend: (
            (status := backend.status()).operational
            and status.status_msg == "active"
        )
    )

    正常に動作しており、アクティブなバックエンドのみを返します。

  • use_fractional_gates (bool | None) – バックエンドが小数ゲートを含むようにするにはTrueを設定する。 我々のバックエンドは現在、ダイナミック回路と分数ゲートを同時にサポートしている。 ダイナミックサーキット機能(例: if_else )を使用する際、このフラグを無効にする必要はなくなった あなたのアルゴリズムで。 このフラグがTrueに設定されている場合、制御フロー命令はバックエンドから削除されない。 None の場合、分数ゲートとコントロールフロー演算の両方がバックエンドに含まれる。

  • calibration_id (str | None) – バックエンドをインスタンス化する際に使用するキャリブレーション ID。 較正IDはバックエンドごとに定義されるため、単一のバックエンドを選択する場合にのみ使用してください。

  • ** kwargs* (Any* )

    バックエンドの設定やステータスの属性に特定の値を要求する単純なフィルタです。 例:

    # 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)

    バックエンド属性の完全なリストについては、 IBMBackend クラスのドキュメントを参照のこと

戻り値

フィルタにマッチする利用可能なバックエンドのリスト。

レイズ

  • IBMInputValueError - 入力が無効な場合
  • QiskitBackendNotFoundError - バックエンドがどのインスタンスにもない場合。

戻りの型

リスト[ ibm_backend.IBMBackend ]

delete_account

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

GitHub

保存したアカウントをディスクから削除する。

パラメーター

  • filename (str | None) – アカウントを削除するファイル名。
  • name (str | None) – 削除する保存アカウントの名前。
  • channel (ChannelType | None) – 削除するデフォルトアカウントのチャネルタイプ。 アカウント名が指定されている場合は無視されます。

戻り値

アカウントが削除された場合は真。 アカウントが見つからなかった場合は偽。

戻りの型

ブール値

delete_job

delete_job(job_id)

GitHub

ランタイムジョブを削除する。

この操作は元に戻せませんのでご注意ください。

パラメーター

job_id (str) – 削除するジョブのID。

レイズ

  • RuntimeJobNotFound – その仕事は存在しません。
  • IBMRuntimeError – このメソッドはサポートされていません。

戻りの型

なし

instances

instances()

GitHub

アクティブなアカウントで使用可能なインスタンスのリストを返します。

各インスタンスに対して「crn」、「plan」、「name」というキーを持つ一連の辞書を含むリストを返す。

戻り値

アクティブなアカウントで利用可能なインスタンスのリスト。

戻りの型

Sequence[ [dic] tstr, Any]

job

job(job_id)

GitHub

ランタイム・ジョブを取得する。

パラメーター

job_id (str) – 求人ID

戻り値

ランタイム・ジョブが取得された。

レイズ

  • RuntimeJobNotFound - もしその仕事が存在しなければ
  • IBMRuntimeError - リクエストが失敗した場合。

戻りの型

RuntimeJobV2

jobs

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

オプションのフィルタリングに従って、すべてのランタイム・ジョブを取得する。

パラメーター

  • limit (int | None) – 検索するジョブ数。 None 制限なしという意味だ。
  • skip (int) – ジョブ検索の開始インデックス。
  • backend_name (str | None) – ジョブを取得するバックエンドの名前。
  • pending (bool | None) – ジョブの保留状態によるフィルタリング。 True の場合、'QUEUED' と 'RUNNING' ジョブが含まれる。 False の場合、'DONE'、'CANCELLED'、'ERROR' のジョブが含まれる。
  • program_id (str | None) – 番組IDで絞り込む。
  • instance (str | None) – IBM Cloud インスタンス crn によるフィルタリング。
  • job_tags (list[str] | None) – ジョブに割り当てられたタグでフィルタリングする。 一致した求人はすべてのタグに関連付けられています。
  • session_id (str | None) – セッションIDでフィルタリングする。 セッション内のすべてのジョブは、ジョブ作成日の古い順に返されます。
  • created_after (datetime | None) – 指定された開始日を現地時間でフィルタリングする。 これは、作成日がこのローカル日時より後(以上)のジョブを検索するために使用されます。
  • created_before (datetime | None) – 指定された終了日を現地時間でフィルタリングする。 これは、作成日がこのローカル日時より前(以下)のジョブを検索するために使用されます。
  • descending (bool) – True の場合、制限に達するまで、ジョブの作成日の降順(つまり新しい順)でジョブを返す。

戻り値

ランタイム・ジョブのリスト。

レイズ

IBMInputValueError - 入力値が無効な場合。

戻りの型

リスト[ RuntimeJobV2 ]

least_busy

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

GitHub

最もビジーでないバックエンドを返す。

パラメーター

  • min_num_qubits (int | None) – バックエンドが持つべき最小の量子ビット数。

  • instance (str | None) – IBM Cloud アカウント CRN.

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

    フィルタは backends() メソッドのように定義できます。 5量子ビットで動作するバックエンドの例:

    QiskitRuntimeService.least_busy(n_qubits=5, operational=True)
  • use_fractional_gates (bool | None) –

    Trueこの場合、小数ゲートを含むバックエンドのみが考慮され、返されるバックエンドには小数ゲートが含まれます。 制限事項については、「フラクショナルゲートを使用すべきでない場合」 を参照してください。

  • kwargs (Any) – バックエンドクエリに渡される追加の引数。

戻り値

保留中のジョブの数が最も少ないバックエンド。

レイズ

QiskitBackendNotFoundError - 条件に合うバックエンドがない場合

戻りの型

ibm_backend.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

将来使用するために、アカウントをディスクに保存します。

パラメーター

  • token (str | None) – IBM Cloud APIキー
  • url (str | None) – API URL。 デフォルト https://cloud.ibm.com.
  • instance (str | None) – これは、 CRN またはサービス名を指定するためのオプションのパラメータです。 設定された場合、サービスのインスタンス化におけるデフォルトのインスタンスが指定されます。設定されていない場合、サービスはアカウント内でアクセス可能なすべてのインスタンスを取得します。 を "auto" に設定すると、自動選択が明示的に設定として保存され、その後のインスタンス化時に「インスタンスが設定されていません」という警告が表示されなくなります。
  • channel (ChannelType | None) – チャネルの種類。 ibm_cloudまたはibm_quantum_platform
  • filename (str | None) – アカウントが保存されているファイルのフルパス。
  • name (str | None) – 保存するアカウント名。
  • proxies (dict | None) – プロキシの設定。 サポートされているオプションキーは、 urls (プロトコルまたはプロトコルとホストをプロキシの URL にマッピングする辞書。詳細は https://requests.readthedocs.io/en/latest/api/#requests.Session.proxies を参照)、 username_ntlmpassword_ntlm (NTLMユーザー認証を有効にするためのユーザー名とパスワード) です
  • verify (bool | None) – サーバーのTLS証明書を確認する。
  • overwrite (bool | None) – True 既存のアカウントを上書きする場合。
  • set_as_default (bool | None) – True の場合、アカウントはデフォルト・アカウントとしてファイル名に保存される。
  • private_endpoint (bool | None) – プライベートAPIへの接続 URL.
  • region (RegionType | None) – 地域設定を指定します。 us-east または eu-de。 インスタンスが指定されていない場合、このリージョンにあるインスタンスが優先されます。
  • premiumplans_preference (PlanType | None) – アカウントプラン名の一覧(open、など)、 好みに応じて並べ替えました。 リストの最初の値を持つインスタンスが優先され、指定されたプラン名のインスタンスのみが対象となります。 たとえば、プレミアムアカウントの使用を避けたい場合は、引 "open" 数を指定するだけで、オープンプランのインスタンスのみを使用するように設定できます。 plans_preferenceinstance 指定されている場合は、無視されます。
  • tags (list[str] | None) – 利用可能なインスタンスをフィルタリングするためのタグのリストを設定します。 インスタンスが渡されない場合、これらのタグを持つインスタンスが優先されます。

戻りの型

なし

saved_accounts

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

GitHub

ディスクに保存されているアカウントをリストアップします。

パラメーター

  • default (bool | None) – Trueに設定すると、デフォルトのアカウントのみが返されます。
  • channel (ChannelType | None) – type.\ \ibm_cloud`` チャンネル、または ibm_quantum_platform.
  • filename (str | None) – アカウントが返されるファイル名。
  • name (str | None) – 設定された場合、指定された名前のアカウントのみが返されます。

戻り値

ディスクに保存された口座に関する情報を持つ辞書。

レイズ

ValueError - ディスク上に無効なアカウントが見つかった場合。

戻りの型

dict

usage

usage()

GitHub

現在アクティブなインスタンスの使用情報を返す。

戻り値

使用法の詳細が記載されたディクト。

戻りの型

辞書文字[列、 任意]

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。