LangChain+DeepSeek+RAG本地部署教程
一、准备工作
1. 安装 conda
是一个开源的包管理系统和环境管理系统,主要用于安装、管理和切换不同版本的软件包及其依赖关系。
-
访问 Conda官网 下载对应版本的安装包,双击安装即可,我这里下载的是miniConda,它继承了Conda的所有功能,但体积更小,安装包体积远小于Anaconda,仅包含必需的核心组件,如Python解释器和Conda包管理器。
-
下载完成后双击安装。
- Anaconda的使用方法就不详细描述了,可以参考Anaconda使用篇
- 这里我建议使用python3.10,因为它对AI的兼容性要更好
-
1
conda create -n 环境名 python=3.10
2. 安装 Ollama
Ollama 是一个用于本地部署大模型的工具,支持多种操作系统。以下是安装步骤:
-
Windows/Mac/Linux:访问 Ollama 官网 下载对应版本的安装包,双击安装即可。
-
验证安装:打开命令行,输入
ollama --version
,若显示版本号则说明安装成功。
3. 下载 DeepSeek 模型
-
在命令行中输入以下命令拉取 DeepSeek 模型:
1ollama pull deepseek-r1:1.5b
模型大小可根据显存选择,1.5B 适合 4GB 显存,7B 适合 8GB 显存,14B 适合 16GB 显存。
-
下载完成后,运行模型:
1ollama run deepseek-r1:1.5b
输入
/bye
退出对话
二、构建 RAG 应用
1. 安装依赖
确保已安装 Python 3.8+,并安装以下依赖:
1 | pip install langchain chromadb pdfplumber |
2. 加载文档
使用 PDFPlumberLoader
加载 PDF 文档并分割为适当块:
1 2 3 4 | from langchain.document_loaders import PDFPlumberLoader loader = PDFPlumberLoader( "your_document.pdf" ) documents = loader.load_and_split() |
3. 初始化向量存储
使用 Chroma 数据库保存文档向量:
1 2 3 4 5 | from langchain.vectorstores import Chroma from langchain.embeddings import OllamaEmbeddings embeddings = OllamaEmbeddings(model= "deepseek-r1:1.5b" ) vectorstore = Chroma.from_documents(documents, embeddings) |
4. 设置处理链
整合模型和提示模板,创建处理流程:
1 2 3 4 5 | from langchain.chains import RetrievalQA from langchain.llms import Ollama llm = Ollama(model= "deepseek-r1:1.5b" ) qa_chain = RetrievalQA.from_chain_type(llm, retriever=vectorstore.as_retriever()) |
5. 问答整合
结合检索与问答功能,实现 RAG 系统:
1 2 3 | query = "你的问题是什么?" response = qa_chain.run(query) print(response) |
三、实例演示
场景:个人知识库搭建
-
上传文档:将 PDF 文档(如学术论文、合同等)加载到向量库中。
-
提问:例如,“请总结这篇论文的主要观点。”
-
获取答案:系统会从文档中检索相关信息并生成回答。
场景:沉浸式网页翻译
-
配置浏览器插件:安装 Page Assist 插件,并设置 DeepSeek 模型为翻译服务。
-
翻译网页:浏览英文网页时,点击插件图标即可实现对照翻译。
四、优化与扩展
1. 性能优化
-
GPU 加速:若使用 NVIDIA 显卡,可安装 CUDA 驱动并启用 GPU 加速 。
-
量化模型:显存不足时,可使用 4-bit 量化版模型减少内存占用 。
2. 远程访问
-
内网穿透:使用贝锐花生壳或蒲公英实现远程访问本地部署的 DeepSeek 模型。
-
Web UI:通过 Page Assist Web UI 插件,随时随地调用本地模型。
五、总结
通过本教程,你可以轻松搭建一个基于 LangChain + DeepSeek + RAG 的本地化智能应用。无论是文档处理、知识库搭建还是网页翻译,都能通过简单的配置实现。希望你能在实践中不断优化,创造出更多有趣的应用!
如果需要更详细的代码示例或操作步骤,可以参考以下来源:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)