本地法学硕士(RAG)
1.0.0
该项目是一个实验性沙箱,用于测试与 Ollama 运行本地大型语言模型 (LLM) 相关的想法,以执行检索增强生成 (RAG),以回答基于示例 PDF 的问题。在此项目中,我们还使用 Ollama 创建带有 nomic-embed-text 的嵌入,以便与 Chroma 一起使用。请注意,每次应用程序运行时都会重新加载嵌入,这效率不高,并且仅出于测试目的而在此处完成。
还有一个使用 Streamlit 创建的 Web UI,以提供与 Ollama 交互的不同方式。
python3 -m venv .venv
创建 Python 虚拟环境。source .venv/bin/activate
或在 Windows 上运行..venvScriptsactivate
来激活虚拟环境。pip install -r requirements.txt
安装所需的 Python 包。 注意:第一次运行该项目时,它将从 Ollama 下载 LLM 和嵌入所需的模型。这是一次性设置过程,可能需要一些时间,具体取决于您的互联网连接。
python app.py -m -p
运行主脚本以指定模型和文档路径。如果未指定型号,则默认为 Mistra。如果未指定路径,则出于示例目的,默认为位于存储库中的Research
。-e
指定要使用的嵌入模型。如果未指定,则默认为 nomic-embed-text。这将加载 PDF 和 Markdown 文件、生成嵌入、查询集合并回答app.py
中定义的问题。
ui.py
脚本的目录。streamlit run ui.py
来运行Streamlit 应用程序。这将启动本地 Web 服务器并在默认 Web 浏览器中打开一个新选项卡,您可以在其中与应用程序交互。 Streamlit UI 允许您选择模型、选择文件夹,与命令行界面相比,提供了一种更简单、更直观的方式与 RAG 聊天机器人系统进行交互。该应用程序将处理文档的加载、生成嵌入、查询集合并以交互方式显示结果。