local-LLM-with-RAG 项目使用教程
1. 项目目录结构及介绍
local-LLM-with-RAG/
├── app.py
├── document_loader.py
├── llm.py
├── models/
├── pyrightconfig.json
├── readme.md
├── requirements.txt
├── ui.py
└── .gitignore
- app.py: 项目的启动文件,负责加载文档、生成嵌入向量、查询集合并回答问题。
- document_loader.py: 文档加载器,用于从不同来源加载数据。
- llm.py: 语言模型相关逻辑,包括模型选择和嵌入生成。
- models/: 存放模型文件的目录。
- pyrightconfig.json: Pyright 配置文件,用于静态类型检查。
- readme.md: 项目说明文档。
- requirements.txt: 项目依赖包列表。
- ui.py: 使用 Streamlit 创建的 Web UI,提供交互式界面。
- .gitignore: Git 忽略文件配置。
2. 项目的启动文件介绍
app.py
app.py
是项目的启动文件,主要功能包括:
- 加载文档:使用
document_loader.py
从指定路径加载 PDF 和 Markdown 文件。 - 生成嵌入向量:使用 Ollama 生成文档的嵌入向量。
- 查询集合:根据用户输入的问题,查询嵌入向量数据库,找到最相关的文档片段。
- 回答问题:使用语言模型生成回答,并将结果返回给用户。
启动命令示例:
python app.py -m <model_name> -p <path_to_documents> -e <embedding_model_name>
-m
: 指定使用的语言模型,默认值为mistral
。-p
: 指定文档路径,默认值为Research
。-e
: 指定嵌入模型,默认值为nomic-embed-text
。
3. 项目的配置文件介绍
pyrightconfig.json
pyrightconfig.json
是 Pyright 的配置文件,用于静态类型检查。配置文件内容如下:
{
"pythonVersion": "3.11",
"pythonPlatform": "Linux",
"typeCheckingMode": "basic",
"reportMissingImports": true,
"reportMissingTypeStubs": false
}
pythonVersion
: 指定 Python 版本。pythonPlatform
: 指定运行平台。typeCheckingMode
: 类型检查模式,这里设置为basic
。reportMissingImports
: 报告缺失的导入。reportMissingTypeStubs
: 报告缺失的类型声明。
requirements.txt
requirements.txt
列出了项目所需的所有依赖包,内容如下:
langchain==0.1.0
ollama==0.1.26
chroma==0.2.0
pypdf==1.28.4
streamlit==1.10.0
langchain
: 用于与大型语言模型交互的库。ollama
: 本地运行大型语言模型的平台。chroma
: 向量数据库,用于存储和检索嵌入向量。pypdf
: 用于读取和操作 PDF 文件的库。streamlit
: 用于创建交互式 Web 应用的框架。
通过以上配置文件和启动文件的介绍,您可以更好地理解和使用 local-LLM-with-RAG
项目。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考