LlamaIndexでテキスト・PDF・CSV、Webページを読み込む!

LlamaIndexでテキスト・PDF・CSV、Webページを読み込む!

LlamaIndexでは、多様な形式のデータもとにRAGを構築することができます。

この記事では、LlamaIndexでテキスト・PDF・CSV、Webページなどのデータを読み込む方法を紹介します。

12/25開催の無料ウェビナー!

目次

LlamaIndexでテキスト・PDF・CSV、Webページを読み込む

見出し画像

LlamaIndexでは、多様なデータ形式をもとにRAGを構築することができます。

この記事では次のモジュールを使って、テキスト・PDF・CSV、Webページのデータを読み込む方法を紹介します。

  • SimpleDirectoryReaderでテキスト・PDF・CSVを読み込む
  • SimpleWebPageReaderでWebページを読み込む

「SimpleDirectoryReader」でテキスト・PDF・CSVを読み込む

見出し画像

セットアップ

テキスト・PDF・CSVを読み込みには、LlamaIndexの「SimpleDirectoryReader」を使用します。

必要なパッケージをインストールします。

pip install llama-index llama-index-core

必要なライブラリをインポートします。

from llama_index.core import SimpleDirectoryReader

テキストファイルの読み込み

SimpleDirectoryReaderを使ってテキストファイルを読み込みます。

file_path = "令和5年度_政府が講じたこども施策の実施状況.txt"

reader = SimpleDirectoryReader(input_files=[file_path])
documents = reader.load_data()
print(repr(documents[0])[:1000]) 
Document(id_='141d9b36-c23d-4ab0-a746-18d70b175097', embedding=None, metadata={'file_path': '令和5年度_政府が講じたこども施策の実施状況.txt', 'file_name': '令和5年度_政府が講じたこども施策の実施状況.txt', 'file_type': 'text/plain', 'file_size': 77563, 'creation_date': '2024-09-28', 'last_modified_date': '2024-09-28'}, excluded_embed_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], excluded_llm_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], relationships={}, text='我が国におけるこどもをめぐる状況\r\n第1部\r\n○出生\r\n2022年の出生数は77万759人で、統計を開始した1899年以来、最少の数字となり、80\r\n万人を割った。第1次ベビーブーム期(1947~1949年)には約270万人、第2次ベビーブー\r\nム期(1971~1974年)には約210万人であったが、その後減少を続け、こどもの数はピー\r\nクの3分の1以下にまで減少した。\r\n合計特殊出生率の推移を見ると、第1次ベビーブーム期には4.3を超えていたが、第2次ベ\r\nビーブーム期には約2.1まで低下、2005年には1.26まで落ち込み、その後、2015年には\r\n1.45まで回復したものの、2022年には1.26と過去最低となった。\r\n図表1-1-1 出生数と合計特殊出生率の推移\r\n出\r\n生\r\n数\r\n出生数\r\n合計特殊出生率\r\n1989 年\r\n合計特殊出生率 1.57\r\n第1次ベビーブーム(1947
コードの説明

reader = SimpleDirectoryReader(input_files=[file_path])

input_filesに、読み込むファイルのパスを渡しています。

SimpleDirectoryReaderクラスのインスタンスを作成しています。

documents = reader.load_data()

load_data()メソッドを使って、指定したファイルを読み込みます。

PDFの読み込み

SimpleDirectoryReaderを使ってPDFを読み込みます。

file_path2 = "令和6年版_厚生労働白書概要.pdf"

