当前位置: 首页 > news >正文

从零搭建本地RAG知识库,你的文档终于能自己回答问题了!从安装到测试全流程讲解!

**看完你能得到什么:**一个跑在本地的私有RAG知识库,上传文档后可以直接对话提问。全程断网可用,数据不出你的电脑。

这篇文章适合谁

  • 有不方便上传到公有云的文档(合同、内部手册、客户资料),想用 AI 检索
  • 想在本地 GPU 上跑一个知识库问答系统,不想付费买云端方案
  • 已经看过别人的教程但没跑通(这篇针对 RTX 4070 Ti 真实踩坑
  • 想尝试在自己电脑上搭建RAG的朋友

前置条件

项目要求
硬件NVIDIA RTX 4070 Ti(12 GB 显存)或类似配置(最低 8 GB 显存)
系统WSL2(Ubuntu 22.04)或原生Linux
CUDA 版本≥ 11.8,推荐 12.1+
提前装好Git(https://git-scm.com/)
下载量模型约 5 GB(Qwen2.5-7B Q4_K_M) + 1.3 GB(bge-large-zh),建议预留30G SSD空间。
预计耗时30-上不封顶(要下模型,取决于网速)
难度中等

为什么选 Langchain-Chatchat

也想尝试Dify、AnythingLLM、PrivateGPT。但是Dify 太重(Docker + PostgreSQL + Redis 全家桶),AnythingLLM 本地模型问答延迟高。Langchain-Chatchat 是一个纯 Python 项目,在 12 GB 显存上同时跑嵌入模型 + Qwen 量化 LLM,问答延迟不到 2 秒,中文生态也最好(社区全中文,有问题搜得到就好解决)。

架构速览

你的文档(PDF/Word/TXT) │ ▼嵌入模型(bge-large-zh-v1.5,1.3 GB 显存) │ 将文档转成向量 ▼向量数据库(FAISS) │ ▼LLM(Qwen2.5-7B-Instruct Q4_K_M,5 GB 显存) │ 根据检索到的文档片段生成答案 ▼回答

显存预算( 12 GB )

组件占用
嵌入模型 bge-large-zh-v1.5 (FP16)~1.3 GB
LLM Qwen2.5-7B Q4_K_M(Ollama)~5 GB
FAISS 向量索引(1 万份文档)~0.2 GB
剩余给 KV Cache / 上下文~5.5 GB
合计12 GB ✓ 刚好够

5.5 GB 的 KV cache 足够支持约 8000-12000 token 的上下文窗口,覆盖绝大多数文档问答场景。如果你的文档单篇超过 3 万字,建议切分后再上传。


环境准备

1 确认 CUDA 可用

nvidia-smi

期望正确的输出举例:

+-----------------------------------------------------------------------+| NVIDIA-SMI 560.35.03 Driver Version: 560.35.03 CUDA Version: 12.6 ||---------------------+----------------------+----------------------+| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. ||========================+======================+======================|| 0 NVIDIA GeForce RTX 4070 Ti | 00000000:01:00.0 On | N/A || 30% 45C P8 9W / 285W | 1689MiB / 12282MiB | 0% Default |+---------------------------+----------------------+----------------------+

以我的配置举例,输入指令后得到的反馈:

这里咱们重点关注三个数字:CUDA Version(我的右上角是 13.3)、12282 MiB(确认显存总量)、RTX 4070 Ti(确认显卡型号)。

以下是CUDA 版本要求
版本能否使用说明
CUDA 12.x(12.1-12.6)✅ 推荐完美匹配 PyTorch cu121,零磨合
CUDA 11.8✅ 可用需改用 cu118 版 PyTorch(见下一步),功能无差异
CUDA 11.0-11.7⚠️ 不推荐PyTorch 官方已停止为这些版本提供预编译包
低于 11.0❌ 不可用bge-large-zh 和 Qwen 的底层算子需要较新的 CUDA

nvidia-smi 显示的 CUDA Version 和实际装的 CUDA Toolkit 是两回事:

nvidia-smi 右上角显示的是驱动最高支持版本(比如 12.6);你实际安装的 CUDA Toolkit 版本才是 PyTorch 编译时对标的版本。我们用 PyTorch 预编译包(cu121),不需要手动装 CUDA Toolkit——PyTorch 自带所需的 CUDA 运行时。只要驱动的 CUDA Version ≥ 11.8,你就放心往下走。

Langchain-Chatchat 依赖 GPU 加速——嵌入模型用 CUDA 比 CPU 快 10 倍以上,LLM 推理更是依赖 GPU。如果 nvidia-smi 报错或显存不足,后面所有步骤都是无效的。这一步是全链路的第一道关卡,5 秒钟,省掉后面半小时的盲目操作。

一些报错现象原因解决
nvidia-smi: command not found没装 NVIDIA 驱动,或 WSL 内路径没配WSL 用户:驱动必须装在 Windows 侧(不是 WSL 里)。去 NVIDIA 官网下载 Windows 版 Game Ready 驱动,安装后在 PowerShell 执行 wsl --shutdown,再重新打开 WSL
有输出但没有 NVIDIA GPU集成显卡或 AMD 显卡只有 NVIDIA 显卡才能用 CUDA。AMD 显卡需要用 ROCm,本教程不覆盖
显存 < 8 GB显存不够同时跑嵌入模型 + LLM① 嵌入模型用 CPU 跑(改 EMBEDDING_DEVICE = “cpu”,省 1.3 GB)② LLM 换成 Qwen2.5-3B(约 3 GB),但问答质量会下降
驱动版本 < 11.8驱动太老去 NVIDIA 官网下载最新驱动覆盖安装

2 安装 Ollama(管理 LLM)

一行命令就可以装上:

curl -fsSL https://ollama.com/install.sh | sh

装好后打开就是这个样子:

这里我们有两个模型要管——嵌入模型(bge)和对话模型(Qwen)。嵌入模型很小(1.3 GB),直接用 Python 库加载就行;但 Qwen 7B 的量化版本有 5 GB,手动管理 GGUF 文件 + 配置推理参数很麻烦。Ollama 一行命令下载、一行命令启动服务、统一的 API 接口,比自己折腾 llama.cpp 省一半时间。

现象解决
curl: command not foundsudo apt install curl -y
下载速度极慢 / 连接超时去 Ollama GitHub Releases 下载 .tar.gz,解压后 sudo mv bin/ollama /usr/local/bin/
安装成功但ollama命令找不到新开一个终端,或执行 source ~/.bashrc

安装后验证:

ollama --version

得到ollama版本号代表安装成功:

3 创建 Python 虚拟环境

3.1 先进wsl系统:在终端输入wsl(忽视我的那两条报错)

wsl

3.2 接着安装virtualenv,安装virtualenv是为了避免直接用python3安装虚拟环境而出现的sudu密码报错,所以我们这里直接用清华源安装virtualenv,然后用virtualenv创建环境

pip3 install --break-system-packages virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple

3.3 用virtualenv创建环境

virtualenv ~/langchain-chatchat-env source ~/langchain-chatchat-env/bin/activate

👆环境创建好之后,终端前缀会加上langchain-chatchat-env的字样,就代表虚拟环境配好了。

为什么要单独配一个虚拟环境:

Langchain-Chatchat 依赖十几个 Python 包(torch、transformers、sentence-transformers、faiss、langchain 等),版本之间有严格的兼容关系。如果你在系统 Python 里直接 pip install,很快会跟其他项目的依赖打架。

虚拟环境 = 给这个项目一个独立的小房子。就算里面打得天翻地覆,外面你的系统 Python 和 Hermes 完全不受影响。装坏了删掉重来就是一瞬间的事。

现象解决
python3: command not foundsudo apt install python3 python3-pip -y
ensurepip is not availablesudo apt install python3-venv -y。如果 sudo 不可用,直接 pip install --break-system-packages(不推荐但能救命)
source 后终端前缀没变确认路径正确:ls ~/langchain-chatchat-env/bin/activate 存在吗?

**怎么知道虚拟环境已激活:**终端前缀会变成 (langchain-chatchat-env)。后面所有 pip install 和 python 命令都必须在这个环境下执行。如果关了终端,重新打开后需要重新执行 source 那行。


4 安装 PyTorch

如果你的CUDA是12.x(12.1-12.6),或更高比如我13.3,那用下面这串指令

pip install "torch>=2.6" torchvision --index-url https://download.pytorch.org/whl/cu121
如果你nvidia-smi 的 CUDA Version 是 11.x

把 cu121 改成 cu118:

pip install "torch>=2.6" torchvision --index-url https://download.pytorch.org/whl/cu118

输入指令后,就是等:

如果安装过程中出现下图我这种的黄色WARNING提示,并且Read timed out,不用担心,这可能是当时拉取下载时网络波动导致没下载到,会自动尝试重连下载,也就是WARNING后面会紧接着显示Downloading

整个下载过程大概会装20-30个包,大小大概3G。

等了大概10分钟,当看到出现Successfully installed就说明安装成功了。

然后我们验证一下,验证 GPU 可见:

python3 -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))"

