オープンAI Assistants API - Part 2: エージェントの活用と情報取得方法
By Hubel Labs · 2024-03-28
最近、オープンAIがリリースしたアシスタンスAPIについてのビデオシリーズで、興味深い情報が共有されています。前回のビデオではファイルから情報を取得し、チャットボットがユーザーの質問に応じる方法がデモンストレーションされました。今回のビデオでは、機能呼び出しを使用してエージェントを呼び出す方法について詳しく説明します。
オープンAIの新しいAPIを活用する方法
- 最近、オープンAIがリリースしたアシスタンスAPIについてのビデオシリーズで、興味深い情報が共有されています。
- 前回のビデオでは、プロパイエタリファイルを提供し、チャットボットがそのファイルから情報を取得してユーザーの質問に応じる方法がデモンストレーションされました。
- 今回のビデオでは、さらに一歩踏み込んで、機能呼び出しを利用してエージェントを呼び出す方法について詳しく説明します。
- 例として、顧客サービスチームがゲームアプリをサポートするために必要なバックエンドタスクを実行するために使用できるツールを構築する方法を紹介します。
- 過去にはデータベースに接続し、顧客サービスチームにそのツールの使い方を教えるために専門のツールを作成する必要がありましたが、今回はそれを回避できる可能性があると考えています。
オープンAIの新しいAPIを活用する方法
革新的なツールコール:デモの成功を通じて学ぶ
- ツールコールからの呼び出しは、Runプロセス内とツールコールの中に配列があります。配列内の各アイテムには、ツールコールID、関数名、およびパラメータ配列が含まれています。
- これは、ユーザーがメールアドレスからユーザーIDをリクエストしている場合を考えてみましょう。アシスタントは自分でこの質問に答えることができないと考え、Fetch user IDというツールコールを持っているので、実行ステータスをアクションが必要な状態に設定し、ツールコール配列を1つ持ち、これが特定のIDであり、その関数名がFetch user IDであると し、パラメータ配列はキーと値のペアであるとします。
- この情報を取得した後、自分自身のコードで自分自身のAPIを呼び出し、パラメータを渡し、APIが出力で応答したら、これを配列に保存して、Runプロセスに戻して、Runプロセスが必要なすべてを取得したと感じたら、ステータスを完了に設定し、アシスタントメッセージをスレッドに戻します。
革新的なツールコール:デモの成功を通じて学ぶ
データ管理アシスタントの新機能と未来展望
- データ管理アシスタントは、新たな機能の追加によりさらに使いやすくなりました。この機能は、加入ユーザーに対してメンバーシップサブスクリプションを手動で設定する機能です。
- 加入ユーザーには、サブスクリプションのタイプ(プレミアム、スタンダード、プラス)を選択してもらい、さらに利用期間(何ヶ月間)を指定してもらいます。これにより、ユーザーが自分に最適なプランを選択できるようになります。
- そして、もう一つの機能として、単一のメ ール送信機能が追加されました。この機能は、ユーザーIDまたはメールアドレス、件名、本文を受け取り、その情報を基に指定されたアドレスにメールを送信します。
- さらに、お客様からのメールでユーザーIDを取得するという作業も簡略化されました。お客様からのメールアドレスを取得し、それを元にユーザーIDを見つける機能が追加されています。これにより、情報の迅速な検索が可能となります。
データ管理アシスタントの新機能と未来展望
人工知能の進化:次の一歩への挑戦
- 人工知能(AI)の発展に伴い、我々の日常生活やビジネスにおいてもますます重要な存在となっています。AIを活用したソリューションは、業務効率化や新たな価値の創造に貢献しています。
- ある日、AIアシスタントは特定のプロセスを実行するための準備が整いました。次のステップでは、その実行状況を確認するためにポーリングを行います。このとき、過去のリクエストが「進行中」「完了」という状態だったのに対し、今回は「対応が必要」という新しいステータスが出ました。
- もし実行のステータスが「対応が必要」であれば、私たちはエージェントを呼び出す必要があります。つまり、AIアシスタント自身がアクセスできない外部APIを操作するために必要な処理です。
- 具体的には、ツール呼び出し(tool calls)というものを取得し、そこから必要な関数やパラメータを抽出します。複数のAPIを呼び出す場合もあるため、それぞれのツール呼び出しをループ処理して対応します。
- さらに、APIを呼び出して結果を取得する処理が行われます。これにより、ユーザーのクエリに対して正確な情報を返す準備が整います。そして結果を取得した際には、それらを適切に処理し、最終的にRunプロセスに返却することで全体の処理が完了します。
- Runプロセスが完了したら、スレッドから全てのメッセージを取得し、それらを表示します。これにより、ユーザーのクエリに対する正確な結果が得られ、AIアシスタントがスムーズに対応する様子がうかがえます。
人工知能の進化:次の一歩への挑戦
新しい人工知能アシスタントの可能性を探る
- 今回は、新しい人工知能アシスタントの機能について探ってみたいと思います。テストをしてみると、アシスタントはユーザーのメールアドレスを持つユーザーIDを返します。
- 次に、アシスタントに関数に関わらない情報だけを求めるクエリを投げてみました。例えば、直接購入するとアプリストア経由で購入するのとの違いは何か、と尋ねてみました。
- このように、ファイルから情報を読み取ることで、直接購入とアプリストア経由の会員購入の違いについて、割引、柔軟性、返金プロセスの3つの主な利点があることがわかりました。
- さらに、異なる機能が必要な質問に対応する際には、どのようにアクションを起こすかを学びます。例えば、特定のユーザーにメールを送信する場合は、どのようにアシスタントがそれを処理するのかを知ることが重要です。
- この人工知能アシスタントは、各クエリに適切な機能を選択し、正確に処理することで、ユーザーの要求に応えることができます。複数の機能を呼び出すような複雑な例にも対応する能力があります。