MPT-30B es un potente modelo de código abierto entrenado con una longitud de contexto de 8k y supera al GPT-3 original. Anuncio
Con la versión cuantificada de MPT-30B, puede chatear con sus documentos de forma privada en su propia computadora sin conexión a Internet.
Especificaciones mínimas del sistema con 32 GB de RAM y python 3.10
.
pip install poetry
git clone {insert github repo url}
poetry install
.env.example
a .env
cp .env.example .env
python download_model.py
o visite aquí y descargue el archivo. Luego cree una carpeta models
en el directorio raíz y coloque el archivo allí.
De forma predeterminada, este repositorio tiene una carpeta source_documents
para almacenar los documentos que se van a ingerir. Puede reemplazar los documentos allí por los suyos propios.
Las extensiones de documentos admitidas incluyen:
.csv
: CSV,.docx
: documento de Word,.doc
: documento de Word,.eml
: correo electrónico,.epub
: EPub,.html
: archivo HTML,.md
: Rebaja,.pdf
: formato de documento portátil (PDF),.pptx
: documento de PowerPoint,.txt
: archivo de texto (UTF-8),Luego ejecute este script para ingerir
python ingest.py
La salida debería verse así:
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
Creará una carpeta db
que contiene el vectorstore local. Tardará entre 20 y 30 segundos por documento, según el tamaño del documento. Puede ingerir tantos documentos como desee y todos se acumularán en la base de datos de incrustaciones local. Si desea comenzar desde una base de datos vacía, elimine la carpeta db
.
Nota: durante el proceso de ingesta, ningún dato sale de su entorno local. Puede realizar la ingesta sin conexión a Internet, excepto la primera vez que ejecuta el script de ingesta, cuando se descarga el modelo de incrustaciones.
Ejecute estos scripts para hacer una pregunta y obtener una respuesta de sus documentos:
Primero, cargue la línea de comando:
poetry run python question_answer_docs.py `
o
make qa
En segundo lugar, espere a ver que la línea de comando solicite Enter a question:
entrada. Escribe tu pregunta y presiona enter.
Escriba exit
para finalizar el script.
Nota: Dependiendo de la memoria de su computadora, la solicitud de solicitud y la cantidad de fragmentos devueltos por los documentos de origen, el modelo puede tardar entre 40 y 300 segundos en responder a su solicitud.
Puedes utilizar este chatbot sin conexión a Internet.
[Opcional] Ejecute el chatbot simple
Si no desea chatear con sus documentos y prefiere simplemente interactuar con el chatbot MPT-30b, puede omitir la fase de ingesta y simplemente ejecutar el script del chatbot.
poetry run python chat.py `
o
make chat
Crédito a abacaj por la plantilla original aquí Crédito a imartinez por la lógica de ingesta privada de GPT y guía de documentos aquí Crédito a TheBloke por el modelo MPT-30B GGML aquí