一个采用 NVIDIA GPU + Xinference + MaxKB搭建企业级、私有化、高性能智能知识库问答系统的开源方案!

在过去近两年中,AI发展速度超过任何历史时期,基于大模型的各类应用已经渗透到了各行各业中,很多企业都在积极探索如何利用大模型提高公司运营管理的能效。

正如阿里云 CTO 周靖人所说““当下企业应用大模型存在三种范式:一是对大模型开箱即用,二是对大模型进行微调和持续训练,三是基于模型开发应用,其中最典型的需求是RAG

从市场效应来看,基于RAG的企业智能知识库问答系统也是目前最为广泛的大模型应用之一。

RAG:Retrieval-Augmented Generation,翻译成中文是检索增强生成。其原理图如下,有两个核心点:

  • 检索: 这一步骤涉及到从外部知识库中,通过向量化检索信息。也就是说,RAG系统需要根据用户输入的问题,快速检索相关的数据,尤其是企业内部知识文档。

  • 增强生成: 在检索到相关数据后,需要将检索到的数据+用户问题作为提示词,带入到大模型中,使其生成的答案更加精确,减少生成错误或误导性信息的风险。

由原理图可见,在RAG系统中,提问大模型的数据量要远远大于我们表面见到的。有可能一个我们提问的一个10个字符问题,最终带入大模型的有可能会变成几千个字符Token,所以RAG系统对大模型的推理性能有着很高的要求。

如果企业数据不敏感,那么可以在RAG中直接采用公开大模型,比如通义千问,文心一言,OpenAI等。但是很多企业内部核心知识库或者文档,在安全合规上是不允许采用公开模型,只能本地部署私有模型。

由于RAG利用大模型推理的过程中涉及到大量的Token输入,对资源配置有着高性能的需求,部署本地私有模型的时候,最佳推荐方案就是搭配GPU。但是在有GPU的情况下,RAG应该如何部署,采用什么向量模型,采用什么大模型等等,都需要进行方方面面考虑,部署的难度直线上升。

本文主要就是采用NVIDIA GPU + Xinference + MaxKB,搭建企业级高性能 RAG 智能知识库问答系统的方案!旨在给有这方面考虑的企业一个实践参考!

01

部署说明

序号资源配置操作系统部署组件备注说明
18C16G,200G磁盘
Ubuntu 22 操作系统MaxKB 1.7最新版本RAG 应用
2

32C128G,200G系统盘

2 * NVIDIA V100 2 * 32GB

Ubuntu 22 操作系统Xinferenc运行大模型、向量模型、重排模型

方案架构逻辑如下,采用独立的服务器部署和运行Xinference。

备注 1:MaxKB = Max Knowledge Base,是一款基于大语言模型和 RAG 的开源知识库问答系统,广泛应用于智能客服、企业内部知识库、学术研究与教育等场景。具体详见我们以前分享的文章:

备注 2:Xorbits Inference (Xinference) 是一个用于简化各种 AI 模型的运行和集成的开源平台。借助 Xinference,可以使用任何开源 LLM、嵌入模型和多模态模型在本地环境中运行推理。

#MaxKB官网和项目地址
https://maxkb.cn/
https://github.com/1Panel-dev/MaxKB

#Xinference官网和项目地址
https://inference.readthedocs.io/zh-cn/latest/index.html
https://github.com/xorbitsai/inference/

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

02

NVIDIA 驱动安装

本文采用了Ubuntu 22.04 操作系统,X86架构,配备 2*NVIDIA V100。所以需要先安装NVIDIA的驱动。

#NVIDIA驱动下载地址
https://developer.nvidia.cn/cuda-downloads

按照操作系统和环境,选择我们需要的驱动。

一旦选择后,会给出详细的下载和安装脚本命令,将驱动下载至Xinference服务器的任意目录即可:

cd /tmp
wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda_12.4.1_550.54.15_linux.run

#安装驱动包``sudo sh cuda_12.4.1_550.54.15_linux.run

稍等一会,按照提示输入:accept

选择【install】等待安装完成。

安装完成后,界面显示如下信息:

