目次
1.はじめに
2.完成形のご紹介
3.環境準備
4.PDF読み込み
5.PDF文字起こし
6.RAG作成
7.AIチャットボット作成
8.おわりに
1. はじめに
4/25に下記の通りプレスリリースでDataiku Answers発表しました。
Dataikuが、企業全体で生成AIチャットを可能に
Dataiku Answersは安全でカスタマイズされた拡大可能な対話型AIを企業に提供
Dataiku Answersは、データチームがエンタープライズ規模で検索拡張生成(RAG)を使用して生成AIを搭載したチャット機能を構築するための新しい方法です。Dataiku Answersを使用することで、指定した大規模言語モデル(LLM)を選択し、RAG技術を利用して組織固有のデータを供給し、組織全体のあらゆる部門のためにカスタマイズされたAIチャットボットを構築できます。
ということで早速、文系ノーコーダーの私がAIチャットボットの構築にチャレンジしてみました。
2. 完成形のご紹介
自動車保険のパンフレットと約款でRAGをつくり、それを参照するAIチャットボットを作りました。
所要時間:1時間弱で完全ノーコードでできました。(もちろんコーディングを使ってカスタマイズしていくことも可能です)
実際に「パンクは車両保険の補償の対象ですか?」と質問してみると、こんな回答とソースが表示されます。
比較のために、今回作成したRAG(Knowledge Bank)を使わずに、単純なChatGPT4が持っている知識だけで回答するよう指示すると、誤った回答が返ってきました。ということで作成したRAGがちゃんと機能していることがわかります。
今回作成したフローはこちらです。
PDF読み込み→PDFの文字起こし→RAG作成→チャットボット作成の流れです。
3. 環境準備
3-1. Dataikuの環境
無料版もしくはCloudトライアルをご用意ください。もちろん有償のインストール版をお持ちの方はそちらをご利用ください。
おすすめはセットアップが簡単なCloud版です。
※Chatbotを社内に展開する際はExplorerもしくはReaderライセンスが必要になります。
3-2. Plugin
- Text extraction and OCR
- Dataiku Answers ※まだ一般公開されていないようです。近いうちにこちらのPluginに表示されるはずです。
3-3.Code Envの設定
新しくPython3.9の環境を作り、Packageをインストールします。(私はこのあたりの知識がないので、今回一番時間がかかったのはここです。)
3-4.LLM
ご自身でご契約されているLLMのAPI Keyが必要になります。(※こちらのキャプチャはCloud版)
3-5.PDF
データの取り込み方は様々な方法が考えられますが、今回はPDFにしました。
ご自身でPDFをご用意ください。
私は自分で契約している保険会社の自動車保険のパンフレットと約款を用意しました。
4. PDF読み込み
DSS上で新しいプロジェクトを開いて用意したPDFを読み込ませます。データセットからフォルダーを選んで、PDFをアップロードする箱をつくります。
5. PDF文字起こし
Dataikuってこんなこともできるのー!?って驚いた機能の1つです。
要はOCRの機能(Pluginから追加)があります。PDFから文字起こしをしてくれます。
今回はText extraction(テキスト抽出)を選択します
そうすると、下図のようにPDFに記載されたテキストが抽出できます。
6. RAG作成
Knowledge bank settingをクリックします。
Environmentは今回設定した環境を選択してください。
7. AIチャットボット作成
WebAppのVisual WebappからAnswerを選びます。
設定は下記の通りです。Logging DatasetとGeneral Feedback Datsetは新しいものを作ってください。
8. おわりに
いかがでしたか? ノーコードでRAG+AIチャットボットができることで、市民開発でき、AIやLLMの活用が飛躍的に広がっていく世界が見えてきました。
では、なぜDataikuを使う必要があるのでしょう?
- 上記で説明した通り操作が簡単、コーディングによるカスタマイズも可能です。そうすることによりスピーディにスケールさせることができます。
- 精度を良くするために、インプットデータを増やすことが可能です。複数なDBからデータを集めたり、インタネット上のデータをスクレイピングしてKnowledgeBase(KB)を自動的にアップデートすることができます。
- Dataikuのレシピを使ってデータのクリーニングし、データの質を上げてRAGを作ることができます。
- さらに、チャットボットの回答に対するFeedback機能があり、こちらも活用できます。
- またこれは、DataikuのLLM Meshのコンセプトそのものですが、異なるLLMや異なるモデルを試して比較することが可能です。(今回私はChat GPTのGPT4(Turbo)というモデルを使いました。ChatGPT3では精度が出ませんでした)
- 最後にガバナンスの観点が最も重要です。監視、個人情報の取り扱い、コスト管理もDataikuを使う大きなメリットです。
こちらに詳細記載されていますので是非ご一読ください。
各企業向けにカスタマイズしたチャットボットを大規模に構築するには
参考までに他の回答も掲載しておきます。
こちらの回答は自転車(チャリ)と原動機付自転車(原付バイク)を混同していて間違った回答になっています。Feedback機能があるので、間違いを指摘しました。
ちなみに同じ内容を英語で聞いてみると正しい回答が返ってきました。
ChatGPTは英語と比較すると日本語の対処に強くないので、Tsuzumiなどの国産LLMに期待したいですね。