MPT-30B ist ein leistungsstarkes Open-Source-Modell, das mit einer Kontextlänge von 8 KB trainiert wurde und das ursprüngliche GPT-3 übertrifft. Bekanntmachung
Mit der quantisierten Version von MPT-30B können Sie ohne Internetverbindung privat auf Ihrem eigenen Computer mit Ihren Dokumenten chatten.
Mindestsystemspezifikationen mit 32 GB RAM und python 3.10
.
pip install poetry
git clone {insert github repo url}
poetry install
.env.example
nach .env
cp .env.example .env
python download_model.py
oder besuchen Sie hier und laden Sie die Datei herunter. Erstellen Sie dann einen models
im Stammverzeichnis und legen Sie die Datei dort ab.
Standardmäßig verfügt dieses Repo über einen Ordner source_documents
, in dem die aufzunehmenden Dokumente gespeichert werden. Sie können die darin enthaltenen Dokumente durch Ihre eigenen ersetzen.
Zu den unterstützten Dokumenterweiterungen gehören:
.csv
: CSV,.docx
: Word-Dokument,.doc
: Word-Dokument,.eml
: E-Mail,.epub
: EPub,.html
: HTML-Datei,.md
: Markdown,.pdf
: Portable Document Format (PDF),.pptx
: PowerPoint-Dokument,.txt
: Textdatei (UTF-8),Führen Sie dann dieses Skript zur Aufnahme aus
python ingest.py
Die Ausgabe sollte so aussehen:
Creating new vectorstore
Loading documents from source_documents
Loading new documents: 100% | ██████████████████████ | 1/1 [00: 01< 00:00, 1.73s/it]
Loaded 1 new documents from source_documents
Split into 90 chunks of text (max. 500 tokens each)
Creating embeddings. May take some minutes...
Using embedded DuckDB with persistence: data will be stored in: db
Ingestion complete ! You can now run question_answer_docs.py to query your documents
Es wird ein db
erstellt, der den lokalen Vektorspeicher enthält. Dauert je nach Dokumentgröße 20–30 Sekunden pro Dokument. Sie können so viele Dokumente aufnehmen, wie Sie möchten, und alle werden in der lokalen Einbettungsdatenbank gesammelt. Wenn Sie mit einer leeren Datenbank beginnen möchten, löschen Sie den db
Ordner.
Hinweis: Während des Aufnahmevorgangs verlassen keine Daten Ihre lokale Umgebung. Sie können die Aufnahme auch ohne Internetverbindung durchführen, außer beim ersten Ausführen des Aufnahmeskripts, wenn das Einbettungsmodell heruntergeladen wird.
Führen Sie diese Skripte aus, um eine Frage zu stellen und eine Antwort aus Ihren Dokumenten zu erhalten:
Laden Sie zunächst die Befehlszeile:
poetry run python question_answer_docs.py `
oder
make qa
Warten Sie zweitens, bis Sie in der Befehlszeile nach Enter a question:
gefragt werden. Geben Sie Ihre Frage ein und drücken Sie die Eingabetaste.
Geben Sie exit
ein, um das Skript abzuschließen.
Hinweis: Abhängig vom Speicher Ihres Computers, der Eingabeaufforderung und der Anzahl der von den Quelldokumenten zurückgegebenen Blöcke kann es zwischen 40 und 300 Sekunden dauern, bis das Modell auf Ihre Eingabeaufforderung antwortet.
Sie können diesen Chatbot ohne Internetverbindung nutzen.
[Optional] Führen Sie den einfachen Chatbot aus
Wenn Sie nicht mit Ihren Dokumenten chatten möchten und lieber einfach mit dem MPT-30b-Chatbot interagieren möchten, können Sie die Aufnahmephase überspringen und einfach das Chatbot-Skript ausführen.
poetry run python chat.py `
oder
make chat
Dank an abacaj für die Originalvorlage hier. Dank an imartinez für die privateGPT-Ingest-Logik und Dokumentationsanleitung hier. Dank an TheBloke für das MPT-30B GGML-Modell hier