输出True和 你的显卡型号 那就对味了**。**

PyTorch 默认从 PyPI 安装的是 CPU 版本,没有 CUDA 支持。如果装了 CPU 版跑 Langchain-Chatchat,嵌入速度从秒级变成分钟级,LLM 推理直接无法加载到 GPU 上。指定 cu121 索引确保下载的是 CUDA 12.1 编译版本。

一些可能遇到的报错现象解决
torch.cuda.is_available() 返回 False最常见:装了 CPU 版 PyTorch。pip list
torch.cuda.get_device_name(0) 报错GPU 序号问题。试试 python3 -c “import torch; print(torch.cuda.device_count())”,如果输出 0,回退到上一步排查驱动
pip 下载慢加清华源:pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121 -i https://pypi.tuna.tsinghua.edu.cn/simple

5 克隆项目 + 安装依赖code-snippet__js # 克隆项目 git clone https://github.com/chatchat-space/Langchain-Chatchat.git # 进入项目文件,这里的名字必须和你下载的项目名字相同(如果你是在镜像下载名字可能会出现小写) cd Langchain-Chatchat

# 安装依赖,直接用手工安装 # 锁定 langchain 版本(必须!新版 langchain 1.x 不兼容) pip install langchain==0.1.17 langchain-core==0.1.53 langchain-community==0.0.36 \ langchain-openai==0.0.6 langchain-experimental==0.0.58 langchain-text-splitters==0.0.2 \ langsmith==0.1.17 sentence_transformers faiss-cpu PyMuPDF \ -i https://pypi.tuna.tsinghua.edu.cn/simple # 从本地子包安装项目本身 pip install libs/chatchat-server --no-deps -i https://pypi.tuna.tsinghua.edu.cn/simple # 批量补装剩余依赖 pip install htbuilder humanlayer jieba json_repair langchainhub loguru markdownify \ mcp nest_asyncio numexpr opencv-python openpyxl pathlib pyjwt pymysql \ python-docx python-multipart rank_bm25 rapidocr_onnxruntime ruamel_yaml \ streamlit==1.34.0 streamlit-aggrid==1.0.5 streamlit-antd-components==0.3.1 \ streamlit-chatbox==1.1.12.post4 streamlit-extras==0.4.2 streamlit-modal==0.1.0 \ streamlit-option-menu==0.3.12 streamlit-paste-button==0.1.2 strsimpy memoization \ httpx==0.27.2 chardet \ -i https://pypi.tuna.tsinghua.edu.cn/simple
#安装项目 如果你的python是3.10-3.11 pip install langchain-chatchat -U

