HapInS Developers Blog

HapInSが提供するエンジニアリングの情報サイト

ノーコードとAIであのサービスを再現してみた【動画付き】

完成した動画

まずは完成したこちらをご覧ください。

youtube.com

ノーコードも技術が進歩してきており、さらにAIが追い風となっているように感じます。

今回は、名刺をスキャンしノーコードとAIでその文字を識別して管理までできるようにしました。

主に使用したツールは自動化ツールMakeとLINE公式・ChatGPTになります。

実装方法のご説明

LINE Watch Eventsの設定

まずLINE公式では、Messaging APIを使用します。 LINE Watch Eventsでは、Webhookが発行されますので、それをコピーして「Messaging API設定」のWebhook URLに入力して検証します。 MAKEではRun Onceで起動している時に検証を行ってください。

以前の記事でも紹介していますのでこちらを参考にしてみてください。

blog.hapins.net

Download a Message Attachmentの設定

次にLINEに送信した画像を読み取ってほしいのでDownload a Message Attachmentを設定します。 Message IDにはEvents[]:Message.Message IDを入力します。

Google Cloud Vision

次はその画像をOCRで文字起こしをしたいのでRun Text Detection (OCR) within an Imageを設定します。

設定にはAPIキーが必要なのでgoogle cloud でアカウント登録をします。

いくらかのクレジットを無料利用することができるので、無料トライアルでお試しください。

APIでCloud Vision APIを検索し「有効にする」で設定してください。

認証情報のページへ遷移し、「認証情報を作成」からAPIキーを作成してください。

APIキーをコピーしてmakeに戻ります。

APIキーをペーストすればコネクションは完了です。

Fileは前のモジュールのLINEに設定されているはずなのでそのままにして設定は完了になります。

ChatGPTの連携

ChatGPTのコネクションの設定も以前の記事で紹介しております、参考にしてください。 blog.hapins.net

Messageの設定ではRoleをSystemにし、下記のようなプロンプトを設定します。

あなたは、名刺の情報を入力する業務のアシスタントです。
続くチャットで、名刺を読み取った結果のテキストを渡すので、情報を分類して、最終出力フォーマットに従って出力して下さい。

#用意してほしい変数
*{name}
*{company_name}
*{post}
*{mail_address}
*{phone_number}

#テキストデータから抽出・分類してほしい情報と格納先の変数(この情報は決して出力しないで下さい)
*名前 =>{name}
*会社名 =>{company_name}
*役職 => {post}
*メールアドレス => {mail_address}
*電話番号 => {phone_number}

#最終出力フォーマット(下記の変数に値を代入し、そのまま出力して下さい。他の情報は一切出力しないで下さい。)

$${
"name" : "{name}",
"company_name" : "{company_name}",
"post" : "{post}",
"mail_address" : "{mail_address}",
"phone_number" : "{phone_number}"
}

Parse JSONの設定

JSON のParse JSONで文字を識別します。

last ( split 3. Choices []: Message. Content
; $$ ) )

Google スプレッドシートを連携

Google スプレッドシートを連携し、識別した文字を設定したヘッダーごとに並べます。

LINEで結果を返信

LINEで結果を返信し、スプレッドシートでも確認できるようにします。

いかがでしたでしょうか。 今回はスプレッドシートに保存しましたが、AppSheetやSalesForce・Notionなどにデータを格納することも可能です。 ノーコードとAIで実装できる幅がだいぶ広がってきたように感じましたので色々と発信していきたいと思います。

またHapInSではノーコードでもアプリ・システム開発を積極的に行っていますので、 もし興味がある方は一度ご連絡ください。 デモアプリなどご紹介が可能です。