本地RAG示例项目教程
项目的目录结构及介绍
local-rag-example/
├── .gitignore
├── LICENSE
├── README.md
├── app.py
├── pyproject.toml
├── rag.py
└── run.sh
- .gitignore: 用于指定Git版本控制系统忽略的文件和目录。
- LICENSE: 项目的许可证文件,本项目使用MIT许可证。
- README.md: 项目说明文件,包含项目的基本信息和使用指南。
- app.py: 项目的主应用程序文件,负责启动和运行RAG系统。
- pyproject.toml: 项目配置文件,定义项目依赖和其他构建系统配置。
- rag.py: RAG系统的核心逻辑文件。
- run.sh: 启动脚本,用于简化项目的启动过程。
项目的启动文件介绍
app.py
app.py
是项目的主应用程序文件,负责启动和运行RAG系统。以下是该文件的主要功能:
- 初始化Streamlit应用界面。
- 加载和处理用户上传的PDF文档。
- 调用RAG系统处理用户查询。
- 显示查询结果。
run.sh
run.sh
是一个启动脚本,用于简化项目的启动过程。执行该脚本可以快速启动RAG系统。
项目的配置文件介绍
pyproject.toml
pyproject.toml
是项目的配置文件,定义了项目依赖和其他构建系统配置。以下是该文件的主要内容:
[tool.poetry]
name = "local-rag-example"
version = "0.1.0"
description = "Build your own ChatPDF and run them locally"
authors = ["Your Name <you@example.com>"]
license = "MIT"
[tool.poetry.dependencies]
python = "^3.8"
langchain = "^0.1.0"
streamlit = "^1.0.0"
streamlit-chat = "^0.1.0"
pypdf = "^3.0.0"
chromadb = "^0.1.0"
fastembed = "^0.1.0"
[tool.poetry.dev-dependencies]
pytest = "^6.2.5"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
- [tool.poetry]: 项目的基本信息,包括名称、版本、描述、作者和许可证。
- [tool.poetry.dependencies]: 项目的主要依赖,包括Python版本和各种库。
- [tool.poetry.dev-dependencies]: 开发依赖,如测试框架pytest。
- [build-system]: 构建系统配置。
以上是本地RAG示例项目的详细教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望这些信息能帮助你更好地理解和使用该项目。