EXPLAZA Tech Blog

株式会社エクスプラザのテックブログです

GASを使用してHTMLメールを一斉送信するコード生成に特化した「営業アシスタントGPT」を作ってみた

目次

これはなに

ChatGPTの機能の一つであるGPTで、「営業アシスタントGPTs(以下「GASmail」)」を作ってみた様子をまとめたものです。

「GASmail」の機能:
・CVRの高いHTMLメールの作成
スプレッドシートのデータをもとにGASで一斉送信を自動化
を実行するためのコードを、質問に回答するだけで生成します。

できること

「GASmail」からの質問に回答をしていくことで、
・HTMLメールの作成
・画像を組み込んだHTMLメールの作成
スプレッドシートのデータを参考にして宛名を「To」で指定してメールを送る
・メールを一斉送信するためのコード(GAS)を自動生成

できないこと

このGPTから直接メールを送ったりはできないです。

GPTsとは

GPTsとは「特定の用途に合わせてカスタマイズされたChatGPT」のことです。

あらかじめ役割を与えたり、特定の指示を出したり、特定のドキュメントやwebリンクを読み込ませて独自にカスタムしたチャットボットを作成し、共有ができます。

ただ法人としての利用を検討される場合はセキュリティについては、十分注意をする必要があります。
OpenAI の公式文章には下記のような記載があります。

We built GPTs with privacy and safety in mind

As always, you are in control of your data with ChatGPT. Your chats with GPTs are not shared with builders. If a GPT uses third party APIs, you choose whether data can be sent to that API. When builders customize their own GPT with actions or knowledge, the builder can choose if user chats with that GPT can be used to improve and train our models. These choices build upon the existing privacy controls users have, including the option to opt your entire account out of model training.

-Introducing GPTs

要点:

  • GPTとのチャットはビルダー(製作者)には共有されない
  • GPTがサードパーティAPIを使用する場合は、データをそのAPIに送信できるかどうかを選択する
  • ビルダー(製作者)はGPTとのユーザーのチャットを、モデルの改善やトレーニングに使用できるかどうかを選択できる(ユーザーはアカウント全体をオプトアウトする設定にしておくことで回避可能)

このように、社内の重要な情報をGPTsに入れてしまうことがないよう、注意をする必要があります。

[宣伝]

  • セキュアな環境でのChatGPT環境の利用
  • 社内ドキュメントを読み込ませたチャットボット

に興味がある方は、ぜひ弊社プロダクトをご利用ください!

corp.explaza.jp

GPTsの作り方

① GPT Builderの立ち上げ

左側のタブから「探索する」→「Create a GPT」を選択

するとこのように左側に「Create」ページ、右側に「Preview」ページが表示されます。

② Create:作りたいものについてプロンプトを送る

「Create」ページで作りたいもののプロンプトを入力していきます。
今回は、質問をするだけで意図したHTMLメールとGASのコードを生成するようにしたいので、質問ステップを設けました。
GASでのメール送信やHTMLへのインライン画像の挿入については、ネットにある記事をいくつかピックアップして参照するように伝えます。

すると写真のように、「GPTを更新中...」という表記が出ます。
プロンプトはいつでも追加が可能で、アップデートがあると写真のような表記になります。

アップデートが完了すると、GPTの名前を提案してきます。今回はGASmailにしてくれとこちらから依頼をします。
その後、GASmailという名前で、アイコンのデザインもDALL-E 3で自動生成してくれます。
概ね良さそうなのでこのままでいきたいと思います。

Preview:プレビューで挙動を確認しながら適宜修正

挙動を確認していきます。
開始時のキーワードとして「スタート」を「Configure」で指定します。

ちょっと意図した挙動と異なりますが、一旦このままチャットを進めます。
(プロンプトのアップデートは左側の「Create」で随時可能です)

その後も質問に答えていき、HTMLとGASのコードを生成してくれました。

これだとスプレッドシートでの会社名、氏名、メールアドレスの列や開始行が誤った情報となっているので、挙動を修正するためのプロンプトをよしなに追加していきます。

④ Configure:カスタムしたGPTの説明を加える

修正が終わったら、
「Configure」の説明を記載し、公開先を設定すればGPTは完成です!

修正後、完成したGASmailとチャットを繰り返して、最終的に出来上がったコードがこちら。
特にコードについては触れておらず、あくまで自然言語で何をやりたいか伝えただけです。

HTMLメール
メール送信のGAS

HTMLメールでの画像埋め込みの知見がなくても、それっぽいものが作成できました。

