このチュートリアルでは、PythonのIBM® watsonx.ai® APIを通じてIBM® Graniteモデルを使用して、オープンソースのLangGraphフレームワークでReAct(推論とアクション)AIエージェントを構築します。ユースケースは、既存のITサポート・チケットの管理と新しいITサポート・チケットの作成です。
人工知能(AI)エージェントとは、ワークフローを設計し、利用可能なツールを活用することで、ユーザーまたは別のシステムに代わってタスクを自律的に実行できるシステムまたはプログラムです。生成AIエージェントは、大規模言語モデル(LLM)の高度な自然言語処理技術(NLP)を活用して、ユーザーの入力を段階的に理解・対応し、外部ツールを呼び出すタイミングを決定します。AIエージェントの中核となるコンポーネントは推論です。ツールの呼び出し、人間の介入、または他のエージェントを通じて新しい情報を取得すると、推論パラダイムがエージェントの次のステップを導きます。
各アクションと各ツールの応答について、ReAct(推論とアクション)パラダイムは、エージェントに「考察」して次のステップを計画するよう指示します。この段階的な低速の推論により、エージェントが更新されたコンテキストをどのように使用して結論を導き出すかについての洞察が得られます。この反省のプロセスは継続的であるため、Think(思考)-Act(行動)-Observe(観察)ループと呼ばれることが多く、思考の連鎖を促す形式です。
このチュートリアルでは、複雑な生成AIエージェントのワークフローを構築、展開、管理するために設計されたオープンソースAIエージェント・フレームワークであるLangGraphフレームワークを使用します。LangGraphが提供する、事前構築済みの
LangGraph内では、state機能がAIシステムの各イテレーションによって処理されたすべての貴重な情報を記録および追跡するメモリー・バンクとなります。これらのステートフルなグラフにより、エージェントは過去の情報や貴重なコンテキストを思い出すことができます。ReActグラフの循環構造は、1つのステップの結果がループ内の以前のステップに依存する場合に活用されます。グラフ内のノード、つまり「アクター」は、エージェント・ロジックをエンコードし、エッジによって接続されます。エッジは本質的に、現在の状態に応じて次に実行するノードを決定するPythonの機能です。
watsonx.aiプロジェクトを作成するにはIBM Cloudのアカウントが必要です。
watsonxのアプリケーション・プログラミング・インターフェース(API)を使用するには、次の手順を完了する必要があります。なお、このチュートリアルにはGitHubでもアクセスできます。
watsonx.aiにログインします。IBM Cloudアカウントを使用します
watsonx.ai Runtimeサービス・インスタンスを作成します(適切なリージョンを選択し、無料インスタンスであるLiteプランを選択)。
watsonx.aiでのエージェントのデプロイをスムーズに始めるには、このGitHubリポジトリーをクローンし、ITサポートReActエージェントのプロジェクトにアクセスします。これを行うには、ターミナルで次のコマンドを実行します。
次に、Poetryがまだインストールされていない場合は、それをインストールします。Poetryは、Pythonの依存関係とパッケージ化を管理するためのツールです。
次に、仮想環境をアクティブ化します。
pip install
次のステップでは、PYTHONPATHに作業ディレクトリを追加する必要があります。ターミナルで以下を実行します。
環境をセットアップするには、GitHub上の README.mdファイルの指示に従います。このセットアップには、IDEまたはコマンドライン上で実行されるいくつかのコマンドが必要です。
config.toml
エージェントには、最新の情報を提供し、新しいデータを追加するためのデータ・ソースが必要です。データ・ファイルはIBM® Cloud Object Storageに保存されます。
ReActエージェントにITチケット管理機能を提供するには、IBM Cloud Object Storageのデータ・ソースに接続する必要があります。このステップでは、
エージェントは、ファイル内のデータの読み取りと書き込みの両方ができるようになります。まず、LangChainの@tool デコレーターを使用して、
この
次に、
このツールは、ユーザーからの問題の説明と問題の緊急性を引数として取り込みます。この情報を含む新しい行がCOSのファイルに追加され、新しいチケットが作成されます。それ以外の場合は、例外がスローされます。
ファイルに追加する必要がある
エージェントにこれらのツールへのアクセスを許可するため、
これらのツールは
エージェントをデプロイする前に、ファイル内の必要なすべての情報を
エージェントとチャットするには3つの方法があります。
ローカルでAIサービスを実行するためのスクリプトを実行します。
最後のオプションは、watsonx.aiのデプロイメント領域でエージェントにアクセスすることです。これを行うには、左側のメニューで[デプロイメント]を選択します。次に、デプロイメント領域を選択し、[アセット]タブから
デプロイメント・スクリプトを実行するには、
次に、デプロイメント・スクリプトを実行します。
次に、デプロイメントをクエリするためのスクリプトを実行します。
このチュートリアルの目的上、オプション2を選択し、エージェント型チャットボットの形式でwatsonx.ai上にデプロイされたエージェントにクエリーを実行してみましょう。ツールの使用を必要とするいくつかのプロンプトをエージェントに提供しましょう。オプション3に記載されている手順に従うと、watsonx.aiにチャットのインターフェースが表示されます。そこにプロンプトを入力できます。
まずツールが正常に
エージェントの最終的な回答からわかるように、AIシステムは問題解決を正常に使用し、
成功です。エージェントはチケットをファイルに正常に追加しました。
このチュートリアルでは、意思決定を利用してサポート・チケットの取得や作成などの複雑なタスクを解決するReActフレームワークを使用してエージェントを作成しました。現在、GoogleのGemini、IBMのGranite、OpenAIのGPT-4など、エージェント・ツールの呼び出しを可能にするAIモデルがいくつかあります。このプロジェクトでは、watsonx.ai APIを通じてIBM Granite AIモデルを使用しました。このモデルはローカルでも、watsonx.aiにデプロイしても、期待どおりに動作しました。次のステップとして、LlamaIndexとcrewAIマルチエージェントテンプレートをチェックしましょう。これらは、AIエージェント構築用にwatsonx-developer-hub GitHubリポジトリーで利用できます。
開発者が、IBM watsonx.aiを使用してAIエージェントの構築、デプロイ、および監視を行えるようにします。
業界で最も包括的な機能セットの1つを使用して、企業がAIエージェントとアシスタントを構築、カスタマイズ、管理できるようにすることで、生産性を飛躍的に向上させます。
開発者の効率性を考慮したGraniteの小型オープンモデルで、コストを90%以上削減します。エンタープライズ対応モデルは、安全性ベンチマークに対して、さらにサイバーセキュリティーからRAGまでの幅広い企業タスクに対して優れたパフォーマンスを発揮します。