Jetson上でLlamaIndexを使用したローカルRAG
はじめに
現在、ますます多くの人々が日常的な問題を解決するために大規模言語モデルを使用し始めています。しかし、大規模言語モデルは特定の質問に答える際に幻覚を示し、ユーザーに間違った情報を提供することがあります。それでも、RAG技術は大規模言語モデルに関連データを提供することで幻覚の発生を減らすことができます。したがって、RAG技術を使用して大規模言語モデルの幻覚生成を減らすことがトレンドになっています。
ここではJetsonベースのRAGをご紹介します。これはLlamaIndexをRAGフレームワークとして、ChromaDBをベクターデータベースとして、量子化されたLlama2-7bモデルLLM MLCを質問応答モデルとして使用しています。このローカルRAGプロジェクトにより、データプライバシーを保護し、低遅延の通信体験を提供できます。
ハードウェアコンポーネント
reComputer(RAM >= 16GBのJetsonベース) |
---|
![]() |
ランタイム環境の準備
ステップ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
を実行すると、以下のようなインターフェースが表示されます。
note
エラーは無視しても問題ありません。
実行してみましょう
# Docker内で実行
python3 RAG.py
プロジェクトの展望
このプロジェクトでは、TXTとPDFドキュメントをベクターデータベースとして解析し、RAG技術を使用して特定の問題に対するモデルの幻覚を減らしました。将来的には、マルチモーダルモデルを使用して画像や動画の検索をサポートする予定です。