API Connectで、外部AIサービスへのAPIアクセスを管理できるようになりました。

## はじめに
watsonx.ai、OpenAIなどのAIサービスは、APIで自社のAIサービスを公開しており、外部のシステムからAIを呼び出す仕組みを提供しています。最近では、社内のアプリケーションから外部のAIサービスを呼び出して業務の効率化・高度化を進める企業も増えていますが、自社のシステムから外部AIを呼び出す際の通信の管理は不十分であることが多いのが実情です。

そんな中、IBMでは、IBM API Connect v10.0.8.1以降のバージョン、IBM API Connect on AWS SaaSにおいて、外部AIサービスの利用を管理するための新機能、”AI Gateway”の提供を開始しました。

## AIサービスへのアクセス管理の必要性
そもそもなぜAIサービスへのアクセスを管理する必要があるのでしょうか。
### 1.コスト面の問題
* 社内で部署・担当者ごとにAIサービスのアカウントを重複して取得することによる無駄なコストの発生
* AIの利用上限が設定されないことによる過剰なAIの呼び出し
### 2.安全面の問題
* 問題が発生した際にAIサービスへのアクセスログを確認することができない
* 信頼できないAIサービスを利用することによる情報漏洩
　

AIサービスの利用を管理しないことでコスト、安全性の面であらゆるリスクが発生します。
## AI Gatewayを利用してAIサービスへのアクセスを簡単管理
AI Gatewayは、AIサービスが提供するAPIに対して社内向けのAPIプロキシーを作成し、社内のシステムからのAIサービスへのアクセスを中継する役割を担います。直接的なAIサービスへのアクセスはAI Gatewayに一任されるので、企業が利用を認めたAIサービスのアカウントをそれぞれ一つずつ取得するだけで、社内全体からAIに対してアクセスすることができるようになります。
また、社内のシステムに対しては、APIプロキシーから固有のAPIキーを発行することができるので、各システムごとに利用上限を設定することも可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3658447/85d47188-24ae-0568-bdc7-346346390dfa.png)

### AI Gatewayの特徴
* 外部のAIサービスに対して、社内向けの単一制御ポイントを提供
* API Connectの開発者ポータルから、AIを利用したい社内ユーザーがセルフサービスで利用申請することができる
* AIサービスの過剰な呼び出しを防ぐために、社内の各システムごとにトークンの利用上限を設定することができる
* APIアナリティクスダッシュボードから各システムごとのAIサービスへのアクセスログや、分析データを確認することができる

(2024年12月現在、対応しているAIはwatsonx.ai、OpenAIの特定のAPIとなります。)
## AI Gateway利用の流れ
![スクリーンショット 2024-12-20 2.57.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3658447/7b7c7416-4b82-f6fa-a37d-29da62d8aa31.png)
**①AIを登録**
API ConnectのAPI管理コンポーネントであるAPIマネージャーに対して、外部のAIサービスで取得したAPI情報を登録します。このタイミングでトークン数の利用上限も設定することができます。

**②開発者ポータルにAIの情報を掲示**
APIマネージャーに登録されたAPI情報は開発者ポータルで公開されます。これにより、AIサービスの利用希望者が利用できるAIの情報を確認することができるようになります。

**③利用申請**
AIサービスの利用希望者は、開発者ポータルからAIの情報を確認し、セルフサービスで利用申請を行います。利用申請の際にあらかじめ管理者側で承認フローを必要とするか否かを設定することができます。

**④ユーザー登録**
開発者ポータルから申請されたユーザーの情報はAPIマネージャーで管理されます。

**⑤設定の適用**
ユーザー認証や、アクセス上限などに関する情報はAPIマネージャーからAI Gateway (API Gateway)に伝えられます。

**⑥⑦問い合わせ**
アクセスが許可されたユーザーは、社内システムからAPI経由でAIサービスを利用することができるようになります。AIサービスへのアクセスはAI Gatewayが中継することで、利用上限の範囲内で間接的に行うことができます。

**⑧利用情報の提供**
AIサービスへのアクセス情報はAI Gatewayで取得され、APIアナリティクスのダッシュボードに反映されます。

**⑨利用状況の確認**
AIサービスの利用状況は、APIアナリティクスのダッシュボードから確認することができます。日時ごとに利用されているトークン数や、各システムごとで利用しているトークン数、利用されている言語モデルの情報など、様々な情報を確認することができます。
管理者は利用状況を確認して、次のAI利用に関する指針を決定することができます。

## API アナリティクス機能のご紹介
最後に、APIアナリティクス機能の一部を実際の画面を用いてご紹介します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3658447/b514c1e9-b7df-642a-a0c4-c59362afd79d.png)

APIアナリティクス機能では、日付、時間ごとにどれくらいのAIサービスへのアクセスがあったのかをグラフィカルに確認することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3658447/1883e1a3-4b34-85da-c8a6-7f2b50f988cd.png)
また、APIキーごと(ユーザー、システムごと)にどれくらいの数のAI利用があったのかを確認することができるので、AI利用にかかったコストの按分比率を決定する際にも役立ちます。


## まとめ
本記事では、API Connectで新たに利用できるようになった新機能である、AI Gatewayについてご紹介しました。AI Gatewayを利用してAIの利用を管理し、適切な料金で安全にAIサービスをご利用してみてはいかがでしょうか。
AI Gatewayに関する最新情報は、日本IBMが運用しております、TechXchange Integration Community Blogおよび、IBM公式サイトをご確認ください。


**参考情報**
TechXchange Integration Community Blog
(API ConnectをはじめとしたIntegration製品の最新情報をお届けしています。)

https://community.ibm.com/community/user/integration/communities/globalgrouphome?CommunityKey=fe1b09d3-7042-4a5f-bce0-6bcc19aa0ed9

IBM公式サイト -API Connect

https://www.ibm.com/jp-ja/products/api-connect

IBM公式サイト -AI Gateway

https://www.ibm.com/jp-ja/products/api-connect/ai-gateway