LangChain+DeepSeek+RAG本地部署教程

以下是基于 LangChain + DeepSeek + RAG 的完整本地部署教程及实例演示。本教程将帮助你从零开始搭建一个本地化的检索增强生成(RAG)应用,结合 LangChain 框架和 DeepSeek 模型,实现文档处理、向量存储、模型调用等功能。

一、准备工作

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 模型:

    1
    ollama pull deepseek-r1:1.5b

     模型大小可根据显存选择,1.5B 适合 4GB 显存,7B 适合 8GB 显存,14B 适合 16GB 显存

  • 下载完成后,运行模型:

    1
    ollama 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)

  

三、实例演示

场景:个人知识库搭建

  1. 上传文档:将 PDF 文档(如学术论文、合同等)加载到向量库中。

  2. 提问:例如,“请总结这篇论文的主要观点。”

  3. 获取答案:系统会从文档中检索相关信息并生成回答。

场景:沉浸式网页翻译

  1. 配置浏览器插件:安装 Page Assist 插件,并设置 DeepSeek 模型为翻译服务

  2. 翻译网页:浏览英文网页时,点击插件图标即可实现对照翻译。

四、优化与扩展

1. 性能优化

  • GPU 加速:若使用 NVIDIA 显卡,可安装 CUDA 驱动并启用 GPU 加速 

  • 量化模型:显存不足时,可使用 4-bit 量化版模型减少内存占用 

2. 远程访问

  • 内网穿透:使用贝锐花生壳或蒲公英实现远程访问本地部署的 DeepSeek 模型

  • Web UI:通过 Page Assist Web UI 插件,随时随地调用本地模型

五、总结

通过本教程,你可以轻松搭建一个基于 LangChain + DeepSeek + RAG 的本地化智能应用。无论是文档处理、知识库搭建还是网页翻译,都能通过简单的配置实现。希望你能在实践中不断优化,创造出更多有趣的应用!

如果需要更详细的代码示例或操作步骤,可以参考以下来源:



 
posted @   智昕  阅读(906)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示