動的なAIトレンドに対応するAPI戦略の適応
September 26, 2023
今日の急速に進化する技術環境において、人工知能(AI)が多くの注目を集めています。ソーシャルメディアを見渡せば、新しいAIスタートアップ、プロンプトエンジニアリングツール、そして大規模言語モデル(LLM)ソリューションが溢れています。そして、それは驚くべきことではありません。なぜなら、AIはまるで魔法のように感じられるからです!例えば、ChatGPTは本当に皆を興奮させました。公開されてからわずか2ヶ月で1億人のユーザーを獲得し、非常に速く非常に人気となりました。
さて、誰もが疑問に思っています:このAIの波は、私自身、私の仕事、そして私の製品にとって何を意味するのか?より具体的には、APIを使用してデジタル製品やアプリケーションを構築する最前線にいる人々にどのような影響を与えるのか?この記事では、APIを使用してデジタルツールを作成する私たちにとって、AIのトレンドが何を意味するのかを探ります。
APIはAIを誰にでもアクセス可能にする
大企業は、AI研究ラボを設立し、データサイエンティストを採用してAIモデルを作成するために迅速に動いています。しかし、大規模なコンピューティングリソースやGPUを持たない小規模な組織はどうでしょうか?彼らは大企業がAI革命を利用するのをただ見ているだけなのでしょうか?答えはノーです。多くのAIアプリケーション、特に自然言語を中心としたものについては、特別なAI研究ラボは必要ありません。代わりに、既存の公開AIモデルであるLLMを利用することができます。これは、開発者がAIの専門家である必要はなく、APIに精通しているだけでよいことを意味します。プロンプトエンジニアリング、ファインチューニング、エンベディングを通じて、これらのモデルを特定の要件に合わせてカスタマイズすることができます。
ここでの魔法の言葉は「API」です。APIはその内容の複雑さをカプセル化し、AIモデルをすべての開発者にアクセス可能にします。これにより、少数のデータサイエンティストがAIモデルを作成し、APIとしてパッケージ化する一方で、より多くの開発者がこれらのモデルをアプリケーションに統合し、自然言語処理に精通した「スマート」なソリューションを作成することができます。その結果、APIはすべての規模の企業の開発者に強力なAIモデルへのアクセスを提供し、競争の場を平らにします。
現代のアプリケーションにおけるAIとAPIのパターン
APIは、あなたの製品を他のすべてのものと結びつけるための鍵です。異なるソフトウェアコンポーネントを接続するのに優れています。AIについて話すとき、この接続はさらに重要です。なぜなら、AIは有用であるために異なるデータソースやツールと連携する必要があるからです。現代のアプリケーションは、一貫してAIとAPIの両方を活用しています。AIはアプリケーションに「スマートさ」を与え、人間の言語や意図を理解できるようにしますが、APIはデータへのアクセスとシステムの接続を容易にします。これらのテクノロジーは単なる並列な存在ではなく、それらの組み合わせは相乗効果を発揮することができます。それらの統合には、主に3つのパターンがあります:
パターン1:API経由でAIサービスを呼び出す
OpenAI ChatGPTのようなAIモデルは、しばしばAPIとしてパッケージ化されています。これらのAPIを通じて、開発者はAIをトリガーし、プロンプトを入力として送信することで、AIをアプリケーションにシームレスに統合することができます。新しいAIアプリを構築するための一般的に使用されるアーキテクチャも、以下の図で見られるように、Vector EmbeddingsとChat Completionのような2つのOpenAI APIエンドポイントを利用します:
この方法では、まずOpenAI APIを通じて各入力ドキュメント(テキスト、画像、CSV、PDF、またはその他の構造化/非構造化データ)に対してベクトルエンベディングを作成し、生成されたエンベディングを高速検索のためにインデックス化し、それらをベクトルデータベースなどのストレージに保存します。これらのドキュメントは、ユーザーの質問とともにプロンプトとしてChatGPTに提示されます。この追加されたカスタム知識により、ChatGPTはユーザーのクエリに対してインテリジェントに応答することができます。
パターン2:AIサービスがAPIを呼び出す
プロンプトに対するAIモデルの出力は、通常テキストです。これらの「アイデア」を実現可能な結果に変換するために、AIサービスはAPIを呼び出す必要があります。これらのAPIは、支払いを行う、予約をする、メッセージを送信する、または室温を調整するなど、現実世界またはデジタル世界でアクションを開始することができます。本質的に、APIはAIサービスの手として機能し、環境と相互作用することを可能にします。その良い例はChatGPTカスタムプラグインです。この記事では、APISIXを使用してAPI Gateway用のカスタムプラグインを構築する方法を説明しています。APISIXはAPIの前に配置され、AIリクエストを意図したバックエンドAPIサービスにルーティングすることができます。認証、認可、レート制限などのセキュリティ対策を簡単に実装したり、APIからの類似したレスポンスをキャッシュしたり、APIの使用状況、パフォーマンス、潜在的な問題に関する貴重な洞察を収集することができます。
パターン3:AIがAPIを接続する
数年前、2つのソフトウェアシステムやAPIを通信させるためには、手動でコーディングするしかありませんでした。ソフトウェアエンジニアは複雑で脆弱なコードシーケンスを作成していました。このタスクは開発者だけのものであり、すべての変更はより多くのコーディングを意味し、相互接続するコードの絡み合ったウェブを生み出していました。
生成AIの登場により、Integration Platform as a Service(iPaaS)との相互作用は、チャットでリクエストを行うのと同じくらい簡単になりました。あるプラットフォームからのデータを別のプラットフォームと同期させたい場合、技術的な詳細を理解する必要はありません。あなたはただ要件を指定するだけです。例えば、「MarketoからSalesforceに顧客リードスコアを同期させてください。」と言うか、AIにデータをあるAPIから別のAPIに移動するように依頼することができます。AIはそのプロセスを処理し、互換性をテストし、問題を自律的に修正します。統合で使用されるAPIは常に変化しており、これが時々問題を引き起こすことがあります。AIはデータ統合の健全性を監視し、エラーを修正し続けるか、単にAPIリクエストまたはレスポンスのエントリに注意が必要な場合に自然言語でアラート通知を送信することができます。
API使用の保護
AIが現実世界またはデジタル世界でアクションを開始するAPIを呼び出す能力を持つため、保護策を実施することが重要です。この保護は、理想的にはAPI管理システムレベルで実施され、AIの責任ある安全な使用を確保するために必要です。この投稿では、API GatewayがChatGPTプラグイン開発者にとって、APIエンドポイントを公開、保護、管理、監視するのにどのように役立つかを探っています。
結論
APIは、AI駆動のソフトウェア開発のための完璧な構成要素を提供します。APIとAIテクノロジーの組み合わせは、強力なアプリケーションを開発するために不可欠です。特定された3つのパターン—APIを通じてAI機能を統合するアプリケーションと、アクションのためにAPIを呼び出すAIサービス—は、アプリケーション開発においてAIを活用するためのロードマップを提供します。AIの風景が進化し続ける中、APIとその統合戦略に焦点を当てることがさらに重要になります。
関連リソース
API Gateway For ChatGPT Plugins Building a ChatGPT custom plugin for API Gateway