生成AIでRAGを使ってpdfから情報を抽出する
いまさらではあるが、RAGを使ったコードを書いてみた。
生成AIでRAGを使えば手元のpdf中の情報など、生成AIが持っていない知識を使って生成AIと対話することができる。
RAGとは
生成AIを使えば、一般的な知識を元にQ&Aに答えたり文章の要約や翻訳を行うことができる。
しかし、生成AIの持っていない特定領域の知識や自分だけが持っている情報などは回答することができない。
そこで、RAGを使うことで、手元のpdfやテキストファイル、データベースの情報から特定領域や自分だけが持っている情報を検索してその結果を踏まえた回答を行うことが可能である。
コード
早速RAGを使ったコードをColaboratoryで書いた。
生成AIモデルは「rinna/gemma-2-baku-2b-it」を使用している。
特定領域の知識として、試しに厚生労働省が出している「薬の知識」についてのpdfを使用した。
このpdfから、「海外の薬を輸入して使うときの注意点は何ですか?」という質問に対してpdf中の内容を元に回答することがわかる。
まとめ
今回はpdfからテキストを抽出したが、Wordファイルやデータベースからでもテキストを検索して抽出する仕組みがあればそれらからも知識を取得して生成AIが回答できることを確認できた。