搭建本地知识库

搭建本地知识库

DeepSeek+本地知识库

DeepSeek 模型文件下载页面(必须选择这种量化后的,这个页面有各个模型的性能对比):
https://huggingface.co/bartowski/DeepSeek-R1-Distill-Qwen-14B-GGUF
下面这种没量化的不行,内存不够的:
https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B/tree/main
https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B/tree/main

显存资源

1
我的电脑是MacBookAir M2芯片,24G内存,我选择哪种格式的模型、什么量化精度的模型比较好?

单张 4090 能运行的最强开源大模型是哪个? - 黑风寨大债主的回答 - 知乎
https://www.zhihu.com/question/649233834/answer/11579935306

8g 显存可以选择 7b 或 8b,就选 16g 显存就可以选择 14b,200g 显存可以选择 70b

考虑到量化策略问题,推荐优先级如下(ollama):

  1. DeepSeek-R1-Distill-Qwen-32B 的 4bit 量化版(q4_K_M),即默认 deepseek-r1:32b,为 20G
  2. DeepSeek-R1-Distill-Qwen-14B 的 8bit 量化版(g8),即 deepseek-r1:14b-qwen-distill-q8_0,为 16G,默认的 14b 为 q4_K_M

总的来说参数大应该还是会更好一些,但 KV 缓存的余量就不宽裕。14B 版本的话,8bit 量化肯定是比 4bit 的效果好。

Ollama 安装模型

如果发现 Ollama 命令行安装模型出现网络问题,得给 ollama 手动设置代理:

1
HTTPS_PROXY=http://127.0.0.1:7890/ ollama serve

Ollama 安装 DeepSeek

Ollama 导入本地 HuggingFace 模型文件

测试效果

本地部署了一个 7B 的 DeepSeek 模型,做了一个可视化图表相关的知识库,发现效果不大行。首先是深度思考能力基本上丢失了,然后幻觉问题很严重,另外 RAG 召回资料的整理能力也比较差。
作为对比,同样的知识库数据和向量化模型,用满血的 DeepSeek R1 效果就非常好。

14B 的我用 API 测了下,效果也很不错的,不过我 windows 的显卡是 3060 的,本地部署 14B 的显存不够

我先用 api 搞搞,我发现同样参数量的模型,自己部署的,和他们提供的 api,效果也差很多,估计我哪里弄错了
没联网,向量模型用的相同的,这种情况下,差距也很大
估计有什么配置和 api 不一样

参数调整

默认:
/Applications/Ollama.app/Contents/Resources/ollama runner –model /Users/leozhou/ ollama/models/blobs/sha256-10371cf7f5201f59661f0961146dc92ae2cc817d865a54d0aefb07e6b9d9e1d4
–ctx-size 2048
–batch-size 512
–n-gpu-layers 28
–threads 4
–no-mmap
–parallel 1
–port 62119

/Applications/Ollama.app/Contents/Resources/ollama serve

https://zhuanlan.zhihu.com/p/20803691410

vim ~/.ollama/config

1
2
3
4
5
6
{
"gpu_layers": 35, // GPU层数,根据显卡性能调整
"cpu_threads": 6, // CPU线程数,建议设为CPU核心数
"batch_size": 512, // 批处理大小,影响内存使用
"context_size": 4096 // 上下文窗口大小,影响对话长度
}

如果电脑发烫/卡顿:减小 gpu_layers 和 batch_size
如果内存不足:减小 batch_size
如果需要更长对话:增加 context_size(会消耗更多内存)
cpu_threads 建议设置为实际 CPU 核心数-2

ollama stop
ollama start
ollama run deepseek-r1:7b