【RAG】自社データを使って回答する生成AIチャットをノーコードで作る手順【ChatGPT】

ノーコードで生成AIアプリを開発できる無料ツール「[ADFI生成AI](https://adfi.jp/ja/ga)」を使って、RAG搭載（自社データの情報を使って回答が可能な）生成AIチャットを作成しました！
手順を解説します！

![アプリのイメージ図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/f06ca822-9ff2-45c5-b849-be1f9ffbd5c6.png)

# 作ったAIアプリ（生成AIチャット）
自分のPCの指定したフォルダ内にあるPDFファイル（PDF以外の形式のファイルもOK）を読み込んで、その中の情報を使って、生成AIが回答します。

下の例では、洗濯機の取扱説明書の複数のPDFファイルの中から、正しいファイル（bw-dx100k_b.pdf）を読み込んで、正しい情報（88ページ目の表の中の仕様情報）を回答しています。
回答の根拠として参照元のPDFファイル名もAIが回答してくれるので、万が一、ハルシネーション（AIの誤回答）が発生した場合でも情報の正誤を確認できるので、とても安心！

![AIエージェント例２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/a4b9ef84-9091-492d-9567-ac94d273705d.png)

# 作成手順
## 事前準備
ADFI生成AIで作成したAIアプリを動かすために、PCにPython3.9をインストールしておく必要があります。

Windowsの画面下部のタスクバーの検索窓に「store」と入れると、メニューに「Microsoft Store」が表示されるので、それをクリック。
Microsoft Storeが起動します。

今度は、Microsoft Storeの上部の検索窓で「Python」と入れると、Pythonの各バージョンが表示されるので、「Python3.9」の「入手」（または「インストール」）をクリックします。

しばらく待つと、Python3.9のインストールが完了します。
これでPython環境の準備OKです！

![Pythonインストール流れ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/baa9c6b9-caf0-44c8-b8bd-b35150ac42dd.png)

## AI作成
[ADFI](https://web.us.adfi.karakurai.com/webapp/signin?lang=ja)にログイン後、「プロジェクト新規作成」をクリックします。

![生成AI１.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/d9097543-b755-4efc-aa43-cf5f0914c8f6.png)

「ADFI生成AI」を選択して、好きなプロジェクト名を入力します。
「作成」をクリックして、プロジェクトを作成します。
![生成AI２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/feca5f9d-3f4e-43f8-9f47-4819363756c4.png)

作成されたプロジェクトの画面で、「AI新規作成」をクリックします。
![生成AI３.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/87729575-c2bc-4a1c-81ed-f9d51a139537.png)

作成したいAIの種類を選びます。
キャラクターが設定されているAIもありますが、今回は「シンプルAI」を選びました。
好きなAI名を入力して、「作成」をクリックすれば、AIの作成が完了です。
![生成AI４.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/7a169d28-be1a-442e-9629-830d707beffe.png)

作成したAIの画面で「AIをダウンロード（Windows用）」をクリックして、作成したAIの圧縮ファイルをダウンロードできます。
![生成AI５.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/69c41372-19e9-4576-97ef-6d8c12e9b242.png)

## ChatGPTのAPIキーの準備
作成したAIは、ChatGPTと連携するため、ChatGPT（OpenAI API）のAPIキーが必要です。
まだAPIキーを取得していない場合は、APIキーを取得しておいてください。
手順は[過去記事「初めてOpenAI APIのAPIキーを取得する時の手順」](https://qiita.com/umapyoi/items/91e6c2a35cc035e697a4)で解説しています。

## 初回のセットアップ
AIを実行するために、初回のみセットアップが必要です。
先ほどダウンロードした圧縮ファイルを展開してください。
フォルダ内の「0_Initial_setup_tool_for_Windows.bat」を実行すると、自動でセットアップを行ってくれます。
![フォルダ１.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/8a14b71e-988b-4a16-abb3-dcbe084faf11.png)

Windows Defenderのポップアップが出るので、「詳細情報」⇒「実行」をクリック。
![ポップアップ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/857fa5e8-7d64-4dea-99c9-3e184db0497b.png)

コマンドプロンプトが立ち上がって、自動的にセットアップ処理が進みます。
コマンドプロンプトにセットアップ完了のメッセージ「続行するには何かキーを教えてください」が出るまで、10分くらいかかりました。

## 生成AIに読ませるデータの準備
ADFI生成AIで作成したAIは、RAG（Retrieval-Augmented Generation）が搭載されています。
生成AIに読み込ませたいデータが入ったフォルダを指定するだけで、生成AIが自社データを使って回答します。

この記事では、自社データを公開できないので、メーカーのホームページからダウンロードできる家電の取扱説明書のPDFファイルで試してみました！
ちなみに、どの取扱説明書もページ数が多かったです（70～90ページありました）。
![日立.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/bafbbff5-6515-4250-ab3f-acd5cbee411d.png)

３種類の洗濯機の取扱説明書をダウンロードして、適当なフォルダに格納しました。
![家電フォルダ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/41c1a08d-a641-492e-a9bc-58d4fcbed10f.png)

展開したフォルダ内にある「ai_for_Python3.9」フォルダの中に「target_dir_list.txt」というテキストファイルがあります。
このテキストファイルに、生成AIに読み込ませたいデータが入ったフォルダの絶対パス（C:\から始まるパス）を記入します。
![Pythonフォルダ２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/f59a8af0-f765-470f-b5d8-36681ed45a63.png)

パスを記入して上書き保存します。
改行して、複数のフォルダを指定することもできます。
![ターゲットリスト.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/521d4882-9552-4a86-ad9c-dd5e47cf0c42.png)

## AIの実行
「ai_for_Python3.9」フォルダの中の「config.ini」ファイルをメモ帳などのテキストエディタで開きます。
![Pythonフォルダ１.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/0fb3abb8-f30b-4d9d-a095-28dd9220befb.png)

「open_api_key」の右側に、ChatGPT（OpenAI API）のAPIキーを記入して、上書き保存します。
![コンフィグ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/13aa840e-fbd1-4c24-a5ec-2385dd660ab2.png)


「1_AI_server_start _for_Windows.bat」を実行すると、AIが起動します。

![フォルダ２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/03ed891c-25fc-4d2e-9ff9-1bfd7deec7ab.png)


Windows Defenderのポップアップが出るので、「詳細情報」⇒「実行」をクリック。
![ポップアップ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/857fa5e8-7d64-4dea-99c9-3e184db0497b.png)

コマンドプロンプトが立ち上がって、AIサーバーが立ち上がります。
「AIサーバーの開始準備が完了しました。利用できます。」のメッセージが表示されたら、AIの起動完了です。
AIアプリを利用できる状態になりました。
![コマンドプロンプト.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/f4b702b5-dbfa-4917-9ed1-caf8b02a2807.png)


## AIアプリの利用
AIサーバーが起動した状態だと、AIアプリが利用できます。
すぐにノーコードで利用できるAIアプリとして、以下の３つが入っていました。
 - AIエージェント（生成AI搭載チャット）
 - 社内データ検索
 - 情報抽出AIアプリ

今回は「AIエージェント（生成AI搭載チャット）」を試しました。

![フォルダ３.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/aa3c4fde-bd08-470d-848e-ebb082544b8d.png)


「AIエージェント（生成AI搭載チャット）」を開くと、チャット画面が表示されます。
AIには、先ほどダウンロードした３種類の洗濯機の取扱説明書のデータが読み込まれています。
１つの型番「NW-50K」を入力して、製品の仕様を質問してみます。

![AIエージェント１.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/63510435-4f6d-4959-9573-5d5ca25ec047.png)

すると、AIがすぐに、取扱説明書の47ページ目の表の中に記載されている正確な情報を回答してくれました！
しっかり、参照元のファイル名「nw-50k_1.pdf」も教えてくれています！
![AIエージェント例１.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/df83318b-4869-49d1-ae77-e07ed5b9b0ad.png)

別の型番「BW-DX100K」も聞いてみると、こちらも完璧に回答してくれました！

![AIエージェント例２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2535236/2617453d-1a7d-44f5-9f41-11019d653bfb.png)

# 感想
ノーコードで、RAG搭載のAIアプリを簡単に作成することができました！
初回セットアップには、30分くらい時間がかかりましたが、AIの作成自体は5分以内で作れました！
めっちゃ簡単で、助かります！

次の記事では、別のAIアプリを試してみます！