HULFT Squareで作図AI EraserのAPIと繋いでみた



# はじめに

こんにちは。すぎもんです。:hugging:
今回は、作図AIサービスEraser AIのAPIを使ってみます。

作図AIサービスEraser AIに興味がある方や、 HULFT Squareをご存じの方はもちろん、HULFTやDataSpiderの名前は聞いたことがあるけれど、HULFT Squareはまだ知らないという方も、是非ご一読ください！


# 今回やること
**HULFT SquareでEraser AI のAPIと繋ぎ、組織図を作ります。**
・今回作成する処理の構成は下記になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/21ed5b02-ffad-2297-2f61-77e21f88d0c6.png)

・HULFT Squareで作成するスクリプトは下記のようになります。
（とてもシンプルなスクリプトになります:relaxed:）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/7e0e0cc1-0fa0-4f88-94a4-08cd896fb12e.png)


# 作成手順
**１.事前準備**
　　①Eraser AIのAPI機能を利用できるプランの契約
  　　②Eraser AIのAPIトークンの発行
    　　③プロンプト情報の作成
     　　
      
**２．HULFT Squareの設定**
　　④プロンプト情報をストレージに格納
　　⑤コネクションの作成
  　　⑥プロジェクトとスクリプトの作成
    　　⑦POST実行の設定


# 1.事前準備
**①Eraser AIのAPI機能を利用できるプランの契約**

まずは、下記公式サイトを確認し、APIを利用できるプランを契約します。
※API機能利用可能なプラン：Professional、Business

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/4428c2e8-44c9-d19e-fff8-16796f4a7727.png)


**②Eraser AIのAPIトークンの発行**
下記のサイトよりEraser AIのAPIトークンを発行します。
https://app.eraser.io/dashboard/all

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/69a87edb-157f-3f79-41b6-2eb9e69502fe.png)

**③プロンプト情報の作成**
③－1：下記のURLリンクをクリックしてEraser AIのAPIリファレンスを開きます。
今回はForm Prompt（GenerateGTP）のAPIを使用します。
https://docs.eraser.io/reference/generate-diagram-from-prompt

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/8d2735a3-a66e-8210-6c30-3885f6940b9f.png)


③ー２　組織図を作図してもらうための自然言語プロンプトは下記です。:point_down:　
　　　　コーピしてください。



:::note info

The CEO of this company is Taro Yamada. Please put a red star next to his name. This company has four departments.

The name of the first department is Corporate Planning Office.

The leader of this department is Ichiro Tanaka. Please put a pink star next to his name.
He has three subordinates:
Yujiro Koike (blue moon)
Shoko Miyata
Asami Fujita
The second department is the Development Department.

The leader of this department is Jiro Nakamura.
He has two subordinates:
Hanako Sato
Hiro Suzuki
The third department is the Sales Department.

The leader of this department is Kenichi Shibuya. Please put a yellow star next to his name.
He has three subordinates:
Kazuya Morimoto (blue moon)
Noboru Takahashi (blue moon)
Hiroshi Miyazaki
The fourth department is the IT Department.

The leader of this department is Tomoyuki Sano. Please put an orange star next to his name.
Additionally, there are specific roles within the company:

Authorization Approver (cyan diamond) -> CEO Taro Yamada (red star)
Key person (cyan diamond) -> Ichiro Tanaka (pink star)
Decision maker (cyan diamond) -> Tomoyuki Sano (orange star)
Evaluator (cyan diamond) -> Kenichi Shibuya (yellow star)
Lastly, some individuals have specific notes:

Yujiro Koike (blue moon) -> Often asks about license destinations (purple oval)
Noboru Takahashi (blue moon) -> Often asks about product features (purple oval)
Kazuya Morimoto (blue moon) -> Frequently attends meetings (purple oval)
Please draw a flowchart of this company, including the CEO, department names, leaders, and their subordinates, as well as the specific roles and notes mentioned above.
:::


補足：自然言語の内容を和訳すると下記になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/c718493e-044d-2a91-d41e-e538783a3e9c.png)

※Eraser AIは海外製のサービスであり、日本語で書いたプロンプトも実行できますが、英語で書くとイメージ通りの画像が生成してくれることがあったので、今回は英語で記入しております。

:::note info
APIリファレンスでプロンプト情報を入力します。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/b74eed86-e494-168b-7192-21de827a374f.png)


③－３：③ー２の⑤でコーピした内容を任意のファイルに貼り付けて、JSON形式のファイルに保存します。
※私はファイルの名前を「generate image input_組織図.json」に設定しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/38879e10-89c8-c5aa-c104-dde6f5efe37f.png)




# ２．HULFT Squareの設定
**④プロンプト情報をストレージに格納します**

:::note info
HULFT Squareの画面に、「ストレージ＞ファイルをアプロード」をクリックして、
③ー３の手順で作成したJSONファイル（プロンプト情報）をストレージにアップロードします。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/8ca32c9a-0031-d18f-de93-28cbeed24ade.png)

ファイルのアップロードが終わったら、ストレージの配下に表示されるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/b1eccfe9-50d3-da5a-3afe-4bd08adff48d.png)





**⑤コネクションの作成**

:::note info
「DATA INTEGRATION」＞「コネクション」＞「新規追加」をクリックし、
  コネクターで「REST」＞「REST接続」を選択して「次へ」をクリックします。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/a292e9a8-3be0-5a1f-b5e5-e42cdc8f58b7.png)