ps:

为什么锁死所有版本号:langchain-chatchat 0.3.1.3 基于 langchain 0.1.x 开发,清华源默认装的是不兼容的 1.x。锁版本 = 一劳永逸。

为什么 streamlit 锁 1.34.0:新版移除了 experimental_dialog 等 API,项目 WebUI 依赖它们。

为什么 httpx 锁 0.27.2:新版移除了 proxies 参数,导致 API 通信全部报错。

注意:上方的安装方式适合大多数人,但是如果你的python跟我一样是3.12,由于官方明确表示目前是支持到了3.11,所以我们3.12安装大概率报错。跟我下面的代码进行安装即可。

#手动安装,跳过依赖,因为我们已经装过了 pip install faiss-cpu -i https://pypi.tuna.tsinghua.edu.cn/simple pip install . --no-deps -i https://pypi.tuna.tsinghua.edu.cn/simple

装好之后验证一下全部依赖是否都安装上了:

#验证依赖,输出✓ 全部OK就代表安装依赖都成功 python3 -c "import langchain, fastapi, fitz, sentence_transformers; print('✓ 全部OK')"

缺什么依赖会告诉你,复制后发给你的Agent,它会给你代码。

装完之后回到项目根目录,以便咱们继续后面的配置:

cd /mnt/c/Users/你的用户名/langchain-chatchat

