[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-SaiAkhil066--DeepSeek-RAG-Chatbot":3,"tool-SaiAkhil066--DeepSeek-RAG-Chatbot":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":93,"forks":94,"last_commit_at":95,"license":96,"difficulty_score":10,"env_os":97,"env_gpu":98,"env_ram":99,"env_deps":100,"category_tags":113,"github_topics":78,"view_count":32,"oss_zip_url":78,"oss_zip_packed_at":78,"status":17,"created_at":114,"updated_at":115,"faqs":116,"releases":147},9765,"SaiAkhil066\u002FDeepSeek-RAG-Chatbot","DeepSeek-RAG-Chatbot","100 % FREE, Private (No Internet) DeepSeek’s Advanced RAG: Boost Your RAG Chatbot: Hybrid Retrieval (BM25 + FAISS) + Neural Reranking + HyDe🚀","DeepSeek-RAG-Chatbot 是一款完全免费、支持离线本地部署的智能问答工具，旨在帮助用户从 PDF、Word 和文本文件中快速提取精准信息。它有效解决了传统搜索在理解复杂文档语境时的不足，通过结合本地大模型与高级检索技术，让用户无需联网即可在个人电脑上享受私密、高效的知识查询体验。\n\n这款工具特别适合注重数据隐私的企业员工、需要处理大量文献的研究人员，以及希望搭建本地知识库的开发者。其核心亮点在于构建了“终极检索增强生成（RAG）栈”：不仅融合了 BM25 关键词匹配与 FAISS 向量搜索的混合检索机制，还引入了神经重排序（Neural Reranking）和假设性文档嵌入（HyDe）技术，大幅提升了答案的准确度。最新版本更集成了 GraphRAG 技术，能自动构建知识图谱以理解文档间的深层关联，并具备聊天记忆功能，确保多轮对话上下文连贯。此外，它支持通过 Ollama 灵活切换多种开源模型，安装过程提供了一键脚本、手动配置及 Docker 等多种方式，兼顾了便捷性与灵活性，是打造私有化智能助手的理想选择。","# 🚀 **DeepSeek RAG Chatbot 3.0 – Now with GraphRAG & Chat History Integration!**\n**(100% Free, Private (No Internet), and Local PC Installation)**  \n\n[![Your Video Title](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FSaiAkhil066_DeepSeek-RAG-Chatbot_readme_2501e9793055.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=xDGLub5JPFE \"Watch on YouTube\")\n\n🔥 **DeepSeek + NOMIC + FAISS + Neural Reranking + HyDE + GraphRAG + Chat Memory = The Ultimate RAG Stack!**  \n\nThis chatbot enables **fast, accurate, and explainable retrieval of information** from PDFs, DOCX, and TXT files using **DeepSeek-7B**, **BM25**, **FAISS**, **Neural Reranking (Cross-Encoder)**, **GraphRAG**, and **Chat History Integration**.  \n\n---\n\n## **🔹 New Features in This Version**\n\n- **GraphRAG Integration:** Builds a **Knowledge Graph** from your documents for more **contextual** and **relational** understanding.  \n- **Chat Memory History Awareness:** Maintains context by referencing **chat history**, enabling more **coherent** and **contextually relevant** responses.  \n- **Improved Error Handling:** Resolved issues related to **chat history clearing** and other minor bugs for a **smoother user experience**.  \n\n---\n## **Upcoming Features**\n ## You can select a model from the UI interface (any Ollama model).\n\nExample: Users can choose between models like mistral, gemma, or llama3 from a dropdown menu.\n## The chat section suggests relevant questions based on the document.\n\nExample: If the document is about \"Machine Learning Basics,\" suggested questions could be:\nWhat is supervised learning?\nHow does gradient descent work?\nWhat are the common evaluation metrics for ML models?\n## Different pipelines are available for various RAG (Retrieval-Augmented Generation) methods.\n\nExample:\nBasic RAG Pipeline: Uses FAISS for retrieval and a simple prompt format.\nAdvanced RAG Pipeline: Uses ChromaDB with metadata filtering for more precise document retrieval.\n\n## Different data stores and similarity search techniques are used.\n\nExample:\nData Stores: PostgreSQL, Pinecone, Weaviate, ChromaDB.\nSimilarity Search Techniques: Cosine similarity, Euclidean distance, Jaccard similarity.\n  \n## *Installation & Setup**\n\nThere are a few ways to install and run the **DeepSeek RAG Chatbot**:\n\n1. **Simplified Installation (Recommended using `install.sh`)**\n2. **Traditional (Manual Python\u002Fvenv) Installation**\n3. **Docker Installation** (ideal for containerized deployments)\n\n---\n\n## **1️⃣ Simplified Installation (Recommended using `install.sh`)**\n\nThis is the easiest way to get started. The `install.sh` script automates the setup process.\n\n1.  **Clone the Repository:**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002FSaiAkhil066\u002FDeepSeek-RAG-Chatbot.git\n    cd DeepSeek-RAG-Chatbot\n    ```\n\n2.  **Run the Installation Script:**\n    Make sure the script is executable, then run it:\n    ```bash\n    chmod +x install.sh\n    .\u002Finstall.sh\n    ```\n    This script will:\n    *   Check for Ollama and install it if it's not found.\n    *   Install Python dependencies from `requirements.txt`.\n    *   Create or update a `.env` file with the necessary environment variables, including the model `huihui-ai\u002FQwen3-1.7B-abliterated`.\n    *   Pull the specified Ollama model.\n\n3.  **Activate Environment Variables:**\n    After the script completes, source the `.env` file to load the environment variables into your current shell session:\n    ```bash\n    source .env\n    ```\n\n4.  **Run the Chatbot:**\n    Launch the Streamlit app:\n    ```bash\n    streamlit run app.py\n    ```\n    Open your browser at **[http:\u002F\u002Flocalhost:8501](http:\u002F\u002Flocalhost:8501)** to access the chatbot UI.\n\n---\n\n## **2️⃣ Traditional (Manual Python\u002Fvenv) Installation**\n\n### **Step A: Clone the Repository & Install Dependencies**\n```\ngit clone https:\u002F\u002Fgithub.com\u002FSaiAkhil066\u002FDeepSeek-RAG-Chatbot.git\ncd DeepSeek-RAG-Chatbot\n\n# Create a virtual environment\npython -m venv venv\n\n# Activate your environment\n# On Windows:\nvenv\\Scripts\\activate\n# On macOS\u002FLinux:\nsource venv\u002Fbin\u002Factivate\n\n# Upgrade pip (optional, but recommended)\npip install --upgrade pip\n\n# Install project dependencies\npip install -r requirements.txt\n```\n\n### **Step B: Download & Set Up Ollama**\n1. **Download Ollama** → [https:\u002F\u002Follama.com\u002F](https:\u002F\u002Follama.com\u002F)  \n2. **Pull the required models**:\n   ```\n   ollama pull huihui-ai\u002FQwen3-1.7B-abliterated \n   ollama pull nomic-embed-text\n   ```\n   *Note: The `install.sh` script handles model pulling automatically. If installing manually and you want to use a different model, update `MODEL` or `EMBEDDINGS_MODEL` in your environment variables or create a `.env` file accordingly.*\n\n### **Step C: Run the Chatbot**\n1. Make sure **Ollama** is running on your system:\n   ```\n   ollama serve\n   ```\n2. Launch the Streamlit app:\n   ```\n   streamlit run app.py\n   ```\n3. Open your browser at **[http:\u002F\u002Flocalhost:8501](http:\u002F\u002Flocalhost:8501)** to access the chatbot UI.\n\n---\n\n## **2️⃣ Docker Installation**\n\n### **A) Single-Container Approach (Ollama on Your Host)**\n\nIf **Ollama** is already **installed on your host machine** and listening at `localhost:11434`, do the following:\n\n1. **Build & Run**:\n   ```\n   docker-compose build\n   docker-compose up\n   ```\n2. The app is now served at **[http:\u002F\u002Flocalhost:8501](http:\u002F\u002Flocalhost:8501)**. Ollama runs on your host, and the container accesses it via the specified URL.\n\n### **B) Two-Container Approach (Ollama in Docker)**\n\nIf you prefer **everything** in Docker:\n```\nversion: \"3.8\"\n\nservices:\n  ollama:\n    image: ghcr.io\u002Fjmorganca\u002Follama:latest\n    container_name: ollama\n    ports:\n      - \"11434:11434\"\n\n  deepgraph-rag-service:\n    container_name: deepgraph-rag-service\n    build: .\n    ports:\n      - \"8501:8501\"\n    environment:\n      - OLLAMA_API_URL=http:\u002F\u002Follama:11434\n      - MODEL=huihui-ai\u002FQwen3-1.7B-abliterated\n      - EMBEDDINGS_MODEL=nomic-embed-text:latest\n      - CROSS_ENCODER_MODEL=cross-encoder\u002Fms-marco-MiniLM-L-6-v2\n    depends_on:\n      - ollama\n```\n\nThen:\n```\ndocker-compose build\ndocker-compose up\n```\nBoth **Ollama** and the chatbot run in Docker. Access the chatbot at **[http:\u002F\u002Flocalhost:8501](http:\u002F\u002Flocalhost:8501)**.\n\n\n### **But consider step A) for comfort..**\n---\n\n# **How the Chatbot Works**\n\n1. **Upload Documents**: Add PDFs, DOCX, or TXT files via the sidebar.  \n2. **Hybrid Retrieval**: Combines **BM25** and **FAISS** to fetch the most relevant text chunks.  \n3. **GraphRAG Processing**: Builds a **Knowledge Graph** from your documents to understand relationships and context.  \n4. **Neural Reranking**: Uses a **Cross-Encoder** model for reordering the retrieved chunks by relevance.  \n5. **Query Expansion (HyDE)**: Generates hypothetical answers to **expand** your query for better recall.  \n6. **Chat Memory History Integration**: Maintains context by referencing previous user messages.  \n7. **DeepSeek-7B Generation**: Produces the final answer based on top-ranked chunks.\n\n---\n\n## **🔹 Why This Upgrade?**\n\n| Feature                       | Previous Version            | New Version                        |\n|------------------------------|-----------------------------|------------------------------------|\n| **Retrieval Method**         | Hybrid (BM25 + FAISS)      | Hybrid + **GraphRAG**             |\n| **Contextual Understanding** | Limited                    | **Enhanced with Knowledge Graphs** |\n| **User Interface**           | Standard                   | **Customizable + Themed Sidebar**  |\n| **Chat History**             | Not Utilized               | **Full Memory Integration**        |\n| **Error Handling**           | Basic                      | **Improved with Bug Fixes**        |\n\n\n---\n\n## **📌 Contributing**\n\n- **Fork** this repo, submit **pull requests**, or open **issues** for new features or bug fixes.  \n- We love hearing community suggestions on how to extend or improve the chatbot.\n\n---\n\n### **🔗 Connect & Share Your Thoughts!**\n\nGot feedback or suggestions? Let’s discuss on [**Reddit**](https:\u002F\u002Fwww.reddit.com\u002Fuser\u002Fakhilpanja\u002F)! 🚀💡\n\n---\n\n**Enjoy building knowledge graphs, maintaining conversation memory, and harnessing powerful local LLM inference—all from your own machine.**  \n_The future of retrieval-augmented AI is here—no internet required!_\n","# 🚀 **DeepSeek RAG 聊天机器人 3.0 – 现已支持 GraphRAG 和聊天历史集成！**\n**(100% 免费、私密（无需联网）且可本地安装于个人电脑）**\n\n[![您的视频标题](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FSaiAkhil066_DeepSeek-RAG-Chatbot_readme_2501e9793055.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=xDGLub5JPFE \"在 YouTube 上观看\")\n\n🔥 **DeepSeek + NOMIC + FAISS + 神经重排序 + HyDE + GraphRAG + 聊天记忆 = 终极 RAG 技术栈！**  \n\n这款聊天机器人利用 **DeepSeek-7B**、**BM25**、**FAISS**、**神经重排序（交叉编码器）**、**GraphRAG** 以及 **聊天历史集成**，能够从 PDF、DOCX 和 TXT 文件中实现 **快速、准确且可解释的信息检索**。  \n\n---\n\n## **🔹 本版本新增功能**\n\n- **GraphRAG 集成**：根据您的文档构建 **知识图谱**，以获得更 **上下文相关**和 **关系性**的理解。  \n- **聊天记忆历史感知**：通过参考 **聊天历史**来保持上下文，从而生成更加 **连贯**且 **符合语境**的回复。  \n- **改进的错误处理**：解决了与 **聊天历史清除** 相关的问题及其他小 bug，提供 **更流畅的用户体验**。  \n\n---\n## **即将推出的功能**\n ## 您可以从 UI 界面选择模型（任何 Ollama 模型）。\n\n例如：用户可以在下拉菜单中选择 Mistral、Gemma 或 Llama3 等模型。\n## 聊天区域会根据文档内容推荐相关问题。\n\n例如：如果文档是关于“机器学习基础”，则可能建议的问题包括：\n什么是监督学习？\n梯度下降是如何工作的？\n常用的机器学习模型评估指标有哪些？\n## 提供多种用于不同 RAG（检索增强生成）方法的流程。\n\n例如：\n基本 RAG 流程：使用 FAISS 进行检索，并采用简单的提示格式。\n高级 RAG 流程：使用 ChromaDB 结合元数据过滤，实现更精准的文档检索。\n\n## 使用不同的数据存储和相似度搜索技术。\n\n例如：\n数据存储：PostgreSQL、Pinecone、Weaviate、ChromaDB。\n相似度搜索技术：余弦相似度、欧几里得距离、杰卡德相似度。\n  \n## *安装与设置*\n\n有几种方式可以安装并运行 **DeepSeek RAG 聊天机器人**：\n\n1. **简化安装（推荐使用 `install.sh`）**\n2. **传统（手动 Python\u002Fvenv）安装**\n3. **Docker 安装**（非常适合容器化部署）\n\n---\n\n## **1️⃣ 简化安装（推荐使用 `install.sh`）**\n\n这是最简单的入门方式。`install.sh` 脚本会自动完成设置过程。\n\n1.  **克隆仓库：**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002FSaiAkhil066\u002FDeepSeek-RAG-Chatbot.git\n    cd DeepSeek-RAG-Chatbot\n    ```\n\n2.  **运行安装脚本：**\n    确保脚本具有可执行权限，然后运行：\n    ```bash\n    chmod +x install.sh\n    .\u002Finstall.sh\n    ```\n    该脚本将：\n    *   检查是否已安装 Ollama，若未找到则进行安装。\n    *   根据 `requirements.txt` 安装 Python 依赖项。\n    *   创建或更新 `.env` 文件，其中包含必要的环境变量，包括模型 `huihui-ai\u002FQwen3-1.7B-abliterated`。\n    *   拉取指定的 Ollama 模型。\n\n3.  **激活环境变量：**\n    脚本完成后，源 `.env` 文件以将环境变量加载到当前 Shell 会话中：\n    ```bash\n    source .env\n    ```\n\n4.  **运行聊天机器人：**\n    启动 Streamlit 应用程序：\n    ```bash\n    streamlit run app.py\n    ```\n    打开浏览器访问 **[http:\u002F\u002Flocalhost:8501](http:\u002F\u002Flocalhost:8501)** 即可进入聊天机器人界面。\n\n---\n\n## **2️⃣ 传统（手动 Python\u002Fvenv）安装**\n\n### **步骤 A：克隆仓库并安装依赖**\n```\ngit clone https:\u002F\u002Fgithub.com\u002FSaiAkhil066\u002FDeepSeek-RAG-Chatbot.git\ncd DeepSeek-RAG-Chatbot\n\n# 创建虚拟环境\npython -m venv venv\n\n# 激活环境\n# 在 Windows 上：\nvenv\\Scripts\\activate\n# 在 macOS\u002FLinux 上：\nsource venv\u002Fbin\u002Factivate\n\n# 升级 pip（可选，但建议）\npip install --upgrade pip\n\n# 安装项目依赖\npip install -r requirements.txt\n```\n\n### **步骤 B：下载并设置 Ollama**\n1. **下载 Ollama** → [https:\u002F\u002Follama.com\u002F](https:\u002F\u002Follama.com\u002F)  \n2. **拉取所需模型**：\n   ```\n   ollama pull huihui-ai\u002FQwen3-1.7B-abliterated \n   ollama pull nomic-embed-text\n   ```\n   *注意：`install.sh` 脚本会自动处理模型拉取。如果手动安装并希望使用其他模型，请相应地更新环境变量中的 `MODEL` 或 `EMBEDDINGS_MODEL`，或创建 `.env` 文件。*\n\n### **步骤 C：运行聊天机器人**\n1. 确保 **Ollama** 已在您的系统上运行：\n   ```\n   ollama serve\n   ```\n2. 启动 Streamlit 应用程序：\n   ```\n   streamlit run app.py\n   ```\n3. 打开浏览器访问 **[http:\u002F\u002Flocalhost:8501](http:\u002F\u002Flocalhost:8501)** 即可进入聊天机器人界面。\n\n---\n\n## **2️⃣ Docker 安装**\n\n### **A) 单容器方案（Ollama 在宿主机上）**\n\n如果 **Ollama** 已经 **安装在您的宿主机上** 并监听 `localhost:11434`，请按以下步骤操作：\n\n1. **构建并运行**：\n   ```\n   docker-compose build\n   docker-compose up\n   ```\n2. 应用现在将在 **[http:\u002F\u002Flocalhost:8501](http:\u002F\u002Flocalhost:8501)** 提供服务。Ollama 在您的宿主机上运行，容器通过指定的 URL 访问它。\n\n### **B) 双容器方案（Ollama 在 Docker 中）**\n\n如果您希望将 **所有内容** 都放在 Docker 中：\n```\nversion: \"3.8\"\n\nservices:\n  ollama:\n    image: ghcr.io\u002Fjmorganca\u002Follama:latest\n    container_name: ollama\n    ports:\n      - \"11434:11434\"\n\n  deepgraph-rag-service:\n    container_name: deepgraph-rag-service\n    build: .\n    ports:\n      - \"8501:8501\"\n    environment:\n      - OLLAMA_API_URL=http:\u002F\u002Follama:11434\n      - MODEL=huihui-ai\u002FQwen3-1.7B-abliterated\n      - EMBEDDINGS_MODEL=nomic-embed-text:latest\n      - CROSS_ENCODER_MODEL=cross-encoder\u002Fms-marco-MiniLM-L-6-v2\n    depends_on:\n      - ollama\n```\n\n然后：\n```\ndocker-compose build\ndocker-compose up\n```\n这样，**Ollama** 和聊天机器人都会在 Docker 中运行。您可以通过 **[http:\u002F\u002Flocalhost:8501](http:\u002F\u002Flocalhost:8501)** 访问聊天机器人。\n\n\n### **不过，建议优先考虑方案 A）以获得更好的体验……**\n---\n\n# **聊天机器人的工作原理**\n\n1. **上传文档**：通过侧边栏添加 PDF、DOCX 或 TXT 文件。  \n2. **混合检索**：结合 **BM25** 和 **FAISS** 检索出最相关的文本片段。  \n3. **GraphRAG 处理**：根据您的文档构建 **知识图谱**，以理解其中的关系和上下文。  \n4. **神经重排序**：使用 **交叉编码器** 模型对检索到的片段按相关性重新排序。  \n5. **查询扩展（HyDE）**：生成假设答案以 **扩展** 您的查询，从而提高召回率。  \n6. **聊天记忆历史集成**：通过参考之前的用户消息来保持上下文。  \n7. **DeepSeek-7B 生成**：基于排名靠前的片段生成最终答案。\n\n---\n\n## **🔹 为什么进行这次升级？**\n\n| 功能                       | 旧版本            | 新版本                        |\n|------------------------------|-----------------------------|------------------------------------|\n| **检索方法**         | 混合（BM25 + FAISS）      | 混合 + **GraphRAG**             |\n| **上下文理解能力** | 有限                    | **借助知识图谱得到增强** |\n| **用户界面**           | 标准                   | **可自定义 + 主题侧边栏**  |\n| **聊天历史**             | 未被利用               | **与记忆完全集成**        |\n| **错误处理**           | 基础                      | **通过修复漏洞得到改进**        |\n\n\n---\n\n## **📌 如何贡献**\n\n- 请 **Fork** 此仓库，提交 **Pull Request**，或针对新功能、Bug 修复开启 **Issue**。  \n- 我们非常欢迎社区提出关于如何扩展或改进聊天机器人的建议。\n\n---\n\n### **🔗 欢迎交流并分享您的想法！**\n\n您有反馈或建议吗？让我们在 [**Reddit**](https:\u002F\u002Fwww.reddit.com\u002Fuser\u002Fakhilpanja\u002F) 上一起讨论吧！🚀💡\n\n---\n\n**尽情构建知识图谱、维护对话记忆，并在本地运行强大的 LLM 推理——一切尽在您的设备上。**  \n_检索增强型 AI 的未来已到来——无需联网！_","# DeepSeek-RAG-Chatbot 快速上手指南\n\nDeepSeek-RAG-Chatbot 是一款完全免费、隐私安全（无需联网）的本地 RAG（检索增强生成）聊天机器人。它集成了 **GraphRAG**（知识图谱）、**混合检索**（BM25 + FAISS）、**神经重排序**（Cross-Encoder）以及**对话记忆**功能，支持从 PDF、DOCX 和 TXT 文件中快速、准确地提取信息并生成可解释的回答。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**：Linux \u002F macOS \u002F Windows (WSL 推荐)\n*   **Python**：版本 3.8 或更高\n*   **Git**：用于克隆代码仓库\n*   **Ollama**：本地大模型运行引擎（安装脚本会自动检测并安装，也可手动安装）\n*   **硬件建议**：建议拥有至少 8GB 显存（GPU）或 16GB 内存（CPU 模式），以流畅运行 7B 参数量的模型。\n\n> **国内用户提示**：\n> 1. 克隆仓库或下载依赖时若速度较慢，可配置 Git 和 Pip 的国内镜像源。\n> 2. Ollama 模型下载若受阻，可参考社区提供的国内加速代理方案。\n\n## 安装步骤\n\n推荐使用简化的自动安装脚本，这是最快捷的方式。\n\n### 方法一：简化安装（推荐）\n\n此方法通过 `install.sh` 脚本自动完成 Ollama 检查、依赖安装、环境变量配置及模型拉取。\n\n1.  **克隆仓库**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002FSaiAkhil066\u002FDeepSeek-RAG-Chatbot.git\n    cd DeepSeek-RAG-Chatbot\n    ```\n\n2.  **执行安装脚本**\n    赋予脚本执行权限并运行：\n    ```bash\n    chmod +x install.sh\n    .\u002Finstall.sh\n    ```\n    *脚本将自动执行以下操作：*\n    *   检查并安装 Ollama（如未安装）。\n    *   安装 `requirements.txt` 中的 Python 依赖。\n    *   创建 `.env` 文件并配置默认模型（`huihui-ai\u002FQwen3-1.7B-abliterated`）。\n    *   自动拉取所需的 Ollama 模型。\n\n3.  **加载环境变量**\n    脚本完成后，在当前终端会话中加载环境变量：\n    ```bash\n    source .env\n    ```\n\n4.  **启动应用**\n    运行 Streamlit 服务：\n    ```bash\n    streamlit run app.py\n    ```\n\n### 方法二：Docker 安装（可选）\n\n如果您希望容器化部署且宿主机已运行 Ollama：\n\n```bash\ndocker-compose build\ndocker-compose up\n```\n*注：若需将 Ollama 也包含在 Docker 中，请参考原文档中的 \"Two-Container Approach\" 配置。*\n\n## 基本使用\n\n安装完成后，按照以下步骤即可开始体验：\n\n1.  **访问界面**\n    打开浏览器，访问 **[http:\u002F\u002Flocalhost:8501](http:\u002F\u002Flocalhost:8501)**。\n\n2.  **上传文档**\n    在左侧侧边栏中，上传您需要分析的 **PDF**、**DOCX** 或 **TXT** 文件。系统会自动处理文档，构建知识图谱并向量化存储。\n\n3.  **开始对话**\n    *   在对话框中输入您的问题。\n    *   系统将结合 **GraphRAG** 理解文档间的关联，利用 **HyDE** 扩展查询，并通过 **神经重排序** 筛选最相关片段。\n    *   得益于 **对话记忆** 功能，您可以进行多轮连续提问，系统会记住上下文。\n\n4.  **查看结果**\n    聊天窗口将显示基于文档内容的准确回答，并支持追溯信息来源。\n\n---\n*现在，您可以在完全离线的本地环境中，享受具备知识图谱理解和长短期记忆能力的智能问答体验。*","某法律科技团队需要在完全离线的内网环境中，让律师快速从数千份历史案件卷宗（PDF\u002FDOCX）中精准检索判例依据并生成分析报告。\n\n### 没有 DeepSeek-RAG-Chatbot 时\n- **检索精度低**：仅靠关键词匹配无法理解“过失致人死亡”与“意外事件”等法律概念的深层语义关联，导致大量相关判例被遗漏。\n- **上下文断裂**：系统无法记忆多轮对话历史，律师每次追问细节都需重新输入完整背景，沟通效率极低。\n- **逻辑关系模糊**：传统工具只能提取片段文本，无法梳理案件中人物、时间与证据之间的复杂图谱关系，难以还原事实全貌。\n- **数据安全隐患**：为满足隐私合规要求，团队不得不放弃云端大模型，导致无法利用先进的 AI 能力处理敏感案卷。\n\n### 使用 DeepSeek-RAG-Chatbot 后\n- **混合检索更精准**：结合 BM25 关键词与 FAISS 向量检索，再通过神经重排序（Neural Reranking）和 HyDE 技术，能准确召回语义相似但措辞不同的关键判例。\n- **对话连贯自然**：内置的聊天记忆功能自动关联历史问答，律师可像与真人助理一样连续追问“该判例在二审中的改判理由是什么”，无需重复背景。\n- **知识图谱赋能**：GraphRAG 功能自动构建案件知识图谱，清晰展示当事人关系网与证据链，帮助律师快速洞察案件核心矛盾。\n- **私有化部署无忧**：支持本地一键安装且无需联网，所有数据留存于本地电脑，完美契合法律行业对数据隐私的严苛要求。\n\nDeepSeek-RAG-Chatbot 通过融合图谱推理与混合检索技术，在确保数据绝对私密的前提下，将非结构化法律文档转化为可交互、有逻辑的智能知识库。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FSaiAkhil066_DeepSeek-RAG-Chatbot_2501e979.jpg","SaiAkhil066","N Sai Akhil","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FSaiAkhil066_aaa6410e.jpg","Full Stack Web Developer","@FSWDT-10522  just started our organisation lets see","India",null,"www.saiakhil.space","https:\u002F\u002Fgithub.com\u002FSaiAkhil066",[82,86,90],{"name":83,"color":84,"percentage":85},"Python","#3572A5",79.8,{"name":87,"color":88,"percentage":89},"Shell","#89e051",18.3,{"name":91,"color":92,"percentage":32},"Dockerfile","#384d54",1720,251,"2026-04-14T01:44:44","MIT","Linux, macOS, Windows","未明确说明（依赖 Ollama 运行本地模型，通常建议 NVIDIA GPU 以加速推理，但 CPU 亦可运行小模型）","未说明（运行 7B 参数模型通常建议 16GB+，小模型如 1.7B 可低至 8GB）",{"notes":101,"python":102,"dependencies":103},"该工具完全本地运行，无需联网。核心依赖是 Ollama，需手动或通过脚本安装并拉取指定模型（如 huihui-ai\u002FQwen3-1.7B-abliterated 和 nomic-embed-text）。支持三种安装方式：简化脚本（install.sh）、手动 Python 虚拟环境、Docker。若使用 Docker 且希望完全容器化，需配置双容器模式同时运行 Ollama 和应用。","未说明（需支持 venv 和 pip，通常建议 3.8+）",[104,105,106,107,108,109,110,111,112],"ollama","streamlit","faiss-cpu","sentence-transformers","cross-encoder","langchain","networkx","pypdf","python-docx",[35,14],"2026-03-27T02:49:30.150509","2026-04-20T04:04:31.044064",[117,122,127,132,137,142],{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},43847,"启动应用时遇到 'torch.classes' 相关错误（RuntimeError: Tried to instantiate class '__path__._path'）怎么办？","该错误通常由 Python 版本兼容性（如 Python 3.13 尚未被 PyTorch 完全支持）或环境配置引起。解决方案如下：\n1. **推荐方案**：将 Python 版本降级至 3.10 或 3.11。\n2. **代码修复**：如果必须使用当前版本，请在 `app.py` 导入 torch 后、加载环境变量前添加以下代码补丁：\n   ```python\n   import os\n   import torch\n   torch.classes.__path__ = [os.path.join(torch.__path__[0], torch.classes.__file__)]\n   ```\n3. **重装 PyTorch**：尝试卸载并强制安装匹配 CUDA 版本的 PyTorch：\n   ```bash\n   pip uninstall torch torchvision torchaudio -y\n   pip install torch torchvision torchaudio --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu127\n   ```","https:\u002F\u002Fgithub.com\u002FSaiAkhil066\u002FDeepSeek-RAG-Chatbot\u002Fissues\u002F4",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},43848,"上传文档后使用 RAG 提问没有回答，或者 RAG 功能不工作怎么办？","这通常是因为 `.env` 配置文件中的模型名称与实际安装的 Ollama 模型不匹配。默认配置可能指向了不存在的模型。\n解决方法：\n1. 打开项目根目录下的 `.env` 文件。\n2. 检查 `MODEL` 变量。如果文档说明要求安装 `deepseek-r1:7b`，但默认值是其他长名称（如 `hf.co\u002F...`），请将其修改为你本地已安装的模型名称。\n   ```ini\n   MODEL=deepseek-r1:7b\n   ```\n   或者使用 `ollama ls` 命令查看本地可用模型并进行替换。\n3. 清除缓存并重启环境：\n   ```bash\n   conda deactivate\n   conda activate \u003C你的环境名>\n   ```\n4. 重新上传文档并再次提问。","https:\u002F\u002Fgithub.com\u002FSaiAkhil066\u002FDeepSeek-RAG-Chatbot\u002Fissues\u002F13",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},43849,"出现 'ConnectionError: Failed to connect to Ollama' 连接错误如何解决？","此错误表明应用无法连接到 Ollama 服务。请按以下步骤排查：\n1. **确保 Ollama 服务正在运行**：在终端执行 `ollama serve` 启动服务。\n2. **检查 `.env` 配置**：\n   - 如果是本地运行，确保 `OLLAMA_API_URL` 设置为 `http:\u002F\u002F127.0.0.1:11434` 或 `http:\u002F\u002Flocalhost:11434`。\n   - 如果使用 Docker 或远程服务器，请确保 IP 地址正确且端口（默认 11434）未被防火墙阻挡。\n   示例配置：\n   ```ini\n   OLLAMA_API_URL=http:\u002F\u002F127.0.0.1:11434\n   MODEL=deepseek-r1:7b\n   ```\n3. **更新配置**：如果是 Docker 部署问题，尝试拉取最新的 `docker-compose.yml` 文件。","https:\u002F\u002Fgithub.com\u002FSaiAkhil066\u002FDeepSeek-RAG-Chatbot\u002Fissues\u002F9",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},43850,"如何自定义配置 Ollama URL、主模型和嵌入模型（Embedding Model）？","所有自定义配置均在项目根目录的 `.env` 文件中完成。你可以编辑该文件来指定不同的服务地址和模型名称。示例如下：\n```ini\n# 设置 Ollama 服务地址（本地或远程 IP）\nOLLAMA_API_URL=http:\u002F\u002F192.168.8.38:11434\n\n# 设置主对话模型（需确保已在 Ollama 中 pull 该模型）\nMODEL=deepseek-r1:7b\n\n# 设置嵌入模型\nEMBEDDINGS_MODEL=nomic-embed-text:latest\n\n# 设置重排序模型（如有需要）\nCROSS_ENCODER_MODEL=cross-encoder\u002Fms-marco-MiniLM-L-6-v2\n```\n修改后保存文件并重启应用即可生效。","https:\u002F\u002Fgithub.com\u002FSaiAkhil066\u002FDeepSeek-RAG-Chatbot\u002Fissues\u002F15",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},43851,"上传文档时报告处理错误，且日志显示 Ollama 返回空 embedding 怎么办？","如果日志显示调用 Ollama embedding 接口返回 `{\"embedding\":[]}`，通常是因为指定的嵌入模型未下载或不匹配。\n解决步骤：\n1. 检查 `.env` 中的 `EMBEDDINGS_MODEL` 设置（例如 `nomic-embed-text:latest`）。\n2. 在终端手动拉取该模型：\n   ```bash\n   ollama pull nomic-embed-text\n   ```\n3. 测试 API 是否正常：\n   ```bash\n   curl -X POST http:\u002F\u002F127.0.0.1:11434\u002Fapi\u002Fembeddings -d '{\"model\": \"nomic-embed-text\", \"texts\": [\"test\"]}'\n   ```\n   确保返回的数据中包含具体的向量数值而非空数组。\n4. 如果是 Docker 环境问题，建议更新项目的 `docker-compose.yml` 到最新版本以修复潜在的网络或配置问题。","https:\u002F\u002Fgithub.com\u002FSaiAkhil066\u002FDeepSeek-RAG-Chatbot\u002Fissues\u002F10",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},43852,"仅在上传文档时出现 Ollama 连接错误（ConnectionError），但在其他时候正常，这是什么原因？","这种情况通常发生在生成嵌入向量（Embeddings）阶段，意味着应用试图调用 Ollama 的 embedding 接口时失败。常见原因及解决方法：\n1. **缺少嵌入模型**：确保你已下载并在 Ollama 中安装了 `.env` 文件中指定的嵌入模型（如 `nomic-embed-text`）。运行 `ollama list` 确认。\n2. **网络超时**：处理大文档时可能超时。尝试减小文档大小或增加 Ollama 服务的超时设置。\n3. **Docker 网络问题**：如果在 Docker 中运行，确保容器能正确访问宿主机的 Ollama 服务。可能需要将 `OLLAMA_API_URL` 设置为 `http:\u002F\u002Fhost.docker.internal:11434` (Mac\u002FWindows) 或宿主机的局域网 IP。\n4. **版本兼容性**：确保 `langchain-ollama` 和相关依赖库是最新版本。","https:\u002F\u002Fgithub.com\u002FSaiAkhil066\u002FDeepSeek-RAG-Chatbot\u002Fissues\u002F7",[]]