使用说明
RAG MCP项目
该项目是基于“模型上下文协议”设计模式的检索增强生成(RAG)系统的简单实现。它使用本地知识库为用户查询提供上下文感知答案。
🚀 特性
- 文档加载:从本地加载和处理PDF文件
data目录。 - 文本组块:将文档拆分为可管理的块以进行嵌入。
- 矢量嵌入:使用拥抱脸
all-MiniLM-L6-v2模型在本地创建嵌入。 - 矢量存储器:利用
ChromaDB用于高效的本地矢量存储和检索。 - RAG链条:使用实现完整的RAG管道
LangChain根据文档内容回答问题。
🛠️ 设置和安装
-
克隆存储库(或设置文件夹): 确保所有项目文件都在本地目录中。
-
创建数据文件夹:
mkdir data将您的PDF文档放入此
data文件夹。 -
安装依赖项: 请确保您已安装Python 3.8+。然后,使用pip安装所需的软件包:
pip install langchain langchain-community langchain-huggingface chromadb pypdf langchain-openai
▶️ 如何跑步
-
设置你的法学硕士:
- 对于OpenAI:将API键设置为环境变量。在您的终端中,运行:(在Windows命令提示符上,使用
export OPENAI_API_KEY="sk-..."set OPENAI_API_KEY="sk-...") - 对于Ollama(当地):确保Ollama服务正在运行,并且您已经拉取了一个模型(例如。,
ollama pull llama3).
- 对于OpenAI:将API键设置为环境变量。在您的终端中,运行:
-
更新脚本:
- 在
app.py,更改"data/my_document.pdf"到您的PDF文件的名称。 - 确保脚本中的LLM初始化器与您的设置匹配(例如。,
ChatOpenAI或ChatOllama).
- 在
-
执行脚本: 从终端运行主应用程序:
python app.py脚本将处理文档并打印硬编码问题的答案。
📝 待办事项/未来改进
- []使用Streamlit或FastAPI创建web界面。
- []允许用户动态输入问题。
- []添加对更多文档类型的支持(例如。,
.txt,.docx). - []尝试不同的嵌入模型和LLM。
