llm+rag本地化部署手册

llm+rag本地化部署手册

1.linux 环境搭建

a.基础实验环境搭建

官网安装 docker desktop 即可,详情见下方 Docker 一节

b.使用 WSL2 进行搭建或者使用原生 linux 进行搭建

在管理员模式下打开 PowerShell 或 Windows 命令提示符,方法是右键单击并选择“以管理员身份运行”,输入 wsl --install 命令,然后重启计算机。或是到 Microsoft Store 搜索 Ubuntu,进行下载

下载后可以用这句命令检查:

image

命令行内输入 wsl 即可进入 wsl 系统

image

2.依赖环境安装

a. docker

Docker 是一个用于开发、发布和运行应用程序的开放平台。通过 Docker,您可以将应用程序与基础架构分开,从而快速交付软件。使用 Docker,您可以用管理应用程序的相同方式管理基础架构。通过利用 Docker 的发布、测试和部署代码方法,您可以大大减少编写代码与在生产中运行代码之间的延迟。

安装包部署:linux 通过包管理命令,比如 debian 家族 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin​,centos 家族 sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin​,windows 直接从官网下载 docker desktop 安装包,特点是方便快捷。

二进制部署:从 Docker 官网下载二进制文件并手动安装。适用于没有包管理器的环境或需要定制安装的情况。

Dockerfile 是一个文本文件,其中包含了一系列指令,用于构建一个 Docker 镜像。这些指令定义了如何设置环境、安装软件、复制文件等,以便创建一个完整的运行环境。常用的命令:FROM 指令指定基础镜像,RUN 指令执行命令,CMD 指令指定容器创建时的默认命令,ENTRYPOINT 指令设置主要命令且不易被覆盖,COPY 和 ADD 指令用于文件复制等。docker 在构建镜像时,上下文路径用于告知 docker 引擎本机需打包的文件所在位置,默认是 Dockerfile 所在位置。EXPOSE 声明端口,WORKDIR 指定工作目录,USER 指定执行后续命令的用户和用户组,HEALTHCHECK 监控容器服务运行状态,ONBUILD 延迟构建命令执行,LABEL 为镜像添加元数据

下载完成后,Windows 需要启动 docker desktop 客户端,linux 可以直接在命令行中启动

检查安装是否正确

image

docker 换源

由于众所周知的原因, 局域网内访问 docker 的速度和稳定性都是比较抽象的,需要进行换源.一个优质的镜像源是阿里云为个人开发者提供的 docker 源

配置镜像加速器_容器镜像服务(ACR)-阿里云帮助中心 (aliyun.com)

配置完成后需要重启服务才能生效:(linux 下)

systemctl daemon-reload
systemctl restart docker

Windows 下 docker desktop 配置镜像的方法:

在 docker desktop 内打开设置-docker engine,在 json 文件中添加

"registry-mirrors": ["url"] ​后,点击下方应用&重启按钮即可

离线导入镜像:

本文档提供了一个镜像,您可以通过离线方式导入镜像,或是通过 docker pull ​命令在线导入镜像

镜像可以从本地加载, 比如

docker load -i ollama_latest.tar
docker load 
03-20
### LLMRAG结合的技术实现 #### 技术架构概述 LLMRAG的结合可以通过一种混合式的架构来完成,其中检索模块负责从外部知识源获取相关信息,而生成模块则利用这些信息生成高质量的回答。这种方法不仅提高了模型的知识覆盖范围,还显著降低了错误率和“幻觉”现象的发生概率[^4]。 #### 数据流过程 在具体的实施过程中,当接收到一个问题时,系统会先通过检索器访问外部数据库或文档集合,提取出与问题最相关的若干片段作为上下文输入。随后,这些片段连同原始问题一起传递至预训练好的大型语言模型中进行处理并最终输出答案[^1]。 #### 实现优势 此方法的优势在于其能够动态地调用最新、最准确的数据资源支持实时查询需求,而不依赖于固定时间点之前已有的静态参数化记忆内容。因此,在面对快速变化领域内的新情况或者需要高度精确表述的任务场景下尤为适用[^3]。 ```python def rag_based_llm(query, database): # Step 1: Retrieve relevant documents from the external knowledge base. retrieved_docs = retrieve_relevant_documents(query, database) # Step 2: Pass both query and retrieved information into an LLM for generation. response = large_language_model.generate(query=query, context=retrieved_docs) return response # Example function definitions (not actual implementations). def retrieve_relevant_documents(query, db): ... large_language_model = LargeLanguageModel()... ``` 上述伪代码展示了基本的工作流程:对于每一个用户提问 `query` ,我们都会去对应的资料库 `database` 中寻找关联条目;之后把找到的结果送入到我们的大语言模型里头加工成最后答复形式。 #### 应用实例分析 实际操作层面来看,这样的组合已经被广泛采纳用于创建智能客服对话代理程序还有其他涉及自然语言理解的应用场合之中。比如某些公司正在开发的产品线里面就包含了此类技术的支持方案设计思路讨论等内容[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值