注意,装基础依赖的两次pip顺序不要搞反了;langchain-chatchat 是项目本身包。分开来是为了——如果装到一半报错,你能立刻定位是哪一步出了问题。揉在一起装,报错了根本不知道是谁的锅。

pip install -r requirements.txt这一步如果报错,就直接输入pip install

一些可能遇到的报错现象解决
第一步克隆项目 git clone 超时 / 连不上 GitHub 建议大家直接用镜像① 用镜像:git clone https://ghproxy.com/https://github.com/chatchat-space/Langchain-Chatchat.git ② 去 Gitee 搜 Langchain-Chatchat 搬运仓库,我搜到的是:git clone https://gitee.com/mirrors/langchain-chatchat.git
faiss-gpu 装不上直接装 CPU 版:pip install faiss-cpu,然后编辑 requirements.txt 删掉 faiss-gpu 那行
externally-managed-environment确认虚拟环境已激活。如果已激活还报错,加 --break-system-packages 参数
版本冲突(如 numpy)先 pip install -r requirements.txt,看具体哪个包报错,手动指定兼容版本

下载模型

两个模型需要分别下载:嵌入模型(向量化文档)和 LLM(生成回答)。它们在系统里的角色完全不同。

嵌入模型:BAAI/bge-large-zh-v1.5

python3 -c "from sentence_transformers import SentenceTransformer; SentenceTransformer('BAAI/bge-large-zh-v1.5')"

这里我直接用的镜像版,在下面“一些可能遇到的报错现象”板块复制我的这串镜像代码。

项目数值
大小1.3 GB(FP16)
中文效果在 C-MTEB 中文基准上排名前列
最大输入长度512 token

嵌入模型 = 图书管理员,负责把书分类上架;LLM = 学者,负责根据找到的书回答问题。你不能让学者同时管理图书馆。

**为什么是 bge-large-zh-v1.5:**BAAI(北京智源)出品,C-MTEB 中文检索任务常年第一。large 版本虽然 1.3 GB,但检索精度比 base 版本高出一截。在 12 GB 显存里,多花 1 GB 换更高的召回率完全值得——检索质量是知识库问答的天花板。

一些可能遇到的报错现象解决
下载极慢(国内直连慢)export HF_ENDPOINT=https://hf-mirror.com 然后重新运行 也可以直接用这个:code-snippet__js HF_ENDPOINT=https://hf-mirror.com python3 -c "from sentence_transformers import SentenceTransformer; SentenceTransformer('BAAI/bge-large-zh-v1.5')"
sentence_transformers 模块找不到pip install sentence-transformers
下载到一半断了模型缓存在 ~/.cache/huggingface/hub/,重新运行会断点续传。若混用了直连和镜像,删掉缓存重试