===========
= Summary =
===========

Driver:   Installed
Toolkit:  Installed in /usr/local/cuda-12.4/

Please make sure that
 -   PATH includes /usr/local/cuda-12.4/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-12.4/lib64, or, add /usr/local/cuda-12.4/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-12.4/bin
To uninstall the NVIDIA Driver, run nvidia-uninstall
Logfile is /var/log/cuda-installer.log

===

使用 nvidia-smi 命令检查,显示如下信息,安装成功:

03

Xinference 部署

  • Xinference部署与启动

Xinference 可以通过 pip 来安装。可以根据不同的模型指定不同的引擎。如果希望能够推理所有支持的模型,可以用以下命令安装所有需要的依赖:

pip install "xinference[all]"

本文采用了vLLM推理引擎,只需要按照vLLM引擎即可。vLLM 是一个支持高并发的高性能大模型推理引擎,多卡方面表现出优越的推理性能。

pip install "xinference[vllm]"

整体过程取决于网速,本文大概需要20分钟左右:

安装完成后,拉起本地的 Xinference 服务(注意放行9997端口防火墙):

# 默认情况下,Xinference 会使用 <HOME>/.xinference 作为主目录来存储一些必要的信息,比如日志文件和模型文件,其中 <HOME> 就是当前用户的主目录。
# 可以通过配置环境变量 XINFERENCE_HOME 修改主目录,启动服务:

XINFERENCE_HOME=/tmp/xinference xinference-local --host 0.0.0.0 --port 9997

看到以下信息,启动成功:

INFO     Xinference supervisor 0.0.0.0:64570 started
INFO     Xinference worker 0.0.0.0:64570 started
INFO     Starting Xinference at endpoint: http://0.0.0.0:9997
INFO     Uvicorn running on http://0.0.0.0:9997 (Press CTRL+C to quit)

  • 启动 qwen2.5-instruct 大模型

浏览器访问 http://hostIP:9997,在【Launch Model】页面,选择【language models】,搜索 qwen2.5-instruct 模型。

选择vLLM推理引擎、选择pytorch格式,7B参数,其他参考图片选择即可。

在高级选项中,选择魔塔社区下载(一定要注意选择魔塔社区,不然网络下载慢到你怀疑人生),点击启动:

启动运行,后台自动联网下载。但是因为模型较大(差不多有18G),最终下载时间,取决于网速,本文整体下载运行时间需要30分钟左右:

如果出现以下问题,是因为V100 GPU不支持float16。因为本文采用的V100 GPU的Compute Capability是7.0,也就是不能用Bfloat16进行计算。

附上常见英伟达GPU计算能力(Compute Capability)查询链接和图表如下:

# 英伟达GPU计算能力查询
https://developer.nvidia.com/cuda-gpus

本文采用的V100 计算能力确实为7:

这个问题也好解决,就是要对Bfloat16减半转换为float16。在启动的高级选项中添加 dtype=half 标签,重新启动即可:

看到以下信息,代表模型启动成功:

INFO 11-07 17:41:37 model_runner.py:1056] Starting to load model /opt/xinference/cache/qwen2_5-instruct-pytorch-7b...
INFO 11-07 17:41:37 selector.py:224] Cannot use FlashAttention-2 backend for Volta and Turing GPUs.
INFO 11-07 17:41:37 selector.py:115] Using XFormers backend.
Loading safetensors checkpoint shards:   0% Completed | 0/4 [00:00<?, ?it/s]
Loading safetensors checkpoint shards:  25% Completed | 1/4 [00:01<00:04,  1.36s/it]
Loading safetensors checkpoint shards:  50% Completed | 2/4 [00:02<00:03,  1.50s/it]
Loading safetensors checkpoint shards:  75% Completed | 3/4 [00:04<00:01,  1.56s/it]
Loading safetensors checkpoint shards: 100% Completed | 4/4 [00:06<00:00,  1.53s/it]
Loading safetensors checkpoint shards: 100% Completed | 4/4 [00:06<00:00,  1.52s/it]