reader = SimpleDirectoryReader(input_files=[file_path2])
documents = reader.load_data()
print(repr(documents[0])[:1000]) 
Document(id_='141d9b36-c23d-4ab0-a746-18d70b175097', embedding=None, metadata={'file_path': '令和5年度_政府が講じたこども施策の実施状況.txt', 'file_name': '令和5年度_政府が講じたこども施策の実施状況.txt', 'file_type': 'text/plain', 'file_size': 77563, 'creation_date': '2024-09-28', 'last_modified_date': '2024-09-28'}, excluded_embed_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], excluded_llm_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], relationships={}, text='我が国におけるこどもをめぐる状況\r\n第1部\r\n○出生\r\n2022年の出生数は77万759人で、統計を開始した1899年以来、最少の数字となり、80\r\n万人を割った。第1次ベビーブーム期(1947~1949年)には約270万人、第2次ベビーブー\r\nム期(1971~1974年)には約210万人であったが、その後減少を続け、こどもの数はピー\r\nクの3分の1以下にまで減少した。\r\n合計特殊出生率の推移を見ると、第1次ベビーブーム期には4.3を超えていたが、第2次ベ\r\nビーブーム期には約2.1まで低下、2005年には1.26まで落ち込み、その後、2015年には\r\n1.45まで回復したものの、2022年には1.26と過去最低となった。\r\n図表1-1-1 出生数と合計特殊出生率の推移\r\n出\r\n生\r\n数\r\n出生数\r\n合計特殊出生率\r\n1989 年\r\n合計特殊出生率 1.57\r\n第1次ベビーブーム(1947

CSVの読み込み

SimpleDirectoryReaderを使ってCSVを読み込みます。

file_path3 = "令和5年6月_社会医療診療行為別統計.csv"

reader = SimpleDirectoryReader(input_files=[file_path3])
documents = reader.load_data()
print(repr(documents[0])[:1000]) 
Document(id_='16a8a52c-1074-483b-9709-1de5d201731a', embedding=None, metadata={'file_path': '令和5年6月_社会医療診療行為別統計.csv', 'file_name': '令和5年6月_社会医療診療行為別統計.csv', 'file_type': 'text/csv', 'file_size': 2735096, 'creation_date': '2024-09-28', 'last_modified_date': '2024-09-28'}, excluded_embed_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], excluded_llm_metadata_keys=['file_name', 'file_type', 'file_size', 'creation_date', 'last_modified_date', 'last_accessed_date'], relationships={}, text='診療行為の状況\u3000医科診療\u3000第22表\u3000医科診療(総数-1総数)\u3000実施件数・回数・点数,一般医療-後期医療、診療行為(細分類)、病院(種類別)-診療所(有床-無床)別, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan\n注:1)表側欄内の数字は固定点数である。, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,

テキスト・PDF・CSVを読み込むことができました!

「SimpleWebPageReader」でWebページを読み込む

見出し画像

セットアップ

Webページの読み込みには、LlamaIndexの「SimpleWebPageReader」を使用します。

必要なパッケージをインストールします。

pip install llama-index llama-index-readers-web

必要なライブラリをインポートします。

from llama_index.readers.web import SimpleWebPageReader

Webページの読み込み

urls = "https://ja.wikipedia.org/wiki/%E8%8F%AF%E6%97%8F"