LLM:Qwen2.5-7B-Instruct(Q4_K_M 量化)

ollama pull qwen2.5:7b-instruct-q4_K_M

项目数值
大小~5 GB
量化方式Q4_K_M(4-bit,中等质量)
中文能力原生中文模型,中文问答效果极佳

为什么选 7B 而不是 3B 或 14B:
3B:太小,知识面窄,复杂问题容易胡说。省下来的显存做不了别的事。
14B:太大,量化后 8 GB,加上嵌入模型只剩不到 3 GB 给上下文。
7B:刚好。Q4_K_M 量化后 5 GB,中文问答效果足够好,显存还剩 5.5 GB 给上下文。

**为什么用 Q4_K_M:**Qwen2.5-7B 原始 BF16 是 14 GB,一张卡装不下。Q4_K_M 是 llama.cpp 团队调出来的 4-bit 甜点——比 Q5 省 2 GB,比 Q3 质量明显更好。实测几乎感觉不到和完整精度的区别。

**为什么用 Ollama:**集成 llama.cpp,自动处理量化加载、显存管理。你用 transformers 要手动写 20 行加载代码;Ollama 一行命令搞定,并提供了标准 OpenAI 兼容 API。

现象解决
ollama: command not foundOllama 没装上。重新执行第 2 步
下载速度极慢Ollama 注册表在国内直连可能慢。设置代理或手动下载 GGUF 后导入
显存不足警告nvidia-smi 检查是否有其他程序占用显存

验证模型加载成功

# 测试嵌入模型HF_HUB_OFFLINE=1 python3 -c "from sentence_transformers import SentenceTransformerm = SentenceTransformer('BAAI/bge-large-zh-v1.5')print('嵌入模型加载成功, 输出维度:', m.encode('测试').shape)"# 测试 LLMollama run qwen2.5:7b-instruct-q4_K_M "你好,1+1等于几?"

正确输出:
嵌入模型 → 嵌入模型加载成功, 输出维度: (1, 1024)
LLM → 你好!1+1等于2。

安装和下载都是异步的——你敲了命令,不代表东西真的对了。花 30 秒在这里验证,省掉后面排查 10 分钟。

另外,敲了验证代码请耐心等待,加载模型需要一定时间(超过5min就别等了问AI)。


配置

初始化配置

# 进入子包目录(新版是 monorepo 结构)cd libs/chatchat-server# 创建所需目录(新版不会自动创建)mkdir -p data/knowledge_base data/media data/temp data/logs# 初始化知识库python3 chatchat/init_database.py --recreate-vs

新版没有 copy_config_example.py了,首次启动时配置自动生成,data目录需要手动创建,缺少任一目录启动都会报错。

需要修改的配置项

配置文件在data/basic_settings.yaml(首次启动后自动生成)。若使用默认 Ollama 配置则无需修改——项目会自动检测 Ollama 中的模型。如需手动配置:

# ========== LLM 配置 ==========LLM_MODELS = ["qwen2.5:7b-instruct-q4_K_M"]OLLAMA_API_BASE = "http://localhost:11434/v1"# ========== 嵌入模型配置 ==========EMBEDDING_MODEL = "BAAI/bge-large-zh-v1.5"EMBEDDING_DEVICE = "cuda"# ========== 向量库配置 ==========VECTOR_STORE = "faiss"VECTOR_STORE_PATH = "./knowledge_base"# ========== 文本分割配置 ==========CHUNK_SIZE = 500 # 每个文本块最大 token 数CHUNK_OVERLAP = 50 # 相邻块重叠 token 数
参数含义建议值为什么
LLM_MODELS使用的对话模型qwen2.5:7b-instruct-q4_K_M12 GB 显存最佳选择,中文效果和显存占用的平衡点
OLLAMA_API_BASEOllama 服务地址http://localhost:11434/v1末尾 /v1 不能丢——这是 OpenAI 兼容接口的前缀
EMBEDDING_MODEL向量化模型bge-large-zh-v1.5中文检索精度最高的开源嵌入模型之一
EMBEDDING_DEVICE嵌入模型运行设备cuda用 CPU 嵌入一份 500 页 PDF 需要几分钟;用 GPU 需要几十秒
CHUNK_SIZE文本分块大小500太小语义断裂,太大检索不准。500 是甜点
CHUNK_OVERLAP相邻块重叠量50防止关键信息恰好落在块边界被截断
VECTOR_STORE向量数据库faissMeta 出品,纯 CPU,个人知识库最快最省事