:::note info
コネクションの「名前」を設定して「次へ」をクリックします。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/e79faeec-4b50-4a08-15b8-a8652937eea7.png)

:::note info
Eraser AIの「URL」を設定し、「接続テスト」を行い、Eraser AIと接続できることを確認します。
※【接続テストに成功しました】の後に、「次へ」をクリックして進みます。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/331e4c91-48cb-3250-2baa-75286f35bc17.png)

:::note info
接続テストを行うには「Integrateサービス」と「プロファイル」を選択します。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/5dee3efd-3410-8e95-9ee6-06a3c92625c8.png)

「接続テストに成功しました」が出てきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/20c61d0e-c78e-bb01-a5d3-c970068aab13.png)

これでREST方式でHULFT Squareから接続するためのコネクションが作成できました。:point_down:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/3605c25d-5faf-4774-fbe5-f290ade1ff21.png)


**⑥プロジェクトとスクリプトの作成**
データ連携のスクリプトを管理するために、まずはプロジェクトを作成します。

:::note info
「DATA INTEGRATION」＞「プロジェクト」から「＋プロジェクトを作成」を押します。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/14d7a4d9-2621-ee05-e2c3-19e3abb6b413.png)

:::note info
プロジェクトの「名前」：Eraser AI_test
「ワークスペース」は「Personal」（個人用）にしました。
「スクリプトの作成」に✓を入れ、「スクリプト名」をEraser AIにしました。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/e5cf13ea-824a-4aef-6d50-9135f4a70d3f.png)


下記の通り、ポップアップ画面が表示されます。

:::note info「プロファイル」「Integrateサービス」
「プロジェクトのバージョン」を選択し、「デザイナーを起動」を押下して、デザイナを起動します。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/a517691f-e9a1-ef9c-dcc8-0a3cd4161814.png)


デザイナ画面を起動したら、作成したプロジェクトとスクリプトは「プロジェクトエクスプローラ」の下にツリー構造の形で表示されます。

:::note info
スクリプト「Eraser AI」を左ダブルクリックします。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/6ede850d-b7bf-acf4-091a-0b33166adf7f.png)



下記通りの画面が開かれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/96610cc2-6551-4e1a-bef8-2355a96c432e.png)

:::note info
下記手順のように「ツールパレート」から「POST実行」アイコンを真ん中のほうに貼り付け、「POST実行処理」の設定画面を開きます。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/3f29f827-9b40-069b-86fb-c7f1c416ddff.png)



:::note info
「POST実行処理」の設定を進めましょう～
 まず「必須設定」タブの設定は下記通りになります。  
接続先：「コネクションの作成」で作成したコネクションを選択します
パス：「Form Prompt（GenerateGTP）のAPI」のパスを設定します

:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/34cb0f1c-e997-ebde-0f0f-d4b8d6afd0e4.png)




次に「リクエスト設定」のタブを設定します。
※組織図のプロンプト情報（jsonファイル）をリクエストとして設定します。

:::note info
「参照」を押して、事前にHULFT Squareのストレージに格納されているプロンプト情報「generate image input_組織図.json」ファイルを選択します。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/1468bda8-b94a-0d30-6e6b-096c41cb6d6d.png)

:::note info
続けて「レスポンス設定」のタブをクリックして、
生成した画像の格納先を設定します。
拡張子「.png」を終わりにした任意のファイルパスを設定します。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/00dcb4b2-3f55-2365-6f1f-cceb99cc116f.png)

:::note info
最後に、「ヘッダ設定」の設定です。
下記通りに、リクエストヘッダの「名前」と「値」を設定して、「完了」をクリックします。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/a5ff2b03-ee3e-df04-ee25-af9758d1c6a5.png)

:::note info
「完了」をクリックしたらスクリプトが完成します。とてもシンプルなスクリプトになります。
次に蜘蛛マークのような「テスト実行ボタン」アイコンをクリックして、テスト実行をします。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/7b3d860b-1535-26c1-8bb8-1380b7efe5ae.png)

:::note info
「スクリプトの実行に成功しました」のポップアップ表示が出てきます。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/94575e33-00ba-c5c5-2caf-137b0726ef72.png)


# テスト実行結果の確認
「サービス」＞「ストレージ」の配下に、ファイル書込みで指定した「picture_output組織図.png」が出力されているのを確認できます。

:::note info
「ダウンロード」を押して、出力されたpngの画像を確認します。
:::
    
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/fec9f406-f8dc-e758-b367-3cf9980eedda.png)

:::note info
組織図が生成されました！:sunny:
プロンプトで指定した各部門と所属するメンバー、注記なども含めて組織図が生成されました！
:::
![①組織図（パワーストラクチャー）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/61a0b2a5-98f5-5d92-b79c-6888682c9446.png)

# 最後に

いかがでしたか？今回はHULFT SquareからRest接続でEraser AIのAPIと繋いて組織図を生成しました。他にもいろいろな画像を生成することができますので、ぜひHULFT Squareと作図AI Eraserを活用して、より皆様の作図作業、業務負担を減らしていただけると幸いです。

このブログでは、今後も様々なTopics記事や接続検証等、皆さんの役に立つような記事を投稿していきたいと思います！
これからも是非チェックいただき、宜しければフォローをお願いします。
最後まで読んでいただきありがとうございました！それでは、また！