
マルチモーダル RAG チャットボット
7.1
多くの方がLLM を用いたアプリケーションとしてまず思いつくのが、ChatGPT を代表とす
るチャットボットではないでしょうか。本節では、LangChain と Streamlitを用いたWebベー
スのチャットボットを作りながら、その実装方法を学びます。
作成するチャットボットは、マルチモーダルな入力(画像とテキスト)を受け付け、LLM を
用いて回答を生成します。また、回答の生成には、3.7でも紹介したRetrieval Augmented
Generation(RAG)を使用します。すなわち、与えられた質問に対して、関連する情報を検
索し、その情報をもとに回答を生成する仕組みを構築します。
7.1.1
構築するチャットボットの概要
図7.1.1 に、本節で作成するチャットボットのイメージを示します。画面には、テキスト入
力と画像アップロードボタンが表示されており、ユーザはテキストや画像を入力することで
チャットボットと対話することができます。チャットボットは、入力された画像とテキストを
もとに関連する情報をインデックスから検索し、さらにその情報をもとにLLM を用いて応答
を生成します。
このようなチャットボットのユースケースとしては、ユーザがアップロードしたゴミの画像
をもとに、ゴミの分別方法を回答するというものが考えられます。この場合、インデックス
(データベース)にあらかじめ地域のゴミの分別方法に関する情報を登録しておき、ユーザが
アップロードした画像をもとに、その画像に関連する情報を検索します。 ...