2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Node-REDAdvent Calendar 2024

Day 16

生成AIエージェントsattoとNode-REDを組み合わせた話

Last updated at Posted at 2024-12-16

はじめに

こちらの投稿内容に関する備忘録メモです。

生成AIエージェントsattoとは

ソフトバンク株式会社が開発した生成AIエージェントサービスで、2024年8月23日にベータ版の提供が開始されました。ウェイトリストへ登録し、先行ユーザーになる必要があります。

課題

sattoはショートカットキーで呼び出して生成AIエージェントのスキルを実行します。
使い方の一例です。

  • 文字列を選択してショートカットキーで呼び出す
  • ショートカットキーで呼び出してスクリーンキャプチャー(画面の画像を取得)する
  • ショートカットキーで呼び出して、文字列、または、画像を入力する

サッと呼び出してすぐに実行できるのがメリットですが、入力データと実行結果がログとして残らないため、あとで見直したり、一部を変更して再度実行するのが面倒(入力データと実行結果を手動でメモ帳へ貼り付けて残しておく必要がある)という課題があります。

いわゆるロガーの機能をスキルに組み込むという話です。

Node-REDとの連携

sattoとNode-REDを組み合わせて、Googleスプレッドシートに入力データと実行結果を記録する方法を説明します。

satto側の対応

スキル作成機能でアプリノード(REST API)を使用します。
(当初は限定されたユーザーのみがiPaaSビルダーの機能を利用できましたが、その後のバージョンアップで機能制限が解除されました。)

スキル作成画面を開き、「+」をクリックします。

スクリーンショット 2024-12-16 16.44.53.png

「アプリノード」を選択します。

スクリーンショット 2024-12-16 16.46.01.png

スクリーンショット 2024-12-16 16.46.20.png

「アプリ選択」で「カスタム」を選択します。

スクリーンショット 2024-12-16 16.46.56.png

「メソッド」→POST
「リクエストURL」→Node-REDのURL
「Header」→任意(トークンで認証させるなど)
「Body」→コンテキスト、出力結果

Node-RED側の対応

Node-REDフローの全体像です。

スクリーンショット 2024-12-16 18.32.15.png

「injectノード」と「debugノード」はデバッグの目的で、ロガーの機能としては不要です。
事前に「パレットの管理」→「ノードを追加」で以下のサードパーティノードを追加します。

  • node-red-contrib-google-sheets

使用するノードは以下です。

  • 「http inノード」
  • 「http responseノード」
  • 「changeノード」
  • 「GSheetノード」

スクリーンショット 2024-12-16 18.41.11.png

スクリーンショット 2024-12-16 18.41.43.png

1_1.png

実行結果

GaO6DzGbUAICA7o.png

GaO6FXfbUAEGvUB.jpg

さいごに

GoogleスプレッドシートをAPIとして利用できるSteinというサービスがありますが、無料アカウントだとAPIの利用回数に制限がありますので、Node-REDを使用すれば無料で制限なく利用できます。

API経由でロガーの機能は汎用的に使えるので、別のツールと連携させても良いと思います。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?