LoginSignup
27
34

Dataikuを使って完全ノーコードで、1時間でRAG作成→AIチャットボットを作ってみた(自動車保険の約款編)

Last updated at Posted at 2024-04-28

目次

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時間弱で完全ノーコードでできました。(もちろんコーディングを使ってカスタマイズしていくことも可能です)

image.png

実際に「パンクは車両保険の補償の対象ですか?」と質問してみると、こんな回答とソースが表示されます。
image.png

比較のために、今回作成したRAG(Knowledge Bank)を使わずに、単純なChatGPT4が持っている知識だけで回答するよう指示すると、誤った回答が返ってきました。ということで作成したRAGがちゃんと機能していることがわかります。
image.png

今回作成したフローはこちらです。
PDF読み込み→PDFの文字起こし→RAG作成→チャットボット作成の流れです。
image.png

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をインストールします。(私はこのあたりの知識がないので、今回一番時間がかかったのはここです。)

image.png

3-4.LLM

ご自身でご契約されているLLMのAPI Keyが必要になります。(※こちらのキャプチャはCloud版)

image.png

3-5.PDF

データの取り込み方は様々な方法が考えられますが、今回はPDFにしました。
ご自身でPDFをご用意ください。

私は自分で契約している保険会社の自動車保険のパンフレットと約款を用意しました。

4. PDF読み込み

image.png

DSS上で新しいプロジェクトを開いて用意したPDFを読み込ませます。データセットからフォルダーを選んで、PDFをアップロードする箱をつくります。

image.png

今回使いたいPDFをアップロードします。
image.png

5. PDF文字起こし

Dataikuってこんなこともできるのー!?って驚いた機能の1つです。
要はOCRの機能(Pluginから追加)があります。PDFから文字起こしをしてくれます。

image.png

image.png
今回はText extraction(テキスト抽出)を選択します
image.png

そうすると、下図のようにPDFに記載されたテキストが抽出できます。
image.png

6. RAG作成

image.png

次はRAGを作っていきます。埋め込みレシピを選択します。
image.png

設定画面は下図のように入力していきます。
image.png

Knowledge bank settingをクリックします。
image.png

Environmentは今回設定した環境を選択してください。
image.png

7. AIチャットボット作成

WebAppのVisual WebappからAnswerを選びます。
image.png

image.png

設定は下記の通りです。Logging DatasetとGeneral Feedback Datsetは新しいものを作ってください。
image.png
image.png
image.png
image.png

8. おわりに

いかがでしたか? ノーコードでRAG+AIチャットボットができることで、市民開発でき、AIやLLMの活用が飛躍的に広がっていく世界が見えてきました。

では、なぜDataikuを使う必要があるのでしょう?

  • 上記で説明した通り操作が簡単、コーディングによるカスタマイズも可能です。そうすることによりスピーディにスケールさせることができます。
  • 精度を良くするために、インプットデータを増やすことが可能です。複数なDBからデータを集めたり、インタネット上のデータをスクレイピングしてKnowledgeBase(KB)を自動的にアップデートすることができます。
  • Dataikuのレシピを使ってデータのクリーニングし、データの質を上げてRAGを作ることができます。
  • さらに、チャットボットの回答に対するFeedback機能があり、こちらも活用できます。
  • またこれは、DataikuのLLM Meshのコンセプトそのものですが、異なるLLMや異なるモデルを試して比較することが可能です。(今回私はChat GPTのGPT4(Turbo)というモデルを使いました。ChatGPT3では精度が出ませんでした)
  • 最後にガバナンスの観点が最も重要です。監視、個人情報の取り扱い、コスト管理もDataikuを使う大きなメリットです。

こちらに詳細記載されていますので是非ご一読ください。
各企業向けにカスタマイズしたチャットボットを大規模に構築するには






参考までに他の回答も掲載しておきます。

image.png

こちらの回答は自転車(チャリ)と原動機付自転車(原付バイク)を混同していて間違った回答になっています。Feedback機能があるので、間違いを指摘しました。
image.png

ちなみに同じ内容を英語で聞いてみると正しい回答が返ってきました。
ChatGPTは英語と比較すると日本語の対処に強くないので、Tsuzumiなどの国産LLMに期待したいですね。
image.png

27
34
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
34