首页 > 其他分享 >从零学习大模型——使用GLM-4-9B + BGE-M3 + langchain + chroma建立的本地RAG应用(一)——环境准备

从零学习大模型——使用GLM-4-9B + BGE-M3 + langchain + chroma建立的本地RAG应用(一)——环境准备

时间:2024-07-10 14:09:25浏览次数:8  
标签:RAG BGE -- 9B langchain download install pip

本项目基于DataWhaleChina的self-llm教程与llm-universe及Langchain官方文档等资料开发,旨在实现全部本地化的RAG应用。

本项目使用AutoDL的云服务器进行开发。在 AutoDL 平台中租一个 3090 等 24G 显存的显卡机器,如下图所示镜像选择 PyTorch-->2.1.0-->3.10(ubuntu22.04)-->12.1

接下来打开刚刚租用服务器的 JupyterLab,并且打开其中的终端。进行环境配置与依赖安装,注意要依次执行每一行pip install语句。

# 升级pip
python -m pip install --upgrade pip
# 更换 pypi 源加速库的安装
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

pip install fastapi==0.104.1
pip install uvicorn==0.24.0.post1
pip install requests==2.25.1
pip install modelscope==1.9.5
pip install transformers==4.41.2
pip install streamlit==1.24.0
pip install sentencepiece==0.1.99
pip install accelerate==0.24.1
pip install tiktoken==0.7.0

项目中下载的模型建议使用魔搭社区的源,较为稳定快速。在/root/autodl-tmp路径下新建一个python文件download.py内容如下:

import torch
from modelscope import snapshot_download, AutoModel, AutoTokenizer
import os
model_dir = snapshot_download('ZhipuAI/glm-4-9b-chat', cache_dir='/root/autodl-tmp', revision='master')

然后在终端执行命令:

cd /root/auto-tmp
python download.py

终端出现下图结果表示下载成功。

然后运行pip install langchain==0.2.1,为后续接入langchain做准备。

标签:RAG,BGE,--,9B,langchain,download,install,pip
From: https://www.cnblogs.com/tarorat/p/18293930

相关文章

  • 解密本地会话存储:前段开发必备!sessionStorage和localStorage
    sessionStorage、localStorage:本地存储、本地会话window.sessionStorage、window.localStorage:方法一样注意:数据名称、数据具体值,必须加上引号,除非是变量,或者表达式,否则出错localStorage永久存储,关闭浏览器,本地存储都不会消失(只针对相同的浏览器)能多个相同的页面共享数据......
  • 【一文带你了解RAG(检索增强生成) | 概念理论介绍+ 代码实操(含源码)】
    文末有福利!引言针对大型语言模型效果不好的问题,之前人们主要关注大模型再训练、大模型微调、大模型的Prompt增强,但对于专有、快速更新的数据却并没有较好的解决方法,为此检索增强生成(RAG)的出现,弥合了LLM常识和专有数据之间的差距。今天给大家分享的这篇文章,将介绍RAG的概......
  • 14-48 剑和诗人22 - RAG 的主要痛点和解决方案
    ​​​​​检索增强生成(RAG)模型已成为一种有前途的方法,它利用存储在文档中的外部知识来提高生成文本的准确性和相关性。通过检索和调节相关的上下文文档,与传统语言模型相比,RAG模型可以产生更真实、更深入和更具体的响应。然而,与任何新技术一样,RAG模型也面临着一系列......
  • manim边学边做--Paragraph
    对于长篇大段的文本显示,manim中专门提供了一个Paragraph类。使用Paragraph,就不需要用拼接Text的方式来显示大段的文本。Paragraph在manim各个模块中的位置大致如上图中所示。1.主要参数Paragraph可以看作是基于Text的扩展,当你需要显示多行文本的时候,用Paragraph更加方便。上一......
  • Solidity:变量数据存储和作用域 storage/memory/calldata
    Solidity中的引用类型​引用类型(ReferenceType):包括数组(array)和结构体(struct),由于这类变量比较复杂,占用存储空间大,我们在使用时必须要声明数据存储的位置。数据位置​Solidity数据存储位置有三类:storage,memory和calldata。不同存储位置的gas成本不同。storage类型的数据存......
  • RAG工程实践拦路虎之一:PDF格式解析杂谈
    背景PDF(PortableDocumentFormat)是一种广泛用于文档交换的文件格式,由AdobeSystems开发。它具有跨平台性、固定布局和易于打印等特点,因此在商业、学术和个人领域广泛应用。然而,PDF文件的解析一直是一个具有挑战性的问题,因为其内部结构的复杂性和多样性,使得提取其中的文本、图片......
  • RAG知识库之多表示索引
          在朴素RAG中通常会对文档、文本进行分块后进行文档嵌入,对所有文件、文本都没有经过采用Chunk方法可能有时候效果不是和好,尽管有着各种分块策略有针对大文件的、针对小文件的策略,但都难免可能会造成上下文语义丢失。      分块通常有两个非常重要的参数chunk_si......
  • LLM大模型: RAG两大核心利器 — embedding和reranker模型微调fine-tune
      要想RAG好,embedding和reranker必须给力!目前市面上流行的embedding和reranker使用的都是通用预料训练,并未针对安全这个细分领域定制,所以有必要使用安全领域的预料微调一下!目前所有的预料中,获取成本比较低、并且不需要专门投入人力标注的有两种:网上各种安全论坛的博客、各......
  • Optimize-Volume 命令用于优化指定驱动器的性能。除了 -Defrag 参数以外,还有一些其他
    Optimize-Volume命令起源于Microsoft的PowerShell环境中的一个磁盘优化工具。它主要用于对磁盘驱动器执行优化操作,包括碎片整理、TRIM操作(针对固态硬盘)、分块整理等。这些操作有助于提高磁盘性能和延长硬件寿命,特别是对于使用频繁的系统和数据驱动器来说尤为重要。在Power......
  • android中activity与fragment之间的各种跳转
    我们以音乐播放、视频播放、用户注册与登录为例【Musicfragment(音乐列表页)、Videofragment(视频列表页)、MusicAvtivity(音乐详情页)、VideoFragment(视频详情页)、LoginActivity(用户登录)、RegisterActivity(用户注册)】目录1.activity与activity之间的跳转2.activity与fragment之间......