1行定義
Web APIとは、HTTPなどWebの技術を使い、ネットワーク越しに決められた形式で依頼を送ると処理の結果を返す、プログラム同士をつなぐ窓口のことです。
くわしく
Web APIは、ソフトウェア同士がネットワークを通じてやり取りするための窓口です。API(Application Programming Interface)は、プログラムから機能を呼び出すための決まりごとを指します。そのうち、Webで使われる通信の手順(プロトコル)であるHTTPでやり取りするものをWeb APIと呼びます。
飲食店の注文にたとえるとわかりやすくなります。客は決められた書き方で注文票を渡せば、厨房の中を知らなくても料理を受け取れます。同じように、呼び出す側は決められた形式で依頼(リクエスト)を送り、結果(レスポンス)を受け取ります。データの形式には、JSONがよく使われます。
AIプロジェクトでの役割
学習済みモデルを業務で使えるようにする代表的な方法が、Web APIとして公開することです。モデルはサーバー側で動き、在庫管理システムやスマートフォンのアプリは、APIを呼び出すだけで予測結果を受け取れます。
- 利用する側は、モデルの中身や実行環境を用意しなくて済みます。
- 入出力の仕様を変えなければ、再学習したモデルへの入れ替えをサーバー側だけで行えます。
- 利用が増えたら、クラウドで計算資源を増やして対応できます。
逆向きの使い方もあります。外部の事業者が提供する生成AIなどのモデルを、Web API経由で自社のサービスに組み込む方法です。モデルを自前で持たずに、高度な機能を取り入れられます。
注意点
呼び出すたびに通信が発生するため、応答の遅れや通信の切断の影響を受けます。即時の応答が要る現場では、エッジAIとの使い分けを考えます。また、公開したAPIは外部から何度でも問い合わせを受けます。出力を大量に集めてモデルをまねるモデル窃取などに備え、認証や利用回数の制限を設けます。外部のAPIを使う側は、送ったデータがどう扱われるかを利用規約で確かめます。
G検定での出題
出題のされ方
学習済みモデルをサーバー側で動かし、利用する側は依頼を送って結果を受け取るだけで済むという提供の形や、クラウドとの組み合わせ、運用中のモデルを入れ替えやすい利点が問われます。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
Web APIでは通信にHTTPが使われ、やり取りするデータの形式としてJSONが広く使われている。
答えを見る
答え ◯ 正しい
JSONは、特定のプログラミング言語に依存しない、テキストのデータ形式です。人が読んでも構造がわかりやすく、多くの言語で扱えるため、Web APIで広く使われています。
-
Web APIを呼び出すプログラムは、APIを提供する側のシステムと同じプログラミング言語で書かれている必要がある。
答えを見る
答え × 誤り
Web APIは、HTTPという共通の手順でやり取りします。決められた形式で依頼を送れば、呼び出す側はどの言語で書かれていてもかまいません。
-
クラウド上のモデルをWeb APIで呼び出す構成は、通信が途切れやすい現場や、ごく短い時間で応答が要る処理には向かないことがある。
答えを見る
答え ◯ 正しい
呼び出すたびにネットワークを往復するため、通信の遅れや切断の影響を受けます。こうした場面では、端末の近くで推論するエッジAIが検討されます。