documents = SimpleWebPageReader(html_to_text=True).load_data([urls])
print(repr(documents[0])[10000:11000]) 
/%E9%AB%98%E6%9C%A8%E5%85%AB%E5%B0%BA\n"高木八尺")、長男金樹。\n\n[版籍奉還](/wiki/%E7%89%88%E7%B1%8D%E5%A5%89%E9%82%84\n"版籍奉還")が行われた明治2年[6月17日](/wiki/6%E6%9C%8817%E6%97%A5_\\(%E6%97%A7%E6%9A%A6\\)\n"6月17日 \\(旧暦\\)")([1869年](/wiki/1869%E5%B9%B4\n"1869年")[7月25日](/wiki/7%E6%9C%8825%E6%97%A5\n"7月25日"))の行政官達第五四二号で[公卿](/wiki/%E5%85%AC%E5%8D%BF\n"公卿")([公家](/wiki/%E5%85%AC%E5%AE%B6\n"公家")の[堂上家](/wiki/%E5%A0%82%E4%B8%8A%E5%AE%B6\n"堂上家"))と[諸侯](/wiki/%E8%AB%B8%E4%BE%AF "諸侯")([大名](/wiki/%E5%A4%A7%E5%90%8D\n"大名"))の称が廃され、華族と改められた[1][2]。この時以降[華族令](/wiki/%E8%8F%AF%E6%97%8F%E4%BB%A4\n"華族令")制定以前に華族に列した家を「旧華族」と呼ぶことがあった[3][4]。また旧公家の華族は「堂上華族」[5]、旧大名の華族は「大名華族」と呼ぶこともあった[6]。\n\n旧華族時代には爵位は存在せず、世襲制の永世華族と一代限りの[終身華族](/wiki/%E7%B5%82%E8%BA%AB%E8%8F%AF%E6%97%8F\n"終身華族")の別があったが[3]、明治17年7月7日に公布された[華族令](/wiki/%E8%8F%AF%E6%97%8F%E4%BB%A4\n"華族令")により[公爵](/wiki/%E5%85%AC%E7%88%B5 "公爵")、[侯爵](/wiki/%E4%BE%AF%E7%88%B5\n"侯爵")、[伯爵](/wiki/%E4%BC%AF%E7%88%B5 "伯爵")、[子爵](/wiki/%E5%AD%90%E7%88%B5\n"子爵")、[男爵](/wiki/%E7%94%B7%E7%88%B5\n"男爵")の五爵制が
コードの説明

documents = SimpleWebPageReader(html_to_text=True).load_data([urls])

SimpleWebPageReaderはウェブページを読み込むためのクラスです。指定したURLからHTMLデータを取得し、それをテキスト形式に変換します。

html_to_text=Trueは、読み込んだHTMLデータをテキストに変換するオプションです。これにより、HTMLタグを取り除き、純粋なテキストのみが得られます。

生成AI・LLMのコストでお困りなら

GPUのスペック不足で生成AIの開発が思うように進まないことはありませんか?

そんなときには、高性能なGPUをリーズナブルな価格で使えるGPUクラウドサービスがおすすめです!

GPUSOROBAN
GPUSOROBAN

GPUSOROBANは、生成AI・LLM向けの高速GPUを業界最安級の料金で使用することができます。

インターネット環境さえあれば、クラウド環境のGPUサーバーをすぐに利用可能です。

大規模な設備投資の必要がなく、煩雑なサーバー管理からも解放されます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
EdgeHUBロゴ

メールマガジン登録

Stable Diffusion・LLM・RAGに関する最新情報をいち早くお届けします。

無料メルマガの配信をご希望の方は、下記フォームよりご登録ください。

    EdgeHUB編集部からのお知らせ

    無料ウェビナーのお知らせ

    RAG進化のさらに先へ!自立型AIエージェント ウェビナー【12/25無料開催】

    RAG進化のさらに先へ! 大好評につきRAGシリーズ第3弾が開催決定!

    開催日時:
    2024年12月25日(水) 14:00~15:00

    内容:

    • RAGの精度を向上させる「自律型AIエージェント」のデモ
    • 生成AI開発の強い味方「GPUSOROBAN」の活用方法

    このウェビナーでは、オープンソース「LangGraph」で構築したAIエージェントの使い方や、デモを紹介します。

    生成AIに関心のある方、AI技術をビジネスに活かしたい方は、ぜひこの貴重な機会にご参加ください!

    こんな方におすすめ!

    • 自律型AIエージェントに興味がある方
    • RAGの高度化を検討しているエンジニアや開発者
    • 日本語のローカルLLMの利用を検討している方
    • GPUリソースに課題を感じている方

    \簡単1分で申し込み!/

    この記事を書いた人

    EdgeHUBは、NVIDIAクラウドパートナーである株式会社ハイレゾが運営しています。「AIと共にある未来へ繋ぐ」をテーマに、画像生成AI、文章生成AI、動画生成AI、機械学習・LLM、Stable Diffusionなど、最先端の生成AI技術の使い方をわかりやすく紹介します。

    目次