Skip to main content

LlamaIndexを使用したRAG

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

JetsonをベースにしたローカルRAGとLlamaIndex

はじめに

近年、ますます多くの人々が日常の問題を解決するために大規模言語モデルを使用し始めています。しかし、大規模言語モデルは錯覚を引き起こし、特定の質問に対してユーザーに誤った情報を提供することがあります。それにもかかわらず、RAG技術は、大規模言語モデルに関連するデータを提供することで錯覚の発生を減少させることができます。そのため、大規模言語モデルにおける錯覚の生成を減少させるためにRAG技術を使用することがトレンドとなっています。

pir

ここでは、JetsonをベースにしたRAGを紹介します。このプロジェクトでは、RAGフレームワークとしてLlamaIndex、ベクトルデータベースとしてChromaDB、質問応答モデルとして量子化されたLlama2-7bモデルLLM MLCを使用しています。このローカルRAGプロジェクトを使用することで、データのプライバシーを保護し、低遅延の通信体験を提供することができます。

ハードウェアコンポーネント

JetsonをベースにしたreComputer(RAM >= 16GB)

実行環境の準備

ステップ1: MLC Jetsonコンテナをインストール

# jetson-containerとその依存関係をインストール
git clone --depth=1 https://github.com/dusty-nv/jetson-containers
cd jetson-containers
pip install -r requirements.txt

ステップ2: プロジェクトをインストール

# RAGプロジェクトをインストール
cd data
git clone https://github.com/Seeed-Projects/RAG_based_on_Jetson.git

ステップ3: MLC LLMによって量子化されたLlama2-7bモデルをインストール

# LLMモデルをインストール
sudo apt-get install git-lfs
cd RAG_based_on_Jetson
git clone https://huggingface.co/JiahaoLi/llama2-7b-MLC-q4f16-jetson-containers

ステップ4: Dockerを実行し、依存関係をインストール

cd ../../
./run.sh $(./autotag mlc)
# ここでDockerに入ります。以下のコマンドはDocker内で実行されます
cd data/RAG_based_on_Jetson/
pip install -r requirements.txt
pip install chromadb==0.3.29

pip install chromadb==0.3.29を実行すると、以下のようなインターフェースが表示されます。

pir

note

エラーは無視しても問題ありません。

実行してみましょう

# Docker内で実行
python3 RAG.py

プロジェクトの展望

このプロジェクトでは、TXTおよびPDFドキュメントをベクトルデータベースとして解析し、特定の問題に対するモデルの錯覚を減少させるためにRAG技術を使用しました。将来的には、画像や動画の検索をサポートするためにマルチモーダルモデルを使用する予定です。

Loading Comments...