概要ChatGPTとEmbeddingsを活用した独自データチャットボット(RAG)のデモの一覧。実際に動かすことができます。1. 独自データチャットボット説明ChatGPTが知らない情報(LangCore社の情報)をベースに会話することができます。操作方法「LangCoreについて教えて」と入力して送信通常ChatGPTが知らない情報について回答をもらえます2. 独自データの学習説明独自データの「学習」は以下の工程で行います。独自データのテキストをEmbeddingsでベクトル化ベクトルデータベースにテキストとベクトルを追加LangCoreを使うことでインフラを用意せずにすぐに実装することができます。操作方法1つ目のフィールドにあなたのOpenAI API Keyを入力2つ目のフィールドに好きな文字列で識別子を入力。今回は「demo」と入力してください。3つ目のフィールドに学習させたい独自データのテキストを入力。改行ごとに保存されます。例えば「りんごが好き」「みかんが好き」「鉄道が好き」などを入力して学習させます。Register Embeddingsのボタンを押して登録完了次のデモで実際に学習させたデータを元にした独自データチャットボットを試すことができます。3. 独自データの検索(Simple)説明2の方法で登録した独自データを元に回答するチャットボットを動かすことができます。操作方法1つ目のフィールドに先ほど入力したOpenAI API Keyを入力2つ目のフィールドに先ほど入力した識別子を入力。今回は「demo」と入力してください。下部の入力欄に「どんな食べ物が好き?」と入力して送信学習したデータをもとに「りんごとみかんが好き」と返ってきます。4. 独自データの検索(会話履歴を加味)説明3のデモの実装では、ユーザの入力に関連する情報を取得して、その内容をベースに回答します。しかしこの実装だと会話の流れによっては求める回答を得られないことがあります。例えば、「おすすめのレストランを教えて」とユーザが入力した場合、最初はレストランに関する独自データの検索に成功するためうまく回答ができます。しかしその直後に「もっと安いところをお勧めして」と入力した際に、レストランの文字が入っていないため検索にレストランが引っかからない可能性があります。そこで、一度会話履歴からFunction Callingを使って検索ワードを生成させ、それに近い情報を取得することで、会話履歴を加味した検索を行うことができます。5. メタデータ付き学習説明2で説明した学習方法では、テキストとベクトルは一対一の関係になります。しかし例えばレストランの情報を学習させたい時にお店のURLなどはベクトル化の対象としたくない場合があります。その場合はベクトル化させる部分と、ベクトル化させたくない部分(メタデータ)を分けて保存することで目的を達成できます。操作方法1つ目のフィールドにあなたのOpenAI API Keyを入力2つ目のフィールドに好きな文字列で識別子を入力。今回は「demo」と入力してください。3つ目のフィールドにベクトル化させたい独自データのテキストを入力。3つ目のフィールドにベクトル化させたくない独自データのテキストを入力。Register Embeddingsのボタンを押して登録完了他の独自データチャットボットのデモを見たい方 公開していないデモもございます。弊社では様々なクライアント様向けにPoCを構築しております。ご興味があれば、ぜひお問い合わせください。