DBリーダーノード

データベースノードの使い方(DB Reader)

データベースノードの使い方(DB Reader)

データベースノードの使い方(DB Reader)

データベースノードの使い方(DB Reader)

このチュートリアルでは、AgentriaのDB Readerノードの使い方をご案内します。DB Readerノードは、データストレージ(Data Storage)に保存されたデータを照会するノードです。検索条件を設定すると、条件に一致するレコードを返します。

このチュートリアルでは、顧客名を入力として受け取り、顧客データストレージから該当する顧客情報を照会して出力するワークフローを完成させます。

事前準備

Agentriaのキャンバス(Canvas)への入り方は、🔗3ステップコアガイドをご参照ください。

DB Readerノードを使用するには、データストレージを事前に構成しておく必要があります。🔗データストレージガイドをご参照ください。

このチュートリアルを完了すると、次のことができるようになります。

  1. DB Readerノードでデータストレージからレコードを照会できます。

  2. カラム・演算子・変数を組み合わせて検索条件を記述できます。

  3. ページサイズとページ番号で照会範囲を設定できます。

  4. 照会結果をLLMノードで加工して出力できます。

ワークフロー概要

このチュートリアルの核心はDB Readerノードです。

DB Readerノードは、指定したストレージから検索条件に一致するレコードを照会します。検索条件はカラム・演算子・変数をクリックで組み合わせるビルダー形式で作成でき、直接入力することもできます。直接入力する場合は、$(ストレージのカラムを参照)と@(インプット変数を参照)の2つの記号を組み合わせて条件式を記述します。

DB Readerノードの基本情報

DB Readerノードは、以下のフィールドで照会対象と範囲を設定します。

フィールド/オプション

必須

説明

storage

必須

照会するストレージの選択

query

任意

検索条件式(カラム・演算子・変数をクリックで組み合わせ、直接入力も可能)

order_by

任意

検索条件で絞り込んだデータを並べ替え。インデックス(Index)が設定されたカラムのみ選択可能で、複数条件を登録した場合は登録した順に優先適用される

page_size

任意

1ページあたりの照会件数

page_number

任意

照会するページ番号(0から開始)

query条件式は、検索条件の入力欄でカラム・演算子・変数をクリックで組み合わせるビルダー形式で記述します。以下の2つの記号を直接入力して記述することもできます。

  • $ — データストレージのカラムを参照します

  • @ — インプット変数を参照します

このチュートリアルではstorage、query、order_by、page_size、page_numberをすべて使用します。

ステップ1:アビリティの作成

Agentriaのキャンバスで新しいアビリティ(Ability)を作成します。

+ノード追加(Add Node)ボタンを使って、DB Reader(DB Reader)ノードとLLMノードをキャンバスに追加します。

ステップ2:インプット変数の宣言

インプットノード(Input Node)をダブルクリックして、ノードエディター(Node Editor)を開きます。

このチュートリアルで使用するストレージは顧客データで、以下のカラム構造を持ちます。検索に使用するカラムに合わせてインプット変数を宣言します。

変数名

型

説明

name

String

顧客名

phone

String

電話番号

grade

String

顧客グレード

memo

String

メモ

ステップ3:DB Readerノードの設定

DB Readerノードをダブルクリックして、ノードエディターを開きます。

DB Readerノードは以下のオプションを提供します。

オプション

必須

説明

storage

必須

照会するストレージの選択

query

任意

検索条件式(カラム・演算子・変数をクリックで組み合わせ、直接入力も可能)

order_by

任意

検索条件で絞り込んだデータを並べ替え。インデックス(Index)が設定されたカラムのみ選択可能で、複数条件を登録した場合は登録した順に優先適用される

page_size

任意

一度に取得できるデータ件数(デフォルト:10、最大値:100)

page_number

任意

読み込む特定のページ番号。ページはpage_size基準で分割される(デフォルト:0)

このチュートリアルではstorage、query、order_by、page_size、page_numberを設定します。

ストレージの選択

ストレージ選択ボタンをクリックすると選択画面が開きます。顧客データが入ったストレージを選択します。

検索条件の記述

query入力欄でカラム・演算子・変数をクリックで組み合わせて条件式を作成します。名前で検索する場合は、カラムでname、演算子で==、変数でnameを選択します。直接入力する場合は、以下のように入力することもできます。

複数の条件を組み合わせることもできます。すべての条件を満たす必要がある場合はANDで、いずれか一方を満たせばよい場合はORで条件をつなぎます。

条件が複数ある場合は、()で囲んで組み合わせの順序を指定することもできます。以下は、名前または電話番号が一致し、かつグレードも一致するデータを照会する例です。

並べ替え条件(order_by)の設定(任意)

検索条件で絞り込んだデータを特定の順序で並べ替えたい場合は、order_byに並べ替え基準を追加します。並べ替え基準として選択できるカラムはインデックス(Index)が設定されたカラムに限られ、カラムごとに昇順または降順を選択できます。

並べ替え条件を追加リンクをクリックすると、条件を複数登録できます。この場合、並べ替えは登録した順に優先順位を持ちます。まず最初の条件で全体を並べ替え、その値が同じで順位が決まらないデータ同士のみ、2番目の条件で再度並べ替えます。3番目の条件があれば、同様に2番目の条件まで値が同じデータ同士だけを、さらにもう一度並べ替えます。

例えば、並べ替え条件をgrade(昇順)→name(昇順)の順に登録したとします。

  1. まず全体をgrade基準で並べ替えます。

  2. gradeの値が同じ顧客同士は順位が決まっていない状態なので、その中でのみname基準で再度並べ替えます。

  3. gradeの値が異なる顧客同士にはname条件は適用されず、1で決まったgradeの順序がそのまま保たれます。

結果として、グレードごとにまとまった状態で、同じグレード内では名前順に並んだデータを得られます。

ページ設定

オプション

値

説明

page_size

10

一度に照会できる最大件数

page_number

0

最初のページ(0から開始)

page_sizeは最大100まで設定できます。100件を超えるデータを照会するには、page_numberを1つずつ増やしながら繰り返し照会する必要があります。page_sizeとpage_numberをインプット変数として受け取り、ループノードで繰り返し呼び出します。返された件数がpage_sizeより少なくなった時点が最後のページなので、そこで繰り返しを終了します。

このとき、すべてのページを集めてからまとめて処理するのではなく、ページを取得するたびにその場で処理する方法を推奨します。データ全体をメモリに溜め込むと、件数が多い場合にパフォーマンスの問題が発生する可能性があります。

ステップ4:LLMノードの設定(任意)

照会したデータを自然な案内メッセージとして出力するために、LLMノードにプロンプトを設定します。LLMノードをダブルクリックしてノードエディターを開き、システムプロンプト(System Prompt)に以下の内容を入力します。

LLMノードは任意です。省略する場合は、DB Readerノードのアウトピンをアウトプットノードのインピンに直接接続します。

ステップ5:アウトプットノードの設定

アウトプットノード(Output Node)をダブルクリックして、ノードエディターを開きます。アウトプット領域(Output Section)に以下の変数を追加します。

変数名

型

result

String

LLMノードのアウトプット変数outputを、アウトプットノードのresultにドラッグ&ドロップ(Drag and Drop)でバインドします。

エッジを接続します。

  1. インプットノードのアウトピン → DB Readerノードのインピン

  2. DB Readerノードのアウトピン → LLMノードのインピン

  3. LLMノードのアウトピン → アウトプットノードのインピン

ステップ6:Run Test

キャンバス右下のRUN TESTボタンをクリックします。

nameの入力欄に照会したい顧客名を入力して実行すると、該当する顧客情報が出力されます。

次のステップ

🎉 おめでとうございます! Agentriaを使って「顧客データ照会」ワークフローを完成させました。

複数の検索条件を組み合わせたり、照会結果をDB Updaterノードに渡して編集するワークフローへ発展させることができます。

Agentriaは、アイデアを現実に変える可能性の空間です。

あなたのアイデア次第で、ワークフローは無限に広がります。

  • 他のノード活用例が気になる方は 🔗ノードの使い方 ページをご確認ください。