MPT-30B é um poderoso modelo de código aberto treinado com comprimento de contexto de 8k e supera o GPT-3 original. Anúncio
Usando a versão quantizada do MPT-30B, você pode conversar com seus documentos de forma privada em seu próprio computador, sem conexão com a Internet.
Especificações mínimas do sistema com 32 GB de RAM e python 3.10
.
pip install poetry
git clone {insert github repo url}
poetry install
.env.example
para .env
cp .env.example .env
python download_model.py
ou visite aqui e baixe o arquivo. Em seguida, crie uma pasta models
no diretório raiz e coloque o arquivo lá.
Por padrão, este repositório é uma pasta source_documents
para armazenar os documentos a serem ingeridos. Você pode substituir os documentos lá contidos pelos seus próprios.
As extensões de documentos suportadas incluem:
.csv
: CSV,.docx
: documento do Word,.doc
: documento do Word,.eml
: E-mail,.epub
: EPub,.html
: arquivo HTML,.md
: redução,.pdf
: formato de documento portátil (PDF),.pptx
: Documento PowerPoint,.txt
: arquivo de texto (UTF-8),Em seguida, execute este script para ingerir
python ingest.py
A saída deve ficar assim:
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
Ele criará uma pasta db
contendo o vectorstore local. Levará de 20 a 30 segundos por documento, dependendo do tamanho do documento. Você pode ingerir quantos documentos desejar e todos serão acumulados no banco de dados de embeddings local. Se você quiser iniciar a partir de um banco de dados vazio, exclua a pasta db
.
Observação: durante o processo de ingestão, nenhum dado sai do ambiente local. Você pode ingerir sem conexão com a Internet, exceto na primeira vez em que executar o script de ingestão, quando o modelo de incorporação for baixado.
Execute estes scripts para fazer uma pergunta e obter uma resposta de seus documentos:
Primeiro, carregue a linha de comando:
poetry run python question_answer_docs.py `
ou
make qa
Em segundo lugar, espere para ver a linha de comando solicitar Enter a question:
entrada. Digite sua pergunta e pressione Enter.
Digite exit
para finalizar o script.
Observação: dependendo da memória do seu computador, da solicitação do prompt e do número de partes retornadas dos documentos de origem, pode levar de 40 a 300 segundos para o modelo responder ao seu prompt.
Você pode usar este chatbot sem conexão com a internet.
[Opcional] Execute o chatbot simples
Se não quiser conversar com seus documentos e preferir simplesmente interagir com o chatbot MPT-30b, você pode pular a fase de ingestão e simplesmente executar o script do chatbot.
poetry run python chat.py `
ou
make chat
Crédito para abacaj pelo modelo original aqui Crédito para imartinez pela lógica de ingestão privateGPT e orientação de documentos aqui Crédito para TheBloke pelo modelo MPT-30B GGML aqui