【ChatGPT搭載】自社専用ボットの作り方3選!徹底検証

この記事では、“ChatGPT × 社内データ”のAIチャットボット3種類の比較、検証について書いています。
3種類のボットの作り方や違い、質問に対しての回答精度などについて書いているので最後までお楽しみくださいっ!

目次

ボットの開発手法について

今回、ボットは次の3つの手法で開発しました。

簡単に概要と、各要素についてまとめます!

開発手法Python + GPT3ChatBotKitDocsBot
概要OpenAIのGPT3ライブラリを利用した開発ノーコードで、チャットボットが作成できるツールノーコードでチャットボットが作成できるツール
作りやすさ
(ノーコードかどうか)
導入のしやすさ
精度
書類データ(pdf,wordなど)の読み込ませやすさ
(※要コーディング)
費用
従量課金

$25〜

$19〜

各要素について、表だけでは伝わらない内容を補足しております。

  1. 作りやすさ
    • ChatBotKit、DocsBotはともに、すでに出来上がっているサービス(いわゆるSaaS)のため、割と簡単です。
    • Python + GPT3は、インフラ構築などが必要なため面倒に感じる方もいるでしょう。
  2. 運用のしやすさ
    • ChatBotKitは、SlackやDiscordとデフォルトで連携できるため、運用しやすいです。
    • DocsBotは、WEBサイトに組み込めるウィジェット機能の実装予定があるため、将来的にはどんどん運用しやすくなるでしょう。
    • Python+GPT3は、作りやすさ同様インフラ管理が必要であり、前者2つと比較して運用コストが掛かります。
  3. 精度
    • Pythonで作ったものがもっとも高く、その他の精度が少し下がります。(当社調べ)
      検証項目なども含めて、次の見出しで詳しくお伝えします。
  4. 書類データ(PDF, Wordファイル等)の読み込ませやすさ
    • ChatBotKitとDocsBotは、GUIでポチポチしたら簡単にできます。
    • Python + GPT3の場合は、プログラミングが必要なため、やや難しいかも。
  5. 費用
    • OpenAI本家を利用した方が安くなるでしょう。

精度の検証方法と結果

今回の検証にあたり、次のような質問事項と基準を用意しました!
作成したボットは3種とも、弊社SaaSisが外部に公開している資料や一部公開してもいい社内情報を学習してます。

ボットへの入力判断基準Python + GPT3ChatBotKitDocsBot
会社の基本情報を教えてください基本情報(住所、資本金、事業内容、従業員数)を提示できているか××
製品やサービスの詳細を教えてください事業内容(SaaS連携、ChatGPT等)について触れているかどうか×××
営業時間やサポート対応時間を教えてください学習させていないので、”ない”と答えるか×
私のニーズに合った製品やサービスを提案してくださいニーズを聞く力があるか、顧客の需要を把握し提案できるか
(もう一歩)
××
英語/中国語/スペイン語で情報を提供してください日本語以外の言語でも回答できるか
(英語のみ)

(英語のみ)
×
企業/個人/パートナー企業向けの情報を教えてください学習させてないので、”ない”と答えるか××

精度の良さは次の順番でした。

  1. Python + GPT3
  2. ChatBotKit
  3. DocsBot

Python + GPT3のほうが、他2つより精度が良いという結果になりました!

実際の検証結果(スクショあり)

各ボットの回答(一部抜粋)をキャプチャしたので、貼り付けます。

3種を確認する前に、まずは本家であるChatGPT3.5を確認してみましょう!
弊社について学習させてないので以下のようになります。

ChatBotKit
うまく回答できてないですね。
情報は間違っているし、会社の基本情報(住所、資本金、事業内容、従業員数など)が出せてません。

DocsBot
こちらは必要そうな情報を、分けて表示している!
ものすごくホスピタリティがあっていいのですが大外れ……!
山田太郎さん……だれやねん!?笑
設立年2010年……そんな古くない!
しっかり学習させているはずなのですが……

Python + GPT3
query()という関数で、質問を入力した場合は、成功! したのですが、どのファイルを参考にしたのかを表示しようとすると、なぜか英語で返答されてしまいます。

各ボットの回答を確認して、GPT3系を使っているため、精度がいまいちな場合があるのかなぁと。
GPT4を使って精度が上がるのであれば、コンサルや営業をボットに置き換えられるかもしれないですね
ツール自体は、GPT4に対応しているので、APIキーを取得でき次第、再度実験したいと思ってます。

今回開発したPythonプログラムについて

プログラムを以下に記載しておきます。
お好きなインフラ環境でスクリプト実行すると、質問に対しての回答が返ってきます。
次の2つに関しては、ご自身の環境に合わせて変更しご利用ください。

import os

# APIキー
OPENAI_API_KEY = "your-APIKEY"  #@param {type:"string"}
os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY

# 学習させるPDFの格納先
PDF_DIR = "/your/path/to/directory/"

import glob
from langchain.document_loaders import UnstructuredPDFLoader
from langchain.agents import initialize_agent, Tool
from langchain.llms import OpenAI
from langchain.indexes import VectorstoreIndexCreator
from langchain.embeddings import HuggingFaceEmbeddings
from langchain.text_splitter import CharacterTextSplitter
from gpt_index import LangchainEmbedding
from gpt_index import GPTSimpleVectorIndex, SimpleDirectoryReader
from gpt_index.indices.prompt_helper import PromptHelper
from gpt_index import download_loader

tools = []
files = glob.glob(PDF_DIR + '/*')

# 日本語モデル埋め込み
embedding = HuggingFaceEmbeddings(
    model_name="oshizo/sbert-jsnli-luke-japanese-base-lite"
)

loaders = [UnstructuredPDFLoader(f) for f in files]

index_creator = VectorstoreIndexCreator(
    embedding=embedding,
    text_splitter=CharacterTextSplitter(chunk_size=200, chunk_overlap=20)
)

index = index_creator.from_loaders(loaders)

index_creator = VectorstoreIndexCreator(
    embedding=embedding,
    text_splitter=CharacterTextSplitter(chunk_size=200, chunk_overlap=20)
)

res = index.query_with_sources("会社の基本情報を教えてください。") #()の中には質問を入れる
print(res["sources"])  
print(res["answer"]) #回答が出力されます

最後に

今回は、ハンズオンで、実際に作ったボットの精度まで比較して紹介しました。
引き続き、手を動かし、試して、皆さんのお役に立つ情報を発信できるようにがんばります!

株式会社SaaSis AIエバンジェリストLeonでした。
Twitter もやっているので、ぜひフォローいただけますとっ!
https://twitter.com/leonkobayashi_

また、SaaSisでは、全体最適の視点で提案から検証、導入、連携までワンストップで支援いたします。
SaaSisという社名なのに、最近はChatGPTのお問い合わせが鳴り止みません!笑
「”ChatGPT × 社内データ”のAIチャットボットを作りたい」
「ChatGPTを使って、社内業務をどのように効率化できるか知りたい」
などのお悩みがございましたら、お気軽にご連絡くださいっ!

Recruit

現在、生成系AI事業急成長のため

積極的に人材採用を行なっています

ChatGPT講演会承っております!

  • URLをコピーしました!
目次