株式会社microCMS
🤖

【GPTs】microCMSのヘルプを利用するカスタムAIを作成した

2023/11/13に公開

はじめに

こんにちは、株式会社microCMSでカスタマーエンジニアをしているシンハラです。

株式会社microCMSはヘッドレスCMSとよばれる、フロントエンドの部分を持たないCMSを提供しているサービスで、現在7,000社を超える企業さまにご利用いただいてます。

普段の業務として、microCMSの仕様に関する質問にお答えする場面が多数あるのですが、お問い合わせが重なった場合のレスポンスの遅れなどが課題となっていました。

ChatGPT登場当初から、チャットサポートへの活用方法を模索していたのですが、今回手軽に作ることができるGPT Builderが登場したため、試しに作ってみることとしました。

成果物

URL

https://chat.openai.com/g/g-cBhfSUu3x-microcms-support-ai

注意点

  • ご利用にはChatGPT Plusのご契約が必要となります。
  • こちらのURLでの回答については、内容が正しいことは保証されません。参考までにご利用ください。
  • こちらのURLは予告なくクローズされることがあります。

回答例

回答例1
回答例2
ほぼ文句のない内容です・・!
一方でリンクのURLが、関連していないURLになっていたりするケースはあるので、こちらは引き続き調整を行いたいです。

設定内容

大枠の手順について

他のZennユーザーの方が解説されている記事が既にあります。まずはそちらで概要を把握することをお勧めします。
https://zenn.dev/umi_mori/articles/gpt-builder-how-to-start

利用するデータについて

microCMSでは、ヘルプのコンテンツをHubSpotというCRMツールの中で管理しています。
今回はこちらの登録済みヘルプから、質問、回答、URLの3点を収集し、以下のようなJSONファイルを作成しました。

microcms_faq.json
{
  "faq": [
    {
      "question": "お問い合わせフォームはどのように実装しますか?",
      "answer": "以下の2つの方法が考えられます。外部のフォーム作成サービスを利用するGoogleフォームやHubSpotなどの外部サービスを利用すると、コードを埋め込むだけで、問い合わせに利用可能なフォームを簡単に作成できます。microCMSのPOST APIを利用して、問い合わせフォームを作成するmicroCMSにはPOST APIを利用しますと、管理画面外からmicroCMSへのコンテンツ登録が可能ですので、この機能を利用して問い合わせフォームを作成することが可能です。以下に実装の参考記事がございますので、ご確認ください。▼ microCMSとZapierでお問い合わせ機能を実装するhttps://blog.microcms.io/nuxt-contact-zapiermicroCMSの管理画面は、問い合わせ情報の管理には最適化はされておりません。問い合わせ件数が多く、細かい管理が必要な場合は、この方法は適さない可能性があります。",
      "url": "https://help.microcms.io/ja/knowledge/contact-form"
    },
    {
      "question": "サイドバーのAPIを意図した位置に並び替えできない",
      "answer": "恐れ入りますが、既知の不具合になります。本事象の背景APIの並び順の計算にあたっては、並び替えに利用するためのタイムスタンプをソート値として、APIごとに保持しています。APIを移動した際は、前後のAPIのソート値の中間の値を計算して、上書きする処理となります。そのため、大量に並び替え操作を行った場合、ソート値が前後のAPIで同じ値となってしまい、意図しない位置にデータが挿入される場合があります。一時対処について一時対処としては、APIの位置を先頭に並び替えることで、ソート値をリセットすることができます。そのため全てのAPIに対して、下から並べたい順に並び替えを実施することで、APIを意図した順番に並びかえることができます。また、その後の並び替えも正常に実施することが可能となります。その後、再度大量の並び替え操作を実施した場合は、同様の事象が発生する可能性があります。本不具合に関しては、引き続き改善方法を検討していきます。",
      "url": "https://help.microcms.io/ja/knowledge/cannot-reorder-apis"
    },
    ...
  ]
}

具体的なデータの取得の方法については、割愛しています。
こちらのデータの利用方法については、後続のセクションにて指示します。

指示文について

GPT Builderでは、チャットでの振る舞いを指示することが可能です。
こちらも対話形式でセッティングを行ったのですが、最終的には以下の内容が設定されています。

As the microCMS Support AI, I am expertly programmed to assist users with inquiries specifically related to microCMS. My primary role involves providing precise, detailed responses sourced from a comprehensive FAQ knowledge base. Now, in all my responses, I will always include reference URLs from the FAQs for additional context or detailed explanations, unless the information is not available in the FAQs. This approach ensures users receive not only immediate and accurate answers but also have access to the original source for further reading. My responses are in Japanese, maintaining a warm and inviting conversation style. I focus on understanding each query's context and delivering the most relevant information, prioritizing knowledge from the FAQs and supplementing it with URLs whenever possible. I also have a file named 'microcms_faq.json' as my knowledge source, which I heavily favor before using baseline knowledge or other sources.

翻訳すると以下のような内容になります。

microCMS サポート AI として、私は特に microCMS に関連するユーザーの問い合わせを支援するように専門的にプログラムされています。私の主な役割は、包括的な FAQ ナレッジ ベースに基づいて正確で詳細な回答を提供することです。さて、私のすべての回答には、FAQ で情報が入手できない場合を除き、追加のコンテキストや詳細な説明のために FAQ からの参照 URL を常に含めます。このアプローチにより、ユーザーは即座に正確な回答を受け取るだけでなく、元のソースにアクセスしてさらに読むこともできます。私の返答は日本語で、温かく親しみやすい会話スタイルを維持しています。私は各クエリのコンテキストを理解し、最も関連性の高い情報を提供することに重点を置き、FAQ からの知識を優先し、可能な限り URL で補足します。また、ナレッジ ソースとして「microcms_faq.json」という名前のファイルもあり、ベースラインのナレッジや他のソースを使用する前に、このファイルをよく利用します。

こちらの指示内容を調整していくことで、より的確な回答となることを期待しています。

おわりに

独自のナレッジベースを利用させるChatGPTの活用は、プロンプトにナレッジを含める方法や、ファインチューニングなどの手法が試されてきていましたが、まだまだ実用に耐えるものは少なかった印象です。

今回GPT Builderの登場によって、学習させるデータさえあれば、誰でも簡単に高クオリティのカスタムAIが作れるようになりました。今回の制作したものも、小一時間程度で作成することができました。

今までのChatGPTも十分に凄かったのですが、独自のナレッジと連携することで、さらにユースケースが広がりそうだと感じました。今後もより多くのデータをGPT Builderで連携させて、活用してみたいと思います。

株式会社microCMS
株式会社microCMS

Discussion