INFO 11-07 17:41:43 model_runner.py:1067] Loading model weights took 14.2487 GB
INFO 11-07 17:41:49 gpu_executor.py:122] # GPU blocks: 9054, # CPU blocks: 4681

在Xinference中验证 qwen2.5-instruct 模型是否可用:

  • 启动向量模型和重排模型

按照上述启动大模型操作,在Xinference启动bge-large-zh向量模型

如果遇到以下问题,是因为没有安装 sentence-transformers 库:

Please make sure 'sentence-transformers' is installed. You can install it by `pip install sentence-transformers`

备注:sentence-transformers 是一个基于Python的库,它专门用于句子、文本和图像的嵌入。这个库可以计算100多种语言的文本嵌入,并且这些嵌入可以轻松地用于语义文本相似性、语义搜索和同义词挖掘等任务。

pip 安装 sentence-transformers 即可:

pip install sentence-transformers -i https://pypi.tuna.tsinghua.edu.cn/simple

启动 bge-reranker-large 重排模型

  • 页面查看和管理所有已经运行的模型

在【Running Models】界面可以查看和管理我们已经运行的所有模型。

04

MaxKB 接入

MaxKB的部署和使用本文就不过多介绍,可详见下文:

接入在MaxKB的【系统管理】-【模型管理界面】,选择【Xorbits Inference】,按照下图分别接入 qwen2.5-instruct 大模型,bge-large-zh向量模型、bge-reranker-large 重排模型。

【注意】涉及到输入API KEY的部分,可以填任意值。

在MaxKB的知识库中,创建知识库,这时可以选择刚刚添加的向量模型。

在MaxKB应用,创建高级编排,在【多路召回】节点可以使用重排模型,在【AI对话】节点可以使用大模型。

04

最后

在后续使用中,我们可以实时监控GPU的使用,或者采用 watch -n 1 nvidia-smi 命令实时查看:

watch -n 1 nvidia-smi

自此,利用 NVIDIA GPU + Xinference + MaxKB,搭建企业级高性能 RAG 智能知识库问答系统就完成了,感兴趣的小伙伴赶紧试试吧!

如何学习AI大模型?

#

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

img

学习路线

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图 2.100套AI大模型商业化落地方案 3.100集大模型视频教程 4.200本大模型PDF书籍 5.LLM面试题合集 6.AI产品经理资源合集

👉获取方式: 😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

