大模型 搭建知识库 RAG

本文介绍了如何在已有的Python环境中部署LLM知识库助手,包括安装必要的依赖、模型下载、LangChain集成以及进阶作业如故事机器人的构建步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

LLM具有强大的语言理解和生成能力,当下存在一些局限性,失效受制、专业能力有限和定制成本高。有两种开发范式RAG(实时更新)和Finetune(个性化微调)。
RAG 检索增强生成
在这里插入图片描述
基于langchain搭建rag应用
在这里插入图片描述
构建向量数据库
在这里插入图片描述
搭建知识库助手
在这里插入图片描述
在这里插入图片描述
基于gradio的web部署

基础作业-复现知识库助手搭建过程

进入 conda 环境之后,使用以下命令从本地一个已有的 pytorch 2.0.1 的环境,然后使用以下命令激活环境

bash
/root/share/install_conda_env_internlm_base.sh InternLM
conda activate InternLM

在这里插入图片描述

在环境中安装运行 demo 所需要的依赖

python -m pip install --upgrade pip
pip install modelscope==1.9.5
pip install transformers==4.35.2
pip install streamlit==1.24.0
pip install sentencepiece==0.1.99
pip install accelerate==0.24.1

在这里插入图片描述

模型下载

mkdir -p /root/data/model/Shanghai_AI_Laboratory
cp -r /root/share/temp/model_repos/internlm-chat-7b /root/data/model/Shanghai_AI_Laboratory/internlm-chat-7b

在这里插入图片描述
在已完成 InternLM 的部署基础上,还需要安装LangChain 依赖包

pip install langchain==0.0.292
pip install gradio==4.4.0
pip install chromadb==0.4.15
pip install sentence-transformers==2.2.2
pip install unstructured==0.10.30
pip install markdown==3.3.7
pip install -U huggingface_hub

在这里插入图片描述
通过huggingface下载开源词向量模型 Sentence Transformer
在这里插入图片描述
下载 NLTK 相关资源

cd /root
git clone https://gitee.com/yzy0612/nltk_data.git  --branch gh-pages
cd nltk_data
mv packages/*  ./
cd tokenizers
unzip punkt.zip
cd ../taggers
unzip averaged_perceptron_tagger.zip

在这里插入图片描述
下载本项目代码

cd /root/data
git clone https://github.com/InternLM/tutorial

在这里插入图片描述
数据收集

收集数据

cd /root/data
git clone https://gitee.com/open-compass/opencompass.git
git clone https://gitee.com/InternLM/lmdeploy.git
git clone https://gitee.com/InternLM/xtuner.git
git clone https://gitee.com/InternLM/InternLM-XComposer.git
git clone https://gitee.com/InternLM/lagent.git
git clone https://gitee.com/InternLM/InternLM.git

在这里插入图片描述
构建知识库
在这里插入图片描述
InternLM 接入 LangChain
在这里插入图片描述

构建检索问答链并运行
在这里插入图片描述
将服务器端口映射到本地端口
在这里插入图片描述
打开网页
在这里插入图片描述

进阶作业

我来制作一个讲故事的机器人
1、收集故事
在这里插入图片描述

2、构建知识向量库
在这里插入图片描述
3、运行web 测试下
在这里插入图片描述

### 构建RAG大模型私有知识库 #### 使用Deepseek和Dify实现本地部署 为了在本地环境中使用Deepseek和Dify构建RAG大模型的私有知识库,需完成一系列配置与集成操作。具体过程涉及环境准备、安装必要的软件包和服务设置。 #### 环境准备 确保拥有适合运行大型语言模型的基础架构,包括但不限于足够的计算资源(CPU/GPU)、内存空间及存储容量。此外,还需准备好支持Python编程的语言环境及相关依赖项[^3]。 #### 安装Deepseek-R1 按照官方文档指导,在服务器上部署Deepseek-r1版本的大规模预训练模型实例。此步骤通常涉及到下载权重文件、调整参数配置以适应硬件条件等操作[^1]。 #### 配置Dify平台 通过Dify提供的API接口或命令行工具连接已部署好的Deepseek-r1服务端口,使两者之间建立有效的通信链路。此时可以测试二者之间的连通性,确认消息传递正常无误[^2]。 #### 创建嵌入式索引 针对目标领域内的文本资料集执行向量化处理,生成对应的embedding表示形式,并将其导入至数据库中形成结构化的索引体系。这一环节对于后续查询效率至关重要。 #### 实现检索增强机制 设计合理的算法逻辑,使得当用户发起咨询请求时,系统能够快速定位最相关的背景信息片段作为辅助材料输入给LLM进行响应合成;同时保持对话流畅性和自然度不受影响。 ```python from dify import DifyClient import deepseek as ds client = DifyClient(api_key='your_api_key') model = ds.load_model('path_to_deepseek_r1') def get_context(query): embeddings = model.encode([query]) results = client.search(embeddings=embeddings, top_k=5) context = " ".join([r['text'] for r in results]) return context ``` 上述代码展示了如何利用Dify客户端API获取与查询语句相似度最高的几个条目,并将它们组合成一段连续的文字串供进一步分析使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值