Aplikasi obrolan sederhana dengan database embeddings dan vektor, khusus untuk eksekusi lokal pada silikon mac/apel.
Repo ini adalah distilasi dan riff berdasarkan privategpt dan localgpt yang saya buat untuk secara eksklusif berjalan secara lokal di Apple Silicon dan lebih khusus MacBook Pro (M1) saya. Motivasi saya adalah membuat obrolan LLM minimum yang berjalan sangat lokal di perangkat saya, untuk tujuan pembelajaran.

conda create -n simpleChat python=3.11
conda activate simpleChatgit clone https://github.com/ziligy/simpleChat_llama2_mac_silicon simpleChat
cd simpleChatLangchain
conda install -c conda-forge langchain==0.0.239Tingkatkan llama-cpp-python untuk logam
CMAKE_ARGS= " -DLLAMA_METAL=on " FORCE_CMAKE=1 pip install --upgrade --force-reinstall llama-cpp-python==0.1.77 --no-cache-dirpersyaratan.txt
pip install -r requirements.txtUnduh model ini atau model GGML (diperlukan) 4-bit (lebih disukai) lainnya
llama-2-13b-chat.ggmlv3.q4_1.bin
Tentukan model_path di constants.py untuk mengatur lokasi dan nama model yang Anda gunakan.
(misalnya dalam constants.py ) model_path = os.path.expanduser ('~') + "/models/llama-2-13b-cat.ggmlv3.q4_1.bin"
gradio app.pyAnda harus melihat: berjalan di URL lokal: http://127.0.0.1:7861
CMD + Klik tautan untuk memulai obrolan UI di browser Anda
Pergi ke browser Anda untuk mengobrol dengan AI.
CATATAN Tanggapan obrolan mungkin memakan waktu satu hingga dua menit, jadi Anda harus bersabar
CATATAN: Komponen engest.py pada dasarnya adalah garpu dari localgpt
Masukkan salah satu dan semua file .txt, .pdf, atau .csv Anda ke dalam direktori sumber_documents
Jenis file default saat ini adalah .txt, .pdf, .csv, dan .xlsx, jika Anda ingin menggunakan jenis file lainnya, Anda perlu mengonversinya ke salah satu jenis file default.
Jalankan perintah berikut untuk menelan semua data.
python ingest.pyIni akan membuat indeks yang berisi vektorstore lokal. Akan memakan waktu, tergantung pada ukuran dokumen Anda.
Jika Anda ingin memulai dari database kosong, hapus folder DB.
rm -r ./DBMengeksekusi program engest.py akan membuat ulang direktori db baru