DeepSeek-RAG-Chatbot

GitHub
1.7k 251 中等 1 次阅读 6天前MIT语言模型开发框架
AI 解读 由 AI 自动生成,仅供参考

DeepSeek-RAG-Chatbot 是一款完全免费、支持离线本地部署的智能问答工具,旨在帮助用户从 PDF、Word 和文本文件中快速提取精准信息。它有效解决了传统搜索在理解复杂文档语境时的不足,通过结合本地大模型与高级检索技术,让用户无需联网即可在个人电脑上享受私密、高效的知识查询体验。

这款工具特别适合注重数据隐私的企业员工、需要处理大量文献的研究人员,以及希望搭建本地知识库的开发者。其核心亮点在于构建了“终极检索增强生成(RAG)栈”:不仅融合了 BM25 关键词匹配与 FAISS 向量搜索的混合检索机制,还引入了神经重排序(Neural Reranking)和假设性文档嵌入(HyDe)技术,大幅提升了答案的准确度。最新版本更集成了 GraphRAG 技术,能自动构建知识图谱以理解文档间的深层关联,并具备聊天记忆功能,确保多轮对话上下文连贯。此外,它支持通过 Ollama 灵活切换多种开源模型,安装过程提供了一键脚本、手动配置及 Docker 等多种方式,兼顾了便捷性与灵活性,是打造私有化智能助手的理想选择。

使用场景

某法律科技团队需要在完全离线的内网环境中,让律师快速从数千份历史案件卷宗(PDF/DOCX)中精准检索判例依据并生成分析报告。

没有 DeepSeek-RAG-Chatbot 时

  • 检索精度低:仅靠关键词匹配无法理解“过失致人死亡”与“意外事件”等法律概念的深层语义关联,导致大量相关判例被遗漏。
  • 上下文断裂:系统无法记忆多轮对话历史,律师每次追问细节都需重新输入完整背景,沟通效率极低。
  • 逻辑关系模糊:传统工具只能提取片段文本,无法梳理案件中人物、时间与证据之间的复杂图谱关系,难以还原事实全貌。
  • 数据安全隐患:为满足隐私合规要求,团队不得不放弃云端大模型,导致无法利用先进的 AI 能力处理敏感案卷。

使用 DeepSeek-RAG-Chatbot 后

  • 混合检索更精准:结合 BM25 关键词与 FAISS 向量检索,再通过神经重排序(Neural Reranking)和 HyDE 技术,能准确召回语义相似但措辞不同的关键判例。
  • 对话连贯自然:内置的聊天记忆功能自动关联历史问答,律师可像与真人助理一样连续追问“该判例在二审中的改判理由是什么”,无需重复背景。
  • 知识图谱赋能:GraphRAG 功能自动构建案件知识图谱,清晰展示当事人关系网与证据链,帮助律师快速洞察案件核心矛盾。
  • 私有化部署无忧:支持本地一键安装且无需联网,所有数据留存于本地电脑,完美契合法律行业对数据隐私的严苛要求。

DeepSeek-RAG-Chatbot 通过融合图谱推理与混合检索技术,在确保数据绝对私密的前提下,将非结构化法律文档转化为可交互、有逻辑的智能知识库。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未明确说明(依赖 Ollama 运行本地模型,通常建议 NVIDIA GPU 以加速推理,但 CPU 亦可运行小模型)

内存

未说明(运行 7B 参数模型通常建议 16GB+,小模型如 1.7B 可低至 8GB)

依赖
notes该工具完全本地运行,无需联网。核心依赖是 Ollama,需手动或通过脚本安装并拉取指定模型(如 huihui-ai/Qwen3-1.7B-abliterated 和 nomic-embed-text)。支持三种安装方式:简化脚本(install.sh)、手动 Python 虚拟环境、Docker。若使用 Docker 且希望完全容器化,需配置双容器模式同时运行 Ollama 和应用。
python未说明(需支持 venv 和 pip,通常建议 3.8+)
ollama
streamlit
faiss-cpu
sentence-transformers
cross-encoder
langchain
networkx
pypdf
python-docx
DeepSeek-RAG-Chatbot hero image