启动 #终于要启动了

# 确保在子包目录下cd libs/chatchat-server# Windows 版 Ollama 用户在 WSL 里这样调"/mnt/c/Users/<用户名>/AppData/Local/Programs/Ollama/ollama.exe" serve &# 等 2 秒sleep 2# 启动python3 chatchat/startup.py -a

**为什么先 ollama serve &:**Ollama 不是开机自启。如果没在跑,会报 connection refused。
**为什么 sleep 2:**ollama serve & 是异步的,2 秒让它初始化完。
**为什么 & 放到后台:**不加 & 会占据终端不返还。
**为什么 -a:**启动全部服务(API + WebUI)。不加只启动一个。

启动成功后显示:

浏览器打开http://localhost:8501(也可能是http://0.0.0.0:8501**)**,进入 Web 界面。

现象解决
ModuleNotFoundError虚拟环境没激活或依赖没装全。重新 source 激活环境,再 pip install -r requirements.txt
Connection refusedOllama 没启动。手动 ollama serve 在前台跑一次看日志
启动卡住不动第一次要加载两个模型到显存,正常需 30-60 秒。超过 2 分钟用 nvidia-smi 看显存
端口被占用lsof -i :8501 找到 PID,kill -9 后重试
WSL 用户 localhost 打不开ip addr show eth0 找 WSL IP,用那个 IP 替代 localhost

上传文档并测试 #先快速拿到结果增长信心

准备测试文档

用你自己的文档做测试。如果没有,先用一段文本试试:创建 test.txt,最好是写一段你擅长的领域知识,我是让Hermes直接出了个md格式的测试数据集,比如(下文为部分片段):

Hermes 采用声明式工具定义,每个工具包括三个核心属性: ```yaml tool: name: "terminal" description: "Execute shell commands on Linux environment" parameters: - name: "command" type: "string" required: true - name: "timeout" type: "integer" default: 180

工具的调用流程为:用户输入 → Gateway 解析 → 匹配工具 → 生成 tool_call → 执行 → 结果注入上下文 → 模型生成回复。

> 大家尽量用自己熟悉的文档测试——AI 答错了你才能立刻判断。第一轮测试决定你对这个工具的信心。 ### 上传到知识库 1. WebUI → 知识库管理 → 新建知识库,填好名称、简介 ![](http://cdn.zhipoai.cn/c38e40fd.jpg) 2. 上传知识 ![](http://cdn.zhipoai.cn/c413ef8f.jpg) 3. 看到文档内容被正确分割成片段,就代表导入成功 ![](http://cdn.zhipoai.cn/ee2b3c75.jpg) ### 测试问答 在对话界面选择刚才创建的知识库 ![](http://cdn.zhipoai.cn/98138898.jpg) 提问1: ```plaintext Hermes Agent的核心调度器叫什么?它负责哪些职责?

可以看到匹配到了知识库的内容并引用了来源

**正确回答:**回答 Gateway,列出消息路由/工具调度/模型选择/上下文管理。

提问2:

bge-large-zh-v1.5的输出维度是多少?中文MTEB排名第几?

索引正确。

回答正确**:1024 维,#1**

知识库问答最大的风险是 LLM 胡说八道。来源引用让你能追溯到原始文档——没有来源引用的回答,默认当它不存在。

