久しぶりのオープンソースノーコードレビューです。今回はワークフローツールの「Activepieces」を使ってみます。
オープンソースなローコード、ノーコードまとめ(2023年版)
公式サイト | GitHub | ドキュメント | ライセンス MIT
ノーコードのワークフローツールで有名なのは「Zapier」ですね。その他にも以前にご紹介した「n8n」も同じくノーコードのワークフローツールになります。
特長
フロービルダー
コードを使用しないユーザーでもシンプルで使いやすいように設計されています。
統合サービス
連携可能なサービスはGoogle Sheetsから、Discord、RSSにOpenAI等、172個(公式サイトによる)あり、今も増え続けているようです。
コミュニティテンプレート
コミュニティ テンプレートを使用すると、インスピレーションが得られ、すぐに自動化を簡単に構築できます。
あと、すべてではないですが、一応日本語対応されています。
サービス
オープンソースでオンプレミスでもサービスできますが、Activepiecesのクラウドサービスもあります。
ただ、オープンソース版は1ユーザーのみでしか利用できず、複数ユーザー使う場合はPro版の扱いになるのがちょっと微妙なところです。オープンソースなので嫌なら自分で何とかしろということかもしれないですが。
インストール
推奨されれるインストール方法はDockerイメージからのインストールのようです。今回は、先日セットアップしたCasaOS上のアプリとしてインストールしてみました。その他のインストール方法はこちらをご参照ください。
RaspberryPiにパーソナルクラウドOS「CasaOS」を導入する
1.アプリ用のフォルダを作成
CasaOSでインストールしたAppStoreのアプリをみていると、インストールしたアプリのデータはRoot/DATA/<アプリ名>
の下に配置するようです。同じように「Activepieces」のフォルダを作成し、コマンドにあるDockerで使用するフォルダと同じように構成します。
CasaOSにアクセスしてFilesをクリックします。
AppDataをクリックします。
右クリックで「新規フォルダ」から「Activepieces」というフォルダを作成します。
2.インストールパラメーターを設定
カスタムアプリのインストールをクリックします。
設定にインストールのパラメータを入力していきます。設定するパラメータは公式サイトのコマンドを参考にしました。
Activepieces - Get Started Docker
docker run -d -p 8080:80 -v ~/.activepieces:/root/.activepieces -e AP_QUEUE_MODE=MEMORY -e AP_DB_TYPE=SQLITE3 -e AP_FRONTEND_URL="http://localhost:8080" activepieces/activepieces:latest
Dockerイメージ
activepieces/activepieces:latest
タイトル
Activepieces_review
CasaOS上でのアプリ名になります。適当に好きな名前を付けてください。
WebUI
ポート番号だけ設定します。手元の環境の8080は使用済みだったので、8081を設定しました。
ポート
ホスト:8081<WebUIと同じポート>
コンテナ:80
ボリューム
ホスト:/DATA/AppData/<1.で作成したフォルダ名>/.activepieces
コンテナ:/root/.activepieces
環境変数
AP_DB_TYPE : SQLITE3
AP_FRONTEND_URL : http://<IPアドレスもしくはホスト名.local>:<WebUIと同じポート>
AP_QUEUE_MODE : MEMORY
3.インストールをクリック
しばらく待つとインストールが終わります。
クリックするとアプリが起動します。
セットアップ
アプリを開いた初回はアカウントの作成を促されます。
アカウントを作成すると、いよいよActivepiecesが使えるようになります。
ワークフローを作ってみる
Googleフォームからの問い合わせが来たら、問い合わせの内容をもとに返信文章をOpenAIのGPT-4に生成させて、メールで返信を行うまでを自動化してました。現実的には、生成AIの文章を完全に信頼して送信するのには不安が残りますが、今回はサンプルということで気にしないものとしました。これも使い方次第だと思うので、問い合わせフォームの方で回答方法を絞ったり、限定したりすればそれほど心配しなくても使えるかもしれません。
作成したワークフロー
あらかじめ、Googleフォームの設定でフォームから問い合わせが来たら、GoogleSheetに行が追加されるようにしておきました。ActivepiecesからはGoogleSheetの行の追加をトリガーにワークフローを実行します。追加された行の情報を取得して、次の「Concatenate」でプロンプトを組み立てます。組み立てたプロンプトを「Ask ChatGPT」の入力に入れ、その結果とGoogleSheetから最初に取得したメールアドレスを使ってGmailで返信します。
実行する
送信をクリックするとフォームが送信されて、作成したワークフローが実行されます。作成したワークフローは5分ごとにGoogleSheetをチェックするため、返信までに若干のタイムラグがありますが、今回の例ではそれくらいの時間差があった方が違和感がなくてちょうど良いかもしれません。
ダミーの情報でお問い合わせフォームを送信してみます。送信したお問い合わせ内容は以下の内容です。
お問い合わせ内容
ご担当者様 突然のご連絡恐縮です。 HPを拝見して、ご連絡させていただきました。 弊社はレンタルオフィスのサービスを提供しており、 そのサービスの一つとしてIoTと画像認識を利用した空室状況をインターネット上からリアルタイムに確認できるサービスを展開したいと考えております。 一度、オンラインミーティングにて具体的なお話をさせていただきたいのですが、ご都合の良い日程を教えていただけますでしょうか。 よろしくお願いいたします。
しばらくすると、返信がきました。
本文は下記のとおりです。なかなか良さげです。あまり工夫をしていないので勝手にミーティングの日程を決められてしまっていますね。
ピロロンレンタルオフィス株式会社 広田様
お問い合わせいただき、誠にありがとうございます。WASP株式会社のGPT-4と申します。
大変興味深いご提案をいただき、心より感謝申し上げます。弊社もIoTと画像認識を利用した新たな空室確認サービスについて、詳しくお話を伺うことを楽しみにしております。
オンラインミーティングにつきまして、以下の日程で如何でしょうか。
1. 6月28日(月)13:00~
2. 6月29日(火)16:00~
上記の中からいずれかご都合のよろしい時間をお選びいただければ幸いです。また、その他の日程にご都合がよろしければ、その旨もご連絡いただけますと幸いです。
なお、ミーティングはZoomを用いて行う予定です。ご都合の良い日時が決まりましたら、該当するミーティングIDを送付いたします。
お忙しいところ恐縮ですが、ご回答の程、よろしくお願い申し上げます。
WASP株式会社
お問い合わせ窓口 GPT-4
まとめ
初生成AIを取り込んだノーコードプロジェクトを作成しました。今回の使い方はそのまま流用しにくいと思いますが、工夫次第で結構実用になるシーンもありそうです。
今回はOpenAIを使って文章を生成しましたが、ActivepiecesではローカルAIも利用できるようです。上手くすれば、過去にご紹介したELIZAのLlamaも使えそうです。
Orange Pi 5で「ELYZA-japanese-Llama-2-13b」を動かしてみた
OpenAIの生成する文章は精度が良いのですが、APIの利用には費用がかかる点と、社外に内部情報を渡さなくてはならない点が気になります。特に今回のようなタスクは、ローカルAIで処理させたいところです。ローカルAIはまだ試せていませんが、うまく動けばまたご報告したいと思います。
LocalAIをワークフローにつなぐところ、まだ試せてはいない。