
NocobaseとGPTsを連携させてデータ入力系の作業効率アップができないか調べる
社内の業務ツールとしてNocodeツールのNocobaseを使用しています。
在庫管理や人事管理、特定の業務フローに合わせたプロセス管理、顧客情報を一元管理など、いろいろな用途に使用できます。
今回はこれにGPTsを組み合わせてフローを構築し、効率化できないものか調べていきたいと思います。
※ ChatGPTはenterpriseを使用
現状、データ登録の業務にNocobaseを使用することが多いので、その業務のユースケースを考えてみます。
使用できそうなユースケース
データ登録系のユースケースとして以下のようなことがありそうです。
- ユーザーが自然言語で入力した情報を構造化データに変換し、NocoBaseに登録
- ユーザーが「新しい従業員、名前は田中太郎、部署は特撮部」と入力すると、GPTがこれを解析して従業員情報として登録する
- GPTが登録される前のデータをチェックし、不正確な情報やフォーマットエラーを修正
- 名前や住所の誤字脱字を修正したり、重複のチェックをしたりする。
- GPTが外部ソース(Webサイト、APIなど)やアップロードしたファイルから必要な情報を収集し、自動でNocoBaseに登録
- API経由で最新の商品情報を取得して管理システムに反映
- GPTがCSVやその他フォーマットの大量データを解析・整形し、一括でNocoBaseにインポート
- 複雑なフォーマットのCSVファイル(例えば異なる列順や欠損値あり)をGPTで整形してインポート可能な形式に変換する
- そのデータをワークフローにして回す
実際に登録まではせず、登録前の準備作業の時間を大幅に削減することもできると思っています。
GPTsからNocobaseにアクセスするには?
NocobaseにはAPIが用意されているので、GPTsから登録したり参照したりするにはAPIにアクセスできる必要があります。
GPTsでは、GPTを通じた情報の取得やChatGPT外でのアクション実行を可能にする機能が搭載されています。
このアクションを使ってNocobaseのAPIにアクセスできるように設定しないといけません。
- 認証
- なし,API キー,OAuth から選択する
- スキーマ
- OpenAPIのスキーマ を入力します
- ワークスペースで許可されているドメイン
- ここで表示されているドメインに対してにしかGPTからアクセスできませんでした - プライバシーポリシーのURL
- 公開するGPTsでは必須
(例1)Nocobaseの特定のコレクションのデータを取得する
従業員の所属会社のデータを取得できるようなアクションを登録してみます。
/{collection_name}/:list?<<パラメーター>>
にアクセスすると登録されているレコード一覧が取得できます.
NocobaseのAPI認証はAPIキー(Bearer)です。
スキーマの作成ですが、nocobaseのAPIから定義書を作る必要があるのですが、手で作るのは面倒ですので、
ActionsGPT からヘルプを取得する
をクリックし、専用のGPTで作ってもらいます。
以下のプロンプトで作ってもらいました
https://hogehoge.example.com/api/m_companies:list?pageSize=20&page=1&filter=%7B%7D&sort=&fields=&appends=&except=
このAPIで、OpenAPI 3.1.0を使用してYAML定義書を生成してください。
filterパラメーターはオブジェクトです。
出来上がったものをコピーして貼り付けます。
構文エラーなどなければ、このように表示されます。
テストする を押すと、リクエストのテストをここで行います。
右のプレビュー画面にリクエストの結果が表示されます。
※ エラーの場合もエラーメッセージなどが表示されます。
(例2)Nocobaseの特定のコレクションにデータを登録する
取得ができたので今度は登録を試します。
/{collection_name}/:create にRequest bodyを付与してアクセスすると登録できます。
スキーマ以外は例1と同じです。
例1と同じく、ActionsGPT からヘルプを取得する
をクリックし、専用のGPTで作ってもらいます。
paths: 以下の内容をコピーし、例1で作ったスキーマに追記します。
利用可能なアクション に追加したAPIのパス情報が表示されます。
テストする を押すと、リクエストのテストをここで行ってみます。
成功すると右のプレビューに作成したデータはこれです みたいなメッセージが表示されます。
今回はID15で、テスト会社 が追加されたようです。
例1で作ったリクエストをテストしてみると、
テストで追加されたデータが返ってきましたね。
一連の流れで試す
アクションを作成したので、GPTsの他の設定もしていきます、
例えば、指示に以下を追加します
アクションを使いユーザーが入力した会社を以下の条件なら登録してください。
- 既存の会社データと重複しない
すでに登録されている会社を入力してみると
このようにチェックをしてくれました。
登録されていない会社名だと
登録用のAPIも実行されました。
複数登録対応のため以下の指示も追加してみます。
- カンマ区切りの場合は複数の会社を示します
- 例) 株式会社運命の一劇,STスルー株式会社
いけますね。
CSVファイルをアップロードし、その中身も登録してもらってみます
追加の指示
- CSVファイルがアップロードされた場合、その中身を参照して登録してください
アップロードするCSVはこんな感じにしてみます。
名前,URL,住所
テクノロジー株式会社,,
ハンターカンパニー,https://hunter.ai,
有限会社ラーメン一番,,
これもいけましたね
GPTsのアクションからnocobaseのAPIにアクセスする設定を作ってあげれば、自然言語を使って登録もできそうです。
CSVアップロードもできるので、コードインタープリターでより細かなこともできそうですね。
単純な登録作業は全て置き換えれそうですし、登録データの作成にとどめることから始めてもよさそうです。