开源项目 private-chatbot-mpt30b-langchain
安装与使用教程
1. 项目的目录结构及介绍
private-chatbot-mpt30b-langchain/
├── source_documents/
│ └── (存放导入的文档,如CSV、Word、PDF等)
├── env.example
├── .gitignore
├── LICENSE
├── Makefile
├── README.md
├── chat.py
├── constants.py
├── download_model.py
├── ingest.py
├── poetry.lock
├── pyproject.toml
├── question_answer_docs.py
└── utils.py
目录结构介绍
- source_documents/: 存放需要导入的文档,支持CSV、Word、PDF等格式。
- env.example: 环境变量示例文件,用户需要复制并重命名为
.env
。 - .gitignore: Git忽略文件配置。
- LICENSE: 项目许可证文件。
- Makefile: 包含一些常用命令的Makefile。
- README.md: 项目介绍和使用说明。
- chat.py: 启动聊天脚本的入口文件。
- constants.py: 包含项目中使用的常量。
- download_model.py: 用于下载模型的脚本。
- ingest.py: 用于导入文档的脚本。
- poetry.lock: Poetry依赖锁定文件。
- pyproject.toml: 项目配置文件,包含依赖和项目元数据。
- question_answer_docs.py: 处理文档问答的脚本。
- utils.py: 包含一些实用工具函数。
2. 项目的启动文件介绍
chat.py
chat.py
是项目的启动文件,用户可以通过命令行输入问题并获取答案。启动方式如下:
python chat.py
该脚本会加载已导入的文档,并根据用户输入的问题从文档中提取相关信息并返回答案。
3. 项目的配置文件介绍
pyproject.toml
pyproject.toml
是项目的配置文件,包含了项目的依赖、元数据等信息。以下是文件的部分内容:
[tool.poetry]
name = "private-chatbot-mpt30b"
version = "0.1.0"
description = "Private chatbot on your CPU using mpt-30b and langchain"
authors = ["mayo <Twitter: @mayowaoshin>"]
license = "MIT"
[tool.poetry.dependencies]
python = "^3.10"
langchain = "^0.0.218"
ctransformers = "^0.2.10"
huggingface-hub = "^0.15.1"
uvicorn = "^0.22.0"
chromadb = "^0.3.26"
pymupdf = "^1.22.5"
unstructured = "^0.7.10"
extract-msg = "^0.41.5"
requests = "^2.31.0"
isort = "^5.12.0"
black = "^23.3.0"
sentence-transformers = "^2.2.2"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
配置文件介绍
- [tool.poetry]: 包含项目的名称、版本、描述、作者和许可证信息。
- [tool.poetry.dependencies]: 列出了项目所需的Python依赖包及其版本要求。
- [build-system]: 指定了构建系统所需的依赖和构建后端。
通过配置文件,用户可以了解项目的依赖关系,并根据需要进行调整和安装。