<think>嗯,用户问的是如何通过DeepSeek搭建私有化企业级RAG文件知识库。首先,我需要明确用户的需求。他们可能是一个企业用户,想要在自己的内部系统中构建一个基于RAG(检索增强生成)模型的知识库,用于处理内部文档,提高信息检索和问答的效率。同时,用户强调“私有化”,说明他们对数据安全和隐私有较高要求,不希望数据泄露到外部。 接下来,我需要回想一下RAG的基本原理。RAG结合了检索和生成两个步骤,首先从大量文档中检索出相关的信息,然后利用生成模型(如GPT)生成回答。搭建这样的系统需要几个关键组件:文档处理、向量数据库、检索模型和生成模型。 然后,DeepSeek这个平台或工具可能提供了一些功能来支持这些步骤。我需要确认DeepSeek的具体能力,比如是否提供文本嵌入模型、是否支持私有化部署的向量数据库,或者是否有现成的API接口。如果用户提到的DeepSeek是深度求索公司的产品,可能他们有相关的企业级解决方案。 接下来要考虑搭建的步骤。通常,搭建RAG系统包括数据准备、文档切分、向量化存储、检索和生成几个阶段。对于私有化部署,可能需要本地服务器或私有云环境,确保数据不离开企业内网。 用户可能还关心具体的技术细节,比如使用哪些工具进行文档处理,比如LangChain或者LlamaIndex,或者是否需要自己训练模型。此外,安全性方面需要考虑访问控制、数据加密等措施。 另外,用户可能没有明确说明他们的技术基础,是否需要详细的步骤指导,或者更倾向于使用现有平台的服务。比如,DeepSeek是否提供了一站式的解决方案,还是需要结合其他开源工具。 可能还需要考虑扩展性和维护问题,比如如何处理新增文档,更新向量数据库,以及系统的性能优化等。 现在,需要将这些思考整理成一个清晰的步骤指南,涵盖从环境准备到部署维护的全流程,并强调私有化部署的安全措施,确保用户能够理解并实施。</think>搭建私有化企业级RAG(Retrieval-Augmented Generation)文件知识库需要结合深度学习模型、向量数据库和私有化部署能力。以下是基于DeepSeek或其他类似技术的实现步骤框架,重点聚焦企业级安全与定制化需求: --- ### **一、核心架构设计** 1. **技术选型** - **LLM模型**:选用DeepSeek-R1等支持私有化部署的大模型(需确认官方授权) - **向量模型**:Sentence-BERT、BGE或DeepSeek自研Embedding模型 - **向量数据库**:Milvus/Chroma(开源)或私有化商业方案(如腾讯云VectorDB) - **框架支持**:LangChain/LlamaIndex用于流程编排 2. **私有化要求** - 部署于企业内网/私有云(如OpenStack/K8s集群) - 数据全链路加密(传输TLS/静态AES- 访问控制(RBAC权限体系+审计日志) --- ### **二、实施步骤详解** #### **1. 环境准备** - **硬件**:GPU服务器(至少NVIDIA A10/A100)用于模型推理 - **容器化**:Docker/Kubernetes部署各模块(模型服务、数据库等) - **网络隔离**:通过VPC/防火墙限制外网访问 #### **2. 文档处理流水线** ```python # 示例:使用LangChain处理文档 from langchain.document_loaders import DirectoryLoader from langchain.text_splitter import RecursiveCharacterTextSplitter # 加载企业文档(支持PDF/DOCX/Excel等) loader = DirectoryLoader('/data/docs', glob="**/*.pdf") docs = loader.load() # 智能分块(保留上下文) splitter = RecursiveCharacterTextSplitter( chunk_size=500, chunk_overlap=50, length_function=len ) chunks = splitter.split_documents(docs) ``` #### **3. 向量化与存储** - **私有化Embedding服务**: ```bash # 部署DeepSeek Embedding模型API docker run -p 8080:8080 deepseek/embedding:v1.0 --api-key="YOUR_LICENSE_KEY" ``` - **向量数据库初始化**: ```python from pymilvus import connections, CollectionSchema, FieldSchema, DataType connections.connect(host="10.0.0.10", port="19530") # 定义企业专属Schema fields = [ FieldSchema(name="id", dtype=DataType.INT64, is_primary=True), FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=1024), FieldSchema(name="metadata", dtype=DataType.JSON) ] collection = Collection("enterprise_kb", schema=CollectionSchema(fields)) ``` #### **4. RAG服务搭建** - **检索增强层**: ```python from langchain.retrievers import MilvusRetriever from deepseek import DeepSeekChat retriever = MilvusRetriever( collection_name="enterprise_kb", embedding_function=deepseek_embedding ) rag_chain = ( {"context": retriever, "question": RunnablePassthrough()} | prompt_template | DeepSeekChat(model="deepseek-r1-enterprise") ) ``` #### **5. 安全增强措施** - **数据脱敏**:在向量化前进行敏感信息识别与掩码 - **模型微调**:使用企业专有数据做Domain Adaptation - **访问控制**:集成企业AD/LDAP实现单点登录 -- ### **三、企业级功能扩展** 1. **版本控制**:文档更新时保留历史版本向量记录 2. **多模态支持**:扩展处理图纸/图片中的OCR文本 3. **监控告警**:Prometheus+Grafana监控QPS/延迟 4. **灾备方案**:跨机房数据库集群+模型热备 --- ### **四、注意事项** 1. **合规性**:确保符合GDPR等数据保护法规 2. **冷启动**:初期需人工审核生成结果建立评估基准 3. **成本控制**:采用混合精度推理降低GPU消耗 建议联系DeepSeek商务团队获取企业版SDK及部署支持,同时可参考Azure AI Search+RAG等成熟方案进行架构验证。实际部署时建议分阶段实施,从试点部门逐步扩展到全企业。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值