随着人工智能技术的快速发展,构建智能化的知识库系统成为了提升业务效率、加速信息流转的重要途径。DeepSeek知识库旨在结合最新的AI技术,帮助企业和个人在海量信息中精准获取所需的知识。本文将介绍如何通过Ollama、AnythingLLM和Weaviate三者的结合搭建DeepSeek知识库架构,提升数据检索、智能问答以及知识管理的能力。
• 操作系统版本:Ubuntu 24.04
• Python环境:Python3.10+
• 数据库版本:PostgreSQL 16
• 科学上网
• 部署架构(开源):Ollama+AnythingLLM+Weaviate
更新系统# 更新系统
sudo apt -y update && sudo apt -y upgrade
假设你想将时区设置为“Asia/Shanghai”,可以运行以下命令:
# 将时区设置为“Asia/Shanghai”
sudo timedatectl set-timezone Asia/Shanghai
# 执行以下命令后,必须重新连接才会显示主机名。
sudo hostnamectl hostname anythingllm.hbgslz.cn
日常运维经常会用到的命令,并非必须安装
# 用于日常运维
sudo apt-get -y install net-tools
/etc/sysctl.conf
:用于动态设置内核参数,禁用 IPv6 功能。/etc/netplan
:用于管理网络接口的配置,确保网络接口不启用 IPv6 功能。/etc/default/grub
(最后配置):用于设置 GRUB 引导加载器参数,确保在系统启动时禁用 IPv6。sysctl
配置# 向 /etc/sysctl.conf 文件并添加以下内容:
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
sysctl
这些设置立即生效sudo sysctl -p
/etc/netplan
配置文件这个文件用于管理网络接口的配置,确保网络接口不启用 IPv6 功能。
sudo vim /etc/netplan/50-cloud-init.yaml
network:
version: 2
ethernets:
enp0s1:
dhcp4: false # 启用IPv4
dhcp6: false # 禁止ipv6
sudo netplan apply
/etc/default/grub
文件(三个配置项目中,该配置必须在最后)这个文件用于设置 GRUB 引导加载器的参数,确保在系统启动时禁用 IPv6。必须先处理上面的两个配置文件,最后才配置GRUB,否则会导致无法禁用ipv6。
/etc/default/grub
文件sudo vim /etc/default/grub
# 系统启动时禁用 IPv6
GRUB_CMDLINE_LINUX="ipv6.disable=1"
sudo update-grub
sudo reboot
# 检查是否存在ipv6的网络接口
ip -6 addr
如果没有显示任何 IPv6 地址,则表示 IPv6 已成功禁用。
# 安装Ollama
sudo curl -fsSL https://ollama.com/install.sh | sh
# 查看服务状态,默认ollama安装后自动启动,并配置了开机自动启动
sudo systemctl status ollama
# 本地访问ollama
sudo curl -I http://127.0.0.1:11434
# 查看服务状态,“/etc/systemd/system/ollama.service”即为服务的配置文件
sudo systemctl status ollama.service
# 通过上面的图片获取该文件路径
sudo vim /etc/systemd/system/ollama.service
# Ollama监听地址
OLLAMA_HOST="0.0.0.0"
# 重新加载服务配置
sudo systemctl daemon-reload
# 重启服务
sudo systemctl restart ollama.service
# 本地访问ollama
sudo curl -I anythingllm.hbgslz.cn:11434
模型版本 | 模型大小(GB) | GPU显存(GB) | 内存(GB) | 硬盘容量(GB) | 备注 |
---|---|---|---|---|---|
1.5B | 1.1 | 4 | 8 | 5 | |
7B | 4.7 | 12 | 16 | 10 | |
8B | 4.9 | 16 | 32 | 15 | |
14B | 9 | 24 | 64 | 30 | |
32B | 20 | 48 | 128 | 60 | |
70B | 43 | 80 | 256 | 120 | |
671B(MoE) | 404 | 4x A100 GPUs(320GB VRAM) | 512 | 500 |
安装教程:https://ollama.com/library/deepseek-r1
# 以1.5b安装为例,拉取并安装某个模型,“deepseek r1:1.5b”是模型名称,根据需要更改.
sudo ollama run deepseek-r1:1.5b
sudo apt-get update
sudo apt-get upgrade -y
# 安装一些必要的工具,以便从仓库中下载 Docker 包
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
• apt-transport-https
• ca-certificates
• curl
• software-properties-common
# 为了验证 Docker 包的完整性,需要添加 Docker 的 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/trusted.gpg.d/docker.asc
# 添加 Docker 官方的 APT 仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# 安装Docker 社区版
sudo apt-get -y install docker-ce docker-ce-cli containerd.io
• docker-ce
• docker-ce-cli
• containerd.io
# 查看docker版本
sudo docker --version
# 配置docker开机自动启动
sudo systemctl enable docker
# 启动docker服务
sudo systemctl start docker
针对Docker客户端版本大于 1.10.0 的用户
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
# 创建镜像加速器目录
sudo mkdir -p /etc/docker
# 向/etc/docker/daemon.json文件中阿里云镜像加速器配置
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ix2vi854.mirror.aliyuncs.com"]
}
EOF
# 重新加载服务
sudo systemctl daemon-reload
# 重启Docker服务
sudo systemctl restart docker
默认情况下,Docker 需要以 root 用户身份运行。如果你希望以非 root 用户运行 Docker,可以将你的用户添加到 Docker 组
# 将当前的用户添加到Docker组
sudo usermod -aG docker $USER
Weaviate 是一个开源的、基于向量的数据库,专为存储、搜索和分析大规模的非结构化数据(如文本、图像、音频等)而设计。它提供了一种高效的方式来管理和查询包含丰富信息的多模态数据,并结合机器学习和自然语言处理技术,能支持智能化的搜索与数据分析。Weaviate 支持向量化数据存储,能够高效地执行基于相似度的检索(例如:语义搜索),因此在处理大规模知识库、推荐系统和自然语言处理(NLP)任务时非常有用。
# postgresql数据存放目录
sudo mkdir -p /data/weaviate_data/weaviate_db
# web数据存放目录
sudo mkdir -p /data/weaviate_data/weaviate_web
# log数据存放目录
sudo mkdir -p /data/weaviate_data/weaviate_log
# 创建网络
sudo docker network create --driver bridge weaviate-network
# 删除网络
# sudo docker network rm weaviate-network
sudo docker run -d \
--name weaviate-db \
--network weaviate-network \
-p 5432:5432 \
-e POSTGRES_DB=weaviate \
-e POSTGRES_USER=weaviate \
-e POSTGRES_PASSWORD=Hbgslz123. \
-v /data/weaviate_data/weaviate_db:/var/lib/postgresql/data \
--restart=always \
--health-cmd="pg_isready -U weaviate" \
--health-interval=30s \
--health-timeout=10s \
--health-retries=3 \
postgres:16
参数详解:
# 启动weaviate容器
sudo docker run -d \
--name weaviate-web \
--network weaviate-network \
-p 8080:8080 \
-p 50051:50051 \
-e QUERY_DEFAULTS_LIMIT=100 \
-e WEAVIATE_THREAD_POOL_SIZE=8 \
-e AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED=false \
-e PERSISTENCE_DATA_PATH=/var/lib/weaviate \
-e WEAVIATE_DB_HOST=weaviate-db \
-e WEAVIATE_DB_PORT=5432 \
-e WEAVIATE_DB_USER=weaviate \
-e WEAVIATE_DB_PASSWORD=Hbgslz123. \
-e WEAVIATE_CLUSTER_MODE=false \
-v /data/weaviate_data/weaviate_web:/var/lib/weaviate \
-v /data/weaviate_data/weaviate_log:/var/log/weaviate \
--restart=always \
--memory=4g \
--cpus=1 \
semitechnologies/weaviate
参数详解:
# 注意最后的“/bin/ash”,而不是“/bin/bash”
sudo docker exec -it weaviate-web /bin/ash
psql
客户端apk add postgresql-client
# 登录到 PostgreSQL 数据库
psql -h weaviate-db -U weaviate -d weaviate
Chroma 是一个开源的向量数据库,专为高效存储和查询嵌入向量(embedding vectors)设计,支持通过向量相似度搜索快速查找相关数据。与 Weaviate 类似,Chroma 主要用于实现语义搜索、推荐系统和知识图谱的应用。Chroma 在设计上注重易用性和高效性,能够处理大规模的向量数据,并提供灵活的接口与强大的性能优化。
# 创建数据存储目录
sudo mkdir -p /data/chromadb_data
# 启动Chroma容器
sudo docker run -d \
--name chromadb \
-p 8000:8000 \
-v /data/chromadb_data:/chroma/chroma \
-e IS_PERSISTENT=TRUE \
-e ANONYMIZED_TELEMETRY=TRUE \
--restart unless-stopped \
chromadb/chroma
Qdrant 是一个高效的、开源的向量数据库,专门为存储和检索嵌入向量(embedding vectors)而设计。它支持多种相似度搜索任务,包括语义搜索、推荐系统、图像检索等,尤其在处理大规模非结构化数据时表现优异。Qdrant 通过向量化存储和高效的相似度计算,帮助开发者构建更智能的搜索引擎和推荐系统。Qdrant 的设计不仅关注向量检索,还强调对大数据集的高效处理,具备良好的可扩展性和可用性,适用于构建企业级的应用和生产环境。
安装教程:https://qdrant.tech/documentation/guides/installation/
# 创建数据存储目录
sudo mkdir -p /data/qdrant_data
# 启动qdrant容器
sudo docker run -d \
--name qdrantdb \
--restart=always \
-p 6333:6333 \
-p 6334:6334 \
-v /data/qdrant_data:/qdrant/storage/ \
qdrant/qdrant
Vespa 是一个开源的、面向大规模数据的搜索引擎和推荐引擎,旨在支持高效的全文搜索、推荐、数据分析和机器学习任务。它提供了强大的实时搜索、向量搜索和多模态查询能力,广泛应用于各种搜索引擎、推荐系统、广告投放、自然语言处理(NLP)和大数据分析等场景。Vespa 由雅虎(Yahoo)开发,并且是一个高性能、可扩展的系统,支持大规模数据集的实时处理和查询。
# 创建数据存储目录
sudo mkdir -p /data/vespa_data
# 对存数据存储目录授权
sudo chown -R 1000:1000 /data/vespa_data
sudo chmod -R 755 /data/vespa_data
# 启动vespa容器
sudo docker run -d \
--name vespadb \
--restart=always \
-p 8080:8080 \
-v /data/vespa_data:/opt/vespa/var \
vespaengine/vespa
官方教程:https://docs.anythingllm.com/installation-desktop/overview#docker-vs-desktop-version
Feature | Available on Desktop | Available on Docker |
---|---|---|
Multi-user support | ❌ | ✅ |
Emeddable chat widgets | ❌ | ✅ |
One-click install | ✅ | ❌ |
Private documents | ✅ | ✅ |
Connect to any vector database | ✅ | ✅ |
Use any LLM | ✅ | ✅ |
Built-in embedding provider | ✅ | ✅ |
Built-in LLM provider | ✅ | ❌ |
White-labeling | ❌ | ✅ |
Chat logs | ✅ | ✅ |
Agent support | ✅ | ✅ |
Agent skills | ✅ | ✅ |
Third-party data connectors | ✅ | ✅ |
Password protection | ❌ | ✅ |
Invite new users to instance | ❌ | ✅ |
Text splitting configuration | ✅ | ✅ |
Whisper model support | ✅ | ✅ |
Full developer API | ✅ | ✅ |
User management | ❌ | ✅ |
Workspace access management | ❌ | ✅ |
Website scraping | ✅ | ✅ |
# 设置存储位置
export STORAGE_LOCATION=$HOME/anythingllm
# 创建存储目录
mkdir -p "$STORAGE_LOCATION"
# 创建 .env 文件
touch "$STORAGE_LOCATION/.env"
# 授权
sudo chmod -R 777 "$STORAGE_LOCATION"
# 运行 Docker 容器
sudo docker run -d -p 3001:3001 \
--restart=always \
--name anythingllm \
--network weaviate-network \
--cap-add SYS_ADMIN \
-v "$STORAGE_LOCATION":/app/server/storage \
-v "$STORAGE_LOCATION/.env":/app/server/.env \
-e STORAGE_DIR="/app/server/storage" \
-e WEAVIATE_URL=http://weaviate-web:8080 \
mintplexlabs/anythingllm
通过Ollama、AnythingLLM和Weaviate的有机结合,DeepSeek知识库架构不仅提升了知识管理的智能化水平,还有效优化了信息检索的速度和准确性。Ollama为架构提供了本地化、可定制的AI推理平台,AnythingLLM增强了自然语言理解与生成的能力,而Weaviate则以其强大的向量数据库特性为系统提供了高效的查询与数据存储支持。三者的结合,为打造一个高效、智能、精准的知识库提供了强有力的技术支持,也为未来更多智能化系统的开发提供了宝贵的经验与启示。
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?
”“谁的饭碗又将不保了?
”等问题热议不断。
不如成为「掌握AI工具的技术人」
,毕竟AI时代,谁先尝试,谁就能占得先机!
想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高
那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
福利来袭
CSDN大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
学会后的收获:
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
福利来袭
CSDN大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。