自然言語で情報を取り出す RDB アプリを作ってみた Python/Streamlit/langchain/chatgpt
割引あり
今回は、LangChain のエージェントツールキットに含まれる「create_pandas_dataframe_agent」モジュールを使って、リレーショナルデータベース(RDB)風のアプリを作ってみました。
通常、RDBから情報を取り出すにはSQL文を使いますが、今回はデータフレームを使ってRDB風のデータ構造を作り、自然言語で情報を取り出せるようにします。
アプリの内容
まず、2つのデータフレームを用意します。
1つ目は「在庫一覧」で、商品ID、商品名、メーカーID、単価、商品分類の情報が並んでいます。
2つ目は「メーカー一覧」で、メーカーID、メーカー名、住所、メールアドレス、担当者名の情報が並んでいます。
これらのデータフレームに対して、自然言語でクエリを投げると、必要な情報を取り出せるようにします。
例えば、「デンタルAのメーカーの担当者を教えて」というクエリに対しては、
まず、「在庫一覧」データフレームから商品名「デンタルA」のレコードを探し、そのメーカーIDを取得します。
次に、「メーカー一覧」データフレームから取得したメーカーIDのレコードを探し、担当者名を取得します。
最後に、「デンタルAのメーカーの担当者は[担当者名]です。」という回答を生成します。
ここから先は
1,769字
期間限定!PayPayで支払うと抽選でお得
よろしければサポートお願いします! いただいたサポートはクリエイターとしての活動費に使わせていただきます!