- 概要
- UiPath Agents の利用を開始する
- LangGraph を使用した UiPath Agents の利用を開始する
- Studio Web でローコード エージェントを構築する
- UiPath エージェントにツールを追加する
- はじめに
- API ワークフローを構築する
- エージェントに接続する
- エンドツーエンドでテストする
D&D 5e SRD を呼び出し、構造化されたモンスター データを返すモンスター クエリ API ワークフローを構築します。
手順 1 - Monster Query API ワークフローを構築する
API ワークフローは、API エンドポイントとしてパブリッシュされた軽量のワークフローです。Open5e D&D 5e SRD モンスター検索 (1 つの入力、1 つの HTTP 要求、1 つの出力) をラップするものを構築します。パブリッシュすると、エージェントが呼び出すことができるツールとして Agent Builder に表示されます。
このステップには 6 つのサブステップがあります。それを完了するのに10〜15分の予算を費やします。
新しい API ワークフロー プロジェクトを作成する
クラウド ワークスペースから [ 新規作成 ] を選択し、プロジェクトの種類として [API ワークフロー ] を選択します。
ソリューションと既定のワークフローの名前を変更します。プロジェクト エクスプローラーで各名前のコンテキスト メニューを開き、[ 名前を変更] を選択します。
- ソリューション名:
Monster Query - 5e SRD - ワークフロー名:
API Query - 5e Monsters
入力と出力を設定する
データ マネージャー (左側のレールのクリップボード アイコン) を選択して、ワークフローのデータ変数にアクセスします。
ワークフローに入力引数を 1 つ追加します。
| 名前 | 入力 | Required | 説明 |
|---|---|---|---|
searchName | 文字列 | はい | 検索するモンスター名または名前の一部 |
出力引数を 1 つ追加します。
| 名前 | 入力 | Required | 説明 |
|---|---|---|---|
monsterResults | 配列 | はい | モンスター結果一覧 |
HTTP 要求を追加する
- ワークフロー キャンバスで、アクティビティ間で [+ ] を選択してアクティビティ メニューを開きます。[ HTTP 要求] を選択します。
- アクティビティのコンテキスト メニューを開き、[ 名前を変更] を選択します。と
HTTP Request - Open5e Monster Query名前を付けます。 - プロパティ ペインで 、[ 認証 ] を [ 手動認証] に設定します。
- [ メソッド] を [GET] に設定します。
- [ URL ] を
https://api.open5e.com/v1/monsters/に設定します。 - アクティビティの出力の名前を
searchResultsに変更します。
[クエリ パラメーター] プロパティを設定します。
[ クエリ パラメーター ] プロパティを開き、次のフィールドを追加します。
| キー | 値 (Value) |
|---|---|
name__icontains | @searchName |
document__slug | wotc-srd |
limit | 10 |
fields | slug,name,desc,type,size,cr,challenge_rating,alignment,v2_converted_path |
各パラメーターの機能
name__icontains: 大文字と小文字を区別しない部分一致。dragonが「大人の赤龍」「若き青龍」他に帰ってくるdocument__slug: wotc-srd: 公式の D&D 5e SRD へのフィルター。タイムアウトが設定されていない場合、結果にはサードパーティの自作コンテンツが含まれますlimit: 10: 候補者の上限は 10 人。エージェントがコンテキストを氾濫させることなく推論を行うのに十分であるfields: 応答をエージェントが必要とするフィールドのみに制限します。完全なOpen5eモンスターオブジェクトははるかに大きく、トークン予算を無駄にします
HTTP 要求のプロパティのリファレンス
このアクティビティは、標準の HTTP 構成要素を公開します。ほとんどの場合、呼び出すすべての API に対して構成します。次のようなパブリック API ではスキップするものもあります。
- 認証: OAuth 2.0、API キー、基本認証の事前構築済みオプション。Open5e は何も必要としないため、ここでは「手動認証」に設定します。認証済み API の場合は、適切なオプションを選択し、資格情報を指定します。
- ヘッダー: すべての要求で送信されるキーと値のペア。一般的な用途: トークンベースの API に
Authorization: Bearer <token>し、応答形式と API のバージョニング ヘッダーを制御するAccept: application/json。 - 本文: JSON、フォーム データ、または生のコンテンツを送信するために、POST、PUT、PATCH 要求とともに使用されます。クエリ パラメーターを介して URL にパラメーターを保持する GET 要求には適用されません。
- クエリ パラメーター: URL に追加されるキーと値のペアです。この
@variableName構文は、ワークフローの引数を名前で参照します。@searchName、データ マネージャーで定義されているsearchName入力引数を取り込みます。Studio Web での変数と式について詳しくは、「 アクティビティを設定する 」をご覧ください。 - 出力 (
searchResultsに名前を変更): ステータス コード、ヘッダー、本文を含む完全な HTTP 応答を受信します。既定の名前から変更しても、[応答の設定] の式は読みやすいままになります。
応答を追加します。
-
ワークフロー キャンバスで、[HTTP 要求] の後に [ + ] を選択し、[応答を 設定] を選択します。
[応答を設定] では、API ワークフローが呼び出し元に返す内容 (この場合は、ワークフローを呼び出したときにエージェントのツールが受け取る内容) を定義します。ここでの応答本文に入力した内容が、エージェントが推論を行うツールの出力になります。
-
応答本文を次のように設定します。
{ "monsterResults": $context.outputs.searchResults.content.results }{ "monsterResults": $context.outputs.searchResults.content.results }
$context.outputs には、このワークフロー内のアクティビティからの名前付き出力がすべて含まれます。searchResults は、[HTTP 要求] アクティビティで名前を変更した出力変数です。 .content.results は、Open5e がデータをラップする応答エンベロープにナビゲートし、実際のモンスター エントリの配列に至ります。詳しくは、 UiPath のドキュメントの「Using Javascript to access workflow data」をご覧ください。
ワークフローをテストする
- ツールバーから [ デバッグ ] を選択します。
- 入力パネルで [
searchName] を [dragon] または [goblin] に設定し、ワークフローを実行します。 - 続行する前に、応答にモンスター エントリを含む
monsterResults配列が含まれていることを確認します。
成功した応答には最大 10 個のエントリが含まれ、各エントリに name、 type、 cr、 slugなどのフィールドがあります。空の配列が表示されている場合は、別の検索語句を試してください。すべてのクリーチャー名がSRDで完全に一致しているわけではありません。
フィードにパブリッシュする
パブリッシュすることにより、ワークフローがデプロイ可能なプロセスとして Orchestrator に登録されます。このため、Agent Builder の [利用可能なリソース ] リストで見つけることができます。 ビルダーには、Studio Web にローカルに保存された下書きではなく、ワークスペースからパブリッシュ済みのワークフローが表示されます。
- ツールバーから [ パブリッシュ ] を選択します。
- パブリッシュ ダイアログで [ 自分用 ] を選択して、個人用ワークスペース フィードにパブリッシュします。個人用ワークスペース フィードとは、Orchestrator ワークスペースに関連付けられたプライベート パッケージ リポジトリです。「自分の場合」をパブリッシュすると、このワークフローは自分だけに表示されるようになるので、開発やテストに適したスコープです。詳しくは、UiPath ドキュメントの「 個人用ワークスペース 」をご覧ください。
- [ パブリッシュ ] を選択して確定します。
手順 3 で [利用可能なリソース] にワークフローが表示されない場合 ワークフローは、ツールとして表示される前に、パブリッシュしておく必要があります (保存するだけでなく)。表示されない場合は、ここに戻ってパブリッシュが正常に完了したことを確認してから、Agent Builder を更新します。
ワークフローがパブリッシュされると、次のセクションで接続可能なツールとして Agent Builder で利用できるようになります。