现象原因解决
回答完全不对,无来源引用知识库没选对,或向量化没完成确认对话界面选了正确知识库。回知识库管理检查向量化状态
回答大方向对但细节有误LLM 幻觉——没检索到精确片段把 CHUNK_SIZE 调小(如 300),让检索更细
回答像通用聊天检索没召回内容提问改得更精确,直接引用文档里的关键短语

常见问题速查

问题解决根因
nvidia-smi 不显示 CUDA 版本WSL 内需安装 Windows 端的 NVIDIA 驱动WSL 的 GPU 驱动在 Windows 侧
Ollama connection refused先执行 ollama serveOllama 是手动启动的
嵌入模型下载极慢export HF_ENDPOINT=https://hf-mirror.comHuggingFace 国内直连慢
CUDA out of memory关闭其他占用显存的程序 / 调小 CHUNK_SIZE / 换更小 LLM显存被占用
faiss 安装失败pip install faiss-cpufaiss-gpu 依赖特定 CUDA 版本

以上,整体就算搭建完成了,如果你跟着我的教程做,也难免会遇到很多报错的地方,请放宽心态,多和Agent对话,或者直接后台私聊我,我看到了都会第一时间帮你们解决,后面也整理了一份踩坑实录以及完整依赖清单,希望可以帮到大家。

这个工具在我的 AI 链里放在哪

Hermes 负责执行任务,Obsidian 负责记笔记,Langchain-Chatchat 负责检索我的知识库。三个工具串起来:知识库查到的东西 → 喂给 Hermes → 结果写进 Obsidian。

下一篇预告

把 Langchain-Chatchat 的知识库接进 Hermes,让 AI 助手直接检索你的私有文档来回答问题。你会发现——你不需要记住任何东西,因为你的 AI 链已经帮你记好了。


踩坑记录

以下是我从零搭建 Langchain-Chatchat 过程中踩过的所有坑。RTX 4070 Ti + Python 3.12 + 国内网络环境实录。

坑 1:python3 -m venv 报 ensurepip is not available

**现象:**创建虚拟环境时报错需要 apt install python3-venv,但 sudo 需要密码。

**解决:**用 virtualenv 替代——pip install virtualenv && virtualenv ~/langchain-chatchat-env。功能完全相同,不需要 sudo。

坑 2:GitHub git clone 超时或速度慢如蜗牛跑马拉松

**现象:**Receiving objects 极慢,最终 RPC failed: Connection timed out。

**解决:**用 Gitee 官方镜像 git clone https://gitee.com/mirrors/langchain-chatchat.git,速度可达 8 MiB/s。

坑 3:pip install langchain-chatchat 报 Python 3.12 不支持

**现象:**所有版本都标记了 !=3.12.*,pip 拒绝安装。

**解决:**从本地子包源安装,绕过 PyPI 版本检查——cd libs/chatchat-server && pip install . --no-deps。

坑 4:poetry 依赖解析卡死

**现象:**poetry install 永远停在 “Finding the necessary packages for the current system”。

**解决:**放弃 poetry,手工用 pip + 清华源逐组装依赖。

坑 5:langchain 版本地狱

**现象:**反复出现 ModuleNotFoundError: langchain_core.pydantic_v1、AttributeError: experimental_dialog、TypeError: proxies 等错误。

**原因:**langchain-chatchat 0.3.1.3 基于 langchain 0.1.x 开发,清华源默认装 1.x,大版本 API 不兼容。

**解决:**锁死版本:langchain 系列 → 0.1.x、streamlit → 1.34.0、httpx → 0.27.2。

坑 6:HuggingFace 模型下载被墙

**现象:**Network is unreachable,即使模型已下载到本地,加载时仍超时。

**解决:**永久方案——echo ‘export HF_ENDPOINT=https://hf-mirror.com’ >> ~/.bashrc。离线模式——HF_HUB_OFFLINE=1 python3 -c “…”。

坑 7:torch 版本过低导致模型加载失败

**现象:**ValueError: upgrade torch to at least v2.6。

**解决:**pip install torch --upgrade。