快速开始

🚀 DeepSeek RAG 聊天机器人 3.0 – 现已支持 GraphRAG 和聊天历史集成!

(100% 免费、私密(无需联网)且可本地安装于个人电脑)

您的视频标题

🔥 DeepSeek + NOMIC + FAISS + 神经重排序 + HyDE + GraphRAG + 聊天记忆 = 终极 RAG 技术栈!

这款聊天机器人利用 DeepSeek-7BBM25FAISS神经重排序(交叉编码器)GraphRAG 以及 聊天历史集成,能够从 PDF、DOCX 和 TXT 文件中实现 快速、准确且可解释的信息检索


🔹 本版本新增功能

  • GraphRAG 集成:根据您的文档构建 知识图谱,以获得更 上下文相关关系性的理解。
  • 聊天记忆历史感知:通过参考 聊天历史来保持上下文,从而生成更加 连贯符合语境的回复。
  • 改进的错误处理:解决了与 聊天历史清除 相关的问题及其他小 bug,提供 更流畅的用户体验

即将推出的功能

您可以从 UI 界面选择模型(任何 Ollama 模型)。

例如:用户可以在下拉菜单中选择 Mistral、Gemma 或 Llama3 等模型。

聊天区域会根据文档内容推荐相关问题。

例如:如果文档是关于“机器学习基础”,则可能建议的问题包括: 什么是监督学习? 梯度下降是如何工作的? 常用的机器学习模型评估指标有哪些?

提供多种用于不同 RAG(检索增强生成)方法的流程。

例如: 基本 RAG 流程:使用 FAISS 进行检索,并采用简单的提示格式。 高级 RAG 流程:使用 ChromaDB 结合元数据过滤,实现更精准的文档检索。

使用不同的数据存储和相似度搜索技术。

例如: 数据存储:PostgreSQL、Pinecone、Weaviate、ChromaDB。 相似度搜索技术:余弦相似度、欧几里得距离、杰卡德相似度。

安装与设置

有几种方式可以安装并运行 DeepSeek RAG 聊天机器人

  1. 简化安装(推荐使用 install.sh
  2. 传统(手动 Python/venv)安装
  3. Docker 安装(非常适合容器化部署)

1️⃣ 简化安装(推荐使用 install.sh

这是最简单的入门方式。install.sh 脚本会自动完成设置过程。

  1. 克隆仓库:

    git clone https://github.com/SaiAkhil066/DeepSeek-RAG-Chatbot.git
    cd DeepSeek-RAG-Chatbot
    
  2. 运行安装脚本: 确保脚本具有可执行权限,然后运行:

    chmod +x install.sh
    ./install.sh
    

    该脚本将:

    • 检查是否已安装 Ollama,若未找到则进行安装。
    • 根据 requirements.txt 安装 Python 依赖项。
    • 创建或更新 .env 文件,其中包含必要的环境变量,包括模型 huihui-ai/Qwen3-1.7B-abliterated
    • 拉取指定的 Ollama 模型。
  3. 激活环境变量: 脚本完成后,源 .env 文件以将环境变量加载到当前 Shell 会话中:

    source .env
    
  4. 运行聊天机器人: 启动 Streamlit 应用程序:

    streamlit run app.py
    

    打开浏览器访问 http://localhost:8501 即可进入聊天机器人界面。


2️⃣ 传统(手动 Python/venv)安装

步骤 A:克隆仓库并安装依赖

git clone https://github.com/SaiAkhil066/DeepSeek-RAG-Chatbot.git
cd DeepSeek-RAG-Chatbot

# 创建虚拟环境
python -m venv venv

# 激活环境
# 在 Windows 上:
venv\Scripts\activate
# 在 macOS/Linux 上:
source venv/bin/activate

# 升级 pip(可选,但建议)
pip install --upgrade pip

# 安装项目依赖
pip install -r requirements.txt

步骤 B:下载并设置 Ollama

  1. 下载 Ollamahttps://ollama.com/
  2. 拉取所需模型
    ollama pull huihui-ai/Qwen3-1.7B-abliterated 
    ollama pull nomic-embed-text
    
    注意:install.sh 脚本会自动处理模型拉取。如果手动安装并希望使用其他模型,请相应地更新环境变量中的 MODELEMBEDDINGS_MODEL,或创建 .env 文件。

步骤 C:运行聊天机器人

  1. 确保 Ollama 已在您的系统上运行:
    ollama serve
    
  2. 启动 Streamlit 应用程序:
    streamlit run app.py
    
  3. 打开浏览器访问 http://localhost:8501 即可进入聊天机器人界面。

2️⃣ Docker 安装

A) 单容器方案(Ollama 在宿主机上)

如果 Ollama 已经 安装在您的宿主机上 并监听 localhost:11434,请按以下步骤操作:

  1. 构建并运行
    docker-compose build
    docker-compose up
    
  2. 应用现在将在 http://localhost:8501 提供服务。Ollama 在您的宿主机上运行,容器通过指定的 URL 访问它。

B) 双容器方案(Ollama 在 Docker 中)

