記事検索

検索ワードを入力してください。
Sky Tech Blog
独自の​データに​特化した​ChatBotを​作るには?​(RAG)

独自の​データに​特化した​ChatBotを​作るには?​(RAG)

本文は、LLM(Large Language Models)を活用したサービスの一つであるRAG(Retrieval-Augmented Generation)について説明しています。RAGは、外部情報を検索し、その結果を基にLLMに回答させる手法で、簡単・低コストで高精度な回答が得られるメリットがあります。

はじめに

ChatGPTをはじめとしたLLM (Large Language Models) を活用したサービスが昨今注目を集めています。 質疑応答やソースコード生成など幅広いタスクで利用可能であり、その精度の高さには目を見張るものがあります。 一方でLLMが回答可能な知識は、基本的に学習時に獲得した知識のみであり、独自のデータに即した回答を得るためには何かしらの工夫が必要です。

今回はそんな工夫の一つである、RAG (Retrieval-Augmented Generation) という手法を紹介します。

RAGとは?

例えば社内情報をベースにしたChatBotを作成したいとします。

まず社内情報のDBをあらかじめ作成しておきます。 システムがユーザーの質問を受け取ったらそれを直接LLMには投げず、代わりにDBで関連情報を検索します。 そしてこの検索結果を基にLLMに回答させます。

これがRAGです。 外部情報の検索と組み合わせることでLLMの性能を拡張することができます。

RAGには以下のようなメリットがあります。

  • 簡単、低コスト
    LLMは検索結果を基に回答するのみで、QAの対応を学習する必要がありません。 一般にLLMをFineTuningするには大量の学習データとマシンリソースが必要になるため、コストがかかり、技術的にも難しいです。 RAGであればFineTuningをする必要がないため比較的簡単で、低コストです。

  • 比較的高精度
    DBから取得した内容をもとに回答するため、無関係な情報が入りづらいです。 また回答の根拠が明確になるため、ハルシネーションを抑制する効果も期待できます。

RAGが​ない​場合、​ある​場合の​回答例

社内ChatBotを想定して、RAGの有無で回答がどう変わるか見てみましょう。

  • RAGなしの場合
    社内情報を与えず直接ChatGPT(GPT-4o)に「休暇の種類について教えてください」と訊くと、 以下のような一般的な答えが返ってきます。
休暇にはさまざまな種類があります。以下に代表的な休暇の種類を紹介します。
1. 年次有給休暇
年次有給休暇は、労働者が一定の勤務期間を経過した後に取得できる有給の休暇です。日本の労働基準法では、6ヶ月以上継続して勤務し、全労働日の8割以上出勤した労働者に対して、最低10日の有給休暇が付与されます。

上の答えも間違いではないのですが、ユーザーは社内情報に特化した回答が欲しいはずです。

  • RAGありの場合
    RAGを使用したChatBot(実際に弊社で動いているBotです!)に同じ質問をしてみます。
休暇の種類は以下の通りです:
1. 有給休暇:事前に申請し、1年以内に残った日数は翌年に持ち越すことができます。
2. 特別休暇:特定の理由(結婚、出産、葬儀など)による休暇です。
3. 半日休暇(半休):事前に申請し、半日だけ休暇を取ることができます。
4. サマーフレックス休暇(SFH):事前の申請は必要ありませんが、事後申請が可能です。

社内情報を元に欲しい回答が得られました!

おわりに

弊社ではAI、LLMを活用した業務を行っています。 ご興味のある方は、ぜひご応募ください。 あなたのスキルと情熱をお待ちしています!


XFacebookLINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム