项目介绍:private-chatbot-mpt30b-langchain
项目概述
private-chatbot-mpt30b-langchain 是一个基于 MPT-30B 和 Langchain 的开源项目。该项目允许用户在没有互联网连接的情况下,在本地计算机上私密地与自己的文档进行交流。MPT-30B 是一种强大的开源模型,拥有 8k 的上下文长度,其性能超越了原始的 GPT-3。通过使用 MPT-30B 的量化版本,用户可以在本地私密地与文档进行对话,而不必担心数据泄露到网络上。
系统要求
为了运行此项目,最低的系统配置要求是 32GB 内存,并且必须安装 Python 3.10
。
安装步骤
-
安装 Poetry
在命令行中执行以下命令以安装 Poetry:
pip install poetry
-
克隆仓库
使用下列命令克隆项目仓库:
git clone {插入 GitHub 仓库 URL}
-
安装项目依赖
进入项目目录后,执行以下命令安装项目所需的依赖:
poetry install
-
配置环境文件
将
.env.example
文件复制为.env
文件:cp .env.example .env
-
下载模型
下载大约 19GB 的模型文件。可以运行以下脚本:
python download_model.py
或者访问相关页面下载文件后,将其放入项目根目录的
models
文件夹中。 -
导入文档
将需要对话的文档放入
source_documents
文件夹中,该项目默认支持多种文档格式,如.csv
、.docx
、.pdf
等。完成文件存放后,运行以下命令进行文档导入:python ingest.py
导入完成后,文档会被分块并创建嵌入到本地向量数据库中。
与文档对话
运行以下命令发问并从文档中获取答案:
- 打开命令行:
或poetry run python question_answer_docs.py
make qa
- 在命令行提示输入问题时,输入问题按回车键。
输入 exit
指令可退出对话。
注意:根据计算机内存、问题复杂性和文档块数的不同,模型可能需要 40 至 300 秒来响应。
可选:运行纯聊天机器人
如果不想与文档对话,仅仅想与 MPT-30b 聊天机器人互动,可以跳过文档导入步骤,直接运行以下命令:
poetry run python chat.py
或
make chat
致谢
感谢 abacaj 提供的原始模板以及 imartinez 提供的 privateGPT 导入逻辑和文档指导,同时也感谢 TheBloke 提供的 MPT-30B GGML 模型。