如果您希望将 所有内容 都放在 Docker 中:

version: "3.8"

services:
  ollama:
    image: ghcr.io/jmorganca/ollama:latest
    container_name: ollama
    ports:
      - "11434:11434"

  deepgraph-rag-service:
    container_name: deepgraph-rag-service
    build: .
    ports:
      - "8501:8501"
    environment:
      - OLLAMA_API_URL=http://ollama:11434
      - MODEL=huihui-ai/Qwen3-1.7B-abliterated
      - EMBEDDINGS_MODEL=nomic-embed-text:latest
      - CROSS_ENCODER_MODEL=cross-encoder/ms-marco-MiniLM-L-6-v2
    depends_on:
      - ollama

然后:

docker-compose build
docker-compose up

这样,Ollama 和聊天机器人都会在 Docker 中运行。您可以通过 http://localhost:8501 访问聊天机器人。

不过,建议优先考虑方案 A)以获得更好的体验……


聊天机器人的工作原理

  1. 上传文档:通过侧边栏添加 PDF、DOCX 或 TXT 文件。
  2. 混合检索:结合 BM25FAISS 检索出最相关的文本片段。
  3. GraphRAG 处理:根据您的文档构建 知识图谱,以理解其中的关系和上下文。
  4. 神经重排序:使用 交叉编码器 模型对检索到的片段按相关性重新排序。
  5. 查询扩展(HyDE):生成假设答案以 扩展 您的查询,从而提高召回率。
  6. 聊天记忆历史集成:通过参考之前的用户消息来保持上下文。
  7. DeepSeek-7B 生成:基于排名靠前的片段生成最终答案。

🔹 为什么进行这次升级?

功能 旧版本 新版本
检索方法 混合(BM25 + FAISS) 混合 + GraphRAG
上下文理解能力 有限 借助知识图谱得到增强
用户界面 标准 可自定义 + 主题侧边栏
聊天历史 未被利用 与记忆完全集成
错误处理 基础 通过修复漏洞得到改进

📌 如何贡献

  • Fork 此仓库,提交 Pull Request,或针对新功能、Bug 修复开启 Issue
  • 我们非常欢迎社区提出关于如何扩展或改进聊天机器人的建议。

🔗 欢迎交流并分享您的想法!

您有反馈或建议吗?让我们在 Reddit 上一起讨论吧!🚀💡


尽情构建知识图谱、维护对话记忆,并在本地运行强大的 LLM 推理——一切尽在您的设备上。
检索增强型 AI 的未来已到来——无需联网!

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|2周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

160.8k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

109.2k|★★☆☆☆|昨天
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架