- 概要
- UiPath Agents の利用を開始する
- LangGraph を使用した UiPath Agents の利用を開始する
- Studio Web でローコード エージェントを構築する
- UiPath エージェントにツールを追加する
- はじめに
- API ワークフローを構築する
- エージェントに接続する
- エンドツーエンドでテストする
5e SRD を呼び出し、構造化されたモンスター データを返すモンスター クエリ API ワークフローを構築します。
手順 1 - Monster Query API ワークフローを構築する
API ワークフローは、API エンドポイントとしてパブリッシュされた軽量のワークフローです。Open5e 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 要求] として表示されます。
- アクティビティのコンテキスト メニューを開き、[ 名前を変更] を選択します。と
HTTP Request - Open5e Monster Query名前を付けます。 - [ プロパティ] ペインで、[ Authentication ] が [Manual authentication ] で、[ Method ] が [GET] であることを確認します。どちらも新しいアクティビティの既定値であるため、通常は変更する必要はありません。
- [ URL ] を
https://api.open5e.com/v2/creatures/に設定します。 - アクティビティの出力の名前を
searchResultsに変更します。
[クエリ パラメーター] プロパティを設定します。
[ クエリ パラメーター ] プロパティを開いて、[キー] 列と [値] 列を持つ ディクショナリ エディター を開き、次のフィールドを追加します。
| キー | 値 (Value) |
|---|---|
name__icontains | searchName入力引数 - 以下の警告を参照してください |
document__key | srd-2014 |
limit | 10 |
fields | key,name,type,size,challenge_rating,alignment |
name__icontains は searchName 変数を受け取ります。変数を入力するのではなく、変数ピッカーから選択する必要があります。[値] フィールドで、最初に「 @ 」を入力してピッカーを開き、[ searchName ] を選択します。ピッカーを使用しない場合、入力はリテラル文字列として送信され、API は結果なしで HTTP 200 を返します。フィールドは値をチップとしてレンダリングし、保存された値は $input.searchNameになります。
各パラメーターの機能
name__icontains: 大文字と小文字を区別しない部分一致。dragonが「大人の赤龍」「若き青龍」他に帰ってくるdocument__key: srd-2014: 公式の 5e SRD へのフィルター。これがない場合、結果にはデータベース内のすべてのパブリッシャーが含まれ、サードパーティのコンテンツが含まれますlimit: 10: 候補者の上限は 10 人。エージェントがコンテキストを氾濫させることなく推論を行うのに十分であるfields: 応答をエージェントが必要とするフィールドのみに制限します。完全なv2クリーチャーオブジェクトははるかに大きく、トークン予算を無駄にします
Open5e は認識されないクエリ パラメーターを無視し、とにかく HTTP 200 を返します。document__keyスペルを間違えるか、v1 のスペル document__slugを使用すると、フィルターはサイレントにドロップされます: 呼び出しは成功し、実行は緑色になり、エージェントは SRD の代わりにすべてのパブリッシャーからクリーチャーを受け取ります。goblin検索では、フィルターを適用した状態で 2 件、フィルターを適用していない状態で 29 件の結果が返されるため、結果数がカタログではなくほんの一握りのように見えることを確認してください。
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 に追加されるキーと値のペア。ワークフローの引数を参照するには、「
@」と入力して変数ピッカーを開き、引数を選択します。このフィールドには$input.<name>が格納され、チップとして表示されます。@はピッカーのトリガー文字であり、入力できる参照構文ではありません。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 個のエントリが含まれ、各エントリには key、 name、 alignment、 challenge_ratingに加えて、入れ子になった type オブジェクトと size オブジェクトが含まれます。goblin検索するとゴブリンとホブゴブリンが返される。空の配列が表示されている場合は、別の検索語句を試してください。すべてのクリーチャー名がSRDで完全に一致しているわけではありません。
フィードにパブリッシュする
パブリッシュすることにより、ワークフローがデプロイ可能なプロセスとして Orchestrator に登録されます。このため、Agent Builder の [利用可能なリソース ] リストで見つけることができます。 ビルダーには、Studio Web にローカルに保存された下書きではなく、ワークスペースからパブリッシュ済みのワークフローが表示されます。
- ツールバーから [ パブリッシュ ] を選択します。
- パブリッシュ ダイアログで [ 自分用 ] を選択して、個人用ワークスペース フィードにパブリッシュします。個人用ワークスペース フィードとは、Orchestrator ワークスペースに関連付けられたプライベート パッケージ リポジトリです。「自分の場合」をパブリッシュすると、このワークフローは自分だけに表示されるようになるので、開発やテストに適したスコープです。詳しくは、UiPath ドキュメントの「 個人用ワークスペース 」をご覧ください。
- [ パブリッシュ ] を選択して確定します。
手順 3 で [利用可能なリソース] にワークフローが表示されない場合 ワークフローは、ツールとして表示される前に、パブリッシュしておく必要があります (保存するだけでなく)。表示されない場合は、ここに戻ってパブリッシュが正常に完了したことを確認してから、Agent Builder を更新します。
ワークフローがパブリッシュされると、次のセクションで接続可能なツールとして Agent Builder で利用できるようになります。