Mac/Appleシリコンでのローカル実行専用の埋め込みおよびベクトルデータベースを備えたシンプルなチャットアプリ。
このレポは、PrivategptとLocalGptに基づいた蒸留とリフであり、Apple Silicon、より具体的にMacBook Pro(M1)でローカルに走るように作成しました。私の動機は、学習目的で、デバイスで完全にローカルに実行される最小限の実行可能なLLMチャットを作成することでした。

conda create -n simpleChat python=3.11
conda activate simpleChatgit clone https://github.com/ziligy/simpleChat_llama2_mac_silicon simpleChat
cd simpleChatラングチェーン
conda install -c conda-forge langchain==0.0.239Llama-CPP-Pythonを金属用にアップグレードします
CMAKE_ARGS= " -DLLAMA_METAL=on " FORCE_CMAKE=1 pip install --upgrade --force-reinstall llama-cpp-python==0.1.77 --no-cache-dirrequirestion.txt
pip install -r requirements.txtこのモデルまたは別の4ビット(優先)GGML(必須)モデルをダウンロードします
llama-2-13b-chat.ggmlv3.q4_1.bin
constants.pyでmodel_pathを定義して、使用しているモデルの場所と名前を設定します。
(例えばconstants.py )model_path = os.path.expanduser( '〜') + "/models/llama-2-13b-chat.ggmlv3.q4_1.bin"
gradio app.pyご覧ください:ローカルURLでの実行:http://127.0.0.1:7861
CMD +リンクをクリックして、ブラウザでチャットUIを起動します
ブラウザに移動してAIとチャットします。
チャットの応答には1〜2分かかる場合があるため、我慢する必要があります
注: ingest.pyコンポーネントは基本的にlocalgptのフォークです
.txt、.pdf、または.csvファイルのすべてをsource_documentsディレクトリに入れます
現在のデフォルトファイルタイプは、.txt、.pdf、.csv、および.xlsxです。他のファイルタイプを使用する場合は、デフォルトのファイルタイプのいずれかに変換する必要があります。
次のコマンドを実行して、すべてのデータを摂取します。
python ingest.pyローカルVectorStoreを含むインデックスが作成されます。ドキュメントのサイズに応じて、時間がかかります。
空のデータベースから開始する場合は、DBフォルダーを削除します。
rm -r ./DBingest.pyプログラムを実行すると、新しいDBディレクトリが再現されます