ps:教程的安装代码已帮你们排雷,已限制只安装torch>=2.6的版本

坑 8:WSL 里找不到 Ollama

**现象:**Command ‘ollama’ not found。

**解决:**建别名指向 Windows 版——alias ollama=“/mnt/c/Users/<用户名>/AppData/Local/Programs/Ollama/ollama.exe”。

坑 9:faiss-cpu 版本约束太死

**现象:**要求 faiss-cpu<1.8.0,但清华源最低只有 1.8.0。

**解决:**先 pip install faiss-cpu 装最新版,再用 --no-deps 跳过校验。

坑 10:启动时缺少 data 子目录

**现象:**RuntimeError: Directory data/media does not exist / sqlite3 unable to open database file。

**解决:**mkdir -p data/knowledge_base data/media data/temp data/logs 一次性全建好。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

http://www.jsqmd.com/news/925597/

相关文章:

  • 2026 屋面露台防水综合排行榜 苏易修缮防水全域应急抢修连锁评选 - 吉修匠
  • 解放你的音乐收藏:ncmdumpGUI让网易云音乐NCM文件随处播放的终极指南
  • 合肥理工学校招生办电话号码是多少?官网最新发布! - 教育为先
  • 深入瑞芯微RK3568 BSP:从Android.bp到u-boot.img,带你读懂原厂SDK的目录结构与编译产物
  • 2026苏州卫生间漏水免砸砖维修 本地防水堵漏权威测评口碑优选商家 - 吉修匠
  • dSPACE安装后,如何快速完成上位机与MicroAutoBOX II的联调?一个案例讲透网络配置与平台注册
  • windows11 C盘文件过大清理方法汇总
  • 基于 Harmony 6.0 应用的宠物寄养预约系统实现
  • Linux文件‘捉迷藏’实战:5分钟掌握find与grep的日常高效用法(附场景案例)
  • 如何用Video2X免费AI视频增强工具让模糊视频变高清:完整实战指南
  • 终极D2DX宽屏补丁:如何让经典《暗黑破坏神2》在现代PC上完美运行
  • 告别电源‘打嗝’:一个恒流电路如何根治RCC的间歇振荡难题?
  • 保姆级教程:用HACS给追觅扫地机装上Home Assistant大脑,告别App切换
  • 大数据驱动传统行业变革:医疗、法律、零售的实战解析与核心技术栈
  • 为什么你的Gemini系统在黑产攻击高峰仍漏判23%高危交易?——头部支付机构内部攻防复盘报告
  • 2026年安徽省初三成绩在300分左右适合上什么学校?——推荐合肥理工学校 - 教育为先
  • 合肥理工学校招生办电话号码是多少?2026年官网最新发布! - 教育为先
  • 合肥市初三毕业生考不上高中适合上什么学校?——最新发布推荐学校一览 - 教育为先
  • 合肥市哪所中专学校升学率最高?——合肥理工学校 - 教育为先
  • Arduino Nano一体化扩展板设计:集成电源管理与多电机驱动实战
  • 客制化键盘改造:3D打印拇指扩展键,提升输入效率与人体工学体验
  • Win-PS2EXE:3步快速将PowerShell脚本编译成EXE的终极图形化工具
  • 技术重塑就业市场:未来五年AI、大数据与数字化技能需求分析
  • 怎么把多个pdf合并成一个文件?2026手机+电脑免费PDF合并教程 - 科技大爆炸
  • 免费的pdf合并工具推荐?2026免费无水印PDF合并软件汇总 - 科技大爆炸
  • 基于 Harmony 6.0 应用的跑腿代购服务平台首页实现
  • 2026南京卫生间漏水免砸砖维修 本地防水堵漏权威测评口碑优选商家 - 吉修匠
  • 番茄小说下载器:5分钟搭建个人永久书库的完整指南
  • 用Arduino与WS2812B制作可编程圣诞灯光标志:从硬件到软件全流程
  • 基于ESP8266与Arduino Nano的恩尼格玛密码机硬件实现