搭建GLM-4-9B等模型的本地RAG应用环境

作者:新兰2024.11.25 14:46浏览量:80

简介:本文介绍了如何从零开始学习大模型,并详细阐述了使用GLM-4-9B、BGE-M3、langchain和chroma等工具搭建本地RAG应用的环境准备过程,包括依赖安装、模型下载等步骤。

在人工智能领域,大模型的应用日益广泛,它们凭借强大的数据处理能力和深度学习算法,在各种任务中展现出卓越的性能。本文将从零开始学习大模型,并详细介绍如何使用GLM-4-9B、BGE-M3、langchain和chroma等工具搭建本地RAG(Retrieval Augmented Generation,检索增强生成)应用的环境准备过程。

一、大模型简介

大模型,是指在人工智能领域,特别是在自然语言处理(NLP)和机器学习中,拥有大量参数的深度学习模型。这些模型通过在大规模数据集上进行训练,能够学习到丰富的数据表示和模式,从而在各种任务上表现出色,如文本生成、语言理解、图像识别等。GLM-4-9B和BGE-M3就是其中的佼佼者。

  • GLM-4-9B:由Zhipu AI推出的GLM-4系列中的最新训练模型,具有出色的语义理解、数学推理、代码执行等能力。它支持多轮对话和高级功能,如Web浏览、自定义工具调用等,并增加了多语言支持,包括日语、韩语和德语等26种语言。
  • BGE-M3:全称为M3-Embedding,主要通过自我知识蒸馏实现了在多语言、多功能和多粒度文本嵌入的显著进步。它支持超过100种工作语言的语义检索,能同时完成密集检索、多向量检索和稀疏检索三种检索功能,并能处理从短句到长文档(最多8192个令牌)不同粒度的输入。

二、环境准备

在搭建本地RAG应用之前,需要做好以下环境准备工作:

1. 升级pip并更换pypi源

首先,需要升级pip到最新版本,并更换pypi源以加速库的安装。可以使用以下命令:

  1. python -m pip install --upgrade pip
  2. pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

2. 安装依赖库

接下来,需要安装一系列依赖库,包括fastapi、uvicorn、requests、modelscope、transformers、streamlit、sentencepiece、accelerate和tiktoken等。这些库将用于模型的加载、推理和API服务等。可以使用以下命令进行安装:

  1. pip install fastapi==0.104.1 uvicorn==0.24.0.post1 requests==2.25.1 modelscope==1.9.5 transformers==4.42.4 streamlit==1.24.0 sentencepiece==0.2.0 accelerate==0.32.1 tiktoken==0.7.0

注意:由于GLM-4和transformers等库会不断更新,因此在实际安装时,请务必检查最新版本,并根据需要进行调整。

3. 租用云服务器并配置环境

为了进行大模型的训练和推理,需要租用具有强大计算能力的云服务器。在本文中,建议使用AutoDL的云服务器,并租用3090等24G显存的显卡机器。镜像选择PyTorch 2.1.0、Python 3.10(ubuntu22.04)版本。

在租用服务器后,打开JupyterLab并打开其中的终端,进行环境配置与依赖安装。依次执行上述pip install语句,确保所有依赖库都已正确安装。

4. 下载模型

在准备好环境后,需要下载GLM-4-9B和BGE-M3模型。建议使用魔搭社区的源进行下载,以确保稳定性和速度。可以编写一个python脚本(如download.py)来下载模型,并使用以下命令执行:

  1. cd /root/auto-tmp
  2. python download.py

下载成功后,将模型保存到指定目录,以便后续使用。

5. 安装langchain和chroma

最后,需要安装langchain和chroma工具。langchain是一个基于人工智能的语言处理工具链,提供了一系列的模块和工具用于处理自然语言理解和生成任务。而chroma则是一个用于颜色处理和可视化的库(在本文的RAG应用中可能不是必需,但可根据实际需求进行安装)。

可以使用以下命令进行安装:

  1. pip install langchain==0.2.1
  2. # 根据需要安装chroma
  3. pip install chroma # 可选

三、总结

通过以上步骤,我们完成了搭建GLM-4-9B + BGE-M3 + langchain + chroma本地RAG应用的环境准备工作。接下来,我们可以利用这些工具和模型进行RAG应用的开发,如构建问答系统、文本生成器等。在实际应用中,还需要根据具体需求进行模型的微调、数据的预处理等工作,以优化应用的性能和效果。

此外,在搭建环境的过程中,我们也注意到了硬件资源的重要性。为了支持大模型的训练和推理,需要具有强大计算能力的硬件基础设施。因此,在选择云服务器时,我们需要关注其显卡配置、计算能力等指标,以确保能够满足应用的需求。

在本文的介绍中,我们选择了千帆大模型开发与服务平台作为相关的产品关联。千帆大模型开发与服务平台提供了丰富的模型库、工具链和计算资源,能够帮助开发者更加高效地搭建和优化大模型应用。在实际应用中,我们可以利用该平台的资源和工具进行模型的训练、推理和部署等工作,以加速应用的开发进程并提高应用的性能和质量。