メールの一斉送信も問題なく、きちんと文章の冒頭に
株式会社{◯◯}
{◯◯}様
というカスタマイズされた文章を挿入し、宛名でTo配信ができていました。

このようにGASの知見を持っていなくても、短時間でコードを生成することができるGPTが出来上がりました。

最後に

今回、複雑なシナリオに沿って回答を生成するのは、まだ難しそうでした。GPTとチャットのラリーを繰り返していく中で、使う側が情報を与えたり修正をする必要があります。
何も知見がない人でも、質問に答えるだけでコードが生成できるように修正を加えていこうと思います。

GPTはより特定のタスクやシチュエーションに応じた、チャットボットです。どんなデータを読み込ませるかによって、様々な活用ができます。
他にも面白いGPTを作成できたら、随時公開していきます。

生成AIを活用した事業展開や、チャットボットの活用に興味のある方は、
ぜひ下記までご連絡ください!

sales@explaza.jp

論文紹介『ChatGPT1周年:オープンソースLLMはChatGPTにどのくらい追いついているか?』

目次

1. はじめに

こんにちは、LLM Advent Calendar 2023 12日目の記事を担当するtiger_bigriverです。

先日、ChatGPTがリリースされてから1周年が経ち、この1年で本当に様々なことがあったと思います。 このタイミングで、オープンソースLLMがChatGPTにどこまで追いついているのかを確認できる論文をご紹介します。

論文の内容と合わせて、私の方でも調べた情報を追記した記事となります。

続きを読む

GPT-4 Turboにドキュメントのチャンク分けを任せてみる

はじめに

こんにちは、LLM Advent Calendar 2023 4日目の記事を担当する_mkazutakaです。よろしくお願いします。 LLM Advent CalendarといってもRAGの話になりますが、ご容赦ください。

企業独自のデータを使ってLLMからの出力を制御する際には、検索拡張生成(いわゆるRAG)が使われます。 RAGの実装方法としては、「PDFからドキュメント情報を読み取り検索エンジンに保存」「ユーザの入力する質問文から関連するドキュメントを検索エンジンから取得」「取得したものをコンテキストとしてプロンプトに含める」という流れが一般的だと思います。

この際、RAGの課題の一つでもあるのですが、検索結果から取得するドキュメントのサイズ(いわゆるチャンクサイズ)をどれぐらいのものにするかというものがあります。チャンクサイズが小さすぎるとLLMは関連するコンテキストから正しい答えを生成できません。一方で、チャンクサイズが大きすぎると不要な情報が含まってしまったり、検索精度が落ちたり、トークン数が多くなるため不要なお金がかかってしまいます。

このチャンクサイズを決めるには、いくつか方法があります。

  • 特定の文字数で分ける
  • 特定の区切り文字(。、,.\n)などで分ける
  • チャンクに前後の文脈を含ませる(チャンク間でテキストを重複させる)

などなど。最近だと、セマンティッククラスタリングと呼ばれる、前後のテキストの意味をもとにチャンク分けする方法も紹介されています。

というわけで、弊社でも色々試していたのですが、なんと11月にOpenAIから最大128,000トークン扱えるGPT-4 Turboが発表されてしまいました。これだけのトークン数があれば、ほとんどのPDFをまるまる渡すことができます。 となるとですが、細かくドキュメント分けるより、GPT-4 TurboにPDF内のテキスト全部渡していい感じに分けてっていえばいい感じにチャンクに分けてくれるんじゃ...というアイデアが思いつきます。

というわけで、これをやってみるのが今回の記事の内容になります。

続きを読む

問い合わせメールをChatGPTで解析してSpreadsheetとNotionに転記する方法の紹介

はじめに

こんにちは、@_mkazutaka です。
今回は、メールの内容をChatGPTで解析してSpreadsheetとNotionに転記する方法について紹介します。

背景

Explazaでは、営業の問い合わせのメールから、業界、相談者の部署、相談者の役職、導入時期、会社規模、予算、対象などのいくつかの項目を取得し、その内容をSpreadsheetに転記し、Spreadsheet上で各営業ごとのステータスを管理しています。またステータス以上の詳しい状況や実際にお客さまと話した内容等は、Spreadsheetとは別でNotionの一つのページにまとめています。

このため、メールを受け取るごとに営業チームの一人が上記の項目の整備とNotionページの作成を行っています。問い合わせ数が増えて行くごとに仕事が増えるので、ここをなんとか自動化できないかということで今回ChatGPTを使って実装を試みてみました。

続きを読む