Une application de chat simple avec une base de données d'intégration et de vecteur, exclusivement pour l'exécution locale sur Mac / Apple Silicon.
Ce dépôt est une distillation et un riff basé sur PrivateGpt et LocalGpt que j'ai créé pour exécuter exclusivement localement sur Apple Silicon et plus précisément mon MacBook Pro (M1). Ma motivation était de créer un chat LLM minimum viable en cours d'exécution complètement locale sur mon appareil, à des fins d'apprentissage.

conda create -n simpleChat python=3.11
conda activate simpleChatgit clone https://github.com/ziligy/simpleChat_llama2_mac_silicon simpleChat
cd simpleChatLubriole
conda install -c conda-forge langchain==0.0.239mettre à niveau lama-cpp-python pour le métal
CMAKE_ARGS= " -DLLAMA_METAL=on " FORCE_CMAKE=1 pip install --upgrade --force-reinstall llama-cpp-python==0.1.77 --no-cache-direxigences.txt
pip install -r requirements.txtTélécharger ce modèle ou un autre modèle GGML (obligatoire) (préféré) (requis)
llama-2-13b-chat.ggmlv3.q4_1.bin
Définissez Model_Path dans constants.py pour définir l'emplacement et le nom du modèle que vous utilisez.
(par exemple dans constants.py ) Model_path = os.path.expanduser ('~') + "/models/llama-2-13b-chat.ggmlv3.q4_1.bin"
gradio app.pyVous devriez voir: courir sur URL local: http://127.0.0.1:7861
CMD + Cliquez sur le lien pour démarrer l'interface utilisateur de chat dans votre navigateur
Allez chez votre navigateur pour discuter avec l'IA.
Remarque Les réponses du chat peuvent prendre une à deux minutes, vous devrez donc être patient
Remarque: le composant ingest.py est fondamentalement une fourche de localgpt
Mettez tous vos fichiers .txt, .pdf ou .csv dans le répertoire Source_Documents
Les types de fichiers par défaut actuels sont .txt, .pdf, .csv et .xlsx, si vous souhaitez utiliser un autre type de fichier, vous devrez le convertir en l'un des types de fichiers par défaut.
Exécutez la commande suivante pour ingérer toutes les données.
python ingest.pyIl créera un index contenant le VectorStore local. Prendra du temps, selon la taille de vos documents.
Si vous souhaitez commencer à partir d'une base de données vide, supprimez le dossier DB.
rm -r ./DBL'exécution du programme Ingest.py recréera un nouveau répertoire DB