任务要求:
1.基于 LlamaIndex 构建自己的 RAG 知识库,寻找一个问题 A 在使用 LlamaIndex 之前InternLM2-Chat-1.8B模型不会回答,借助 LlamaIndex 后 InternLM2-Chat-1.8B 模型具备回答 A 的能力,截图保存。
2.将 Streamlit+LlamaIndex+浦语API的 Space 部署到 Hugging Face。
关键词解析:
1.Llamalndex:是一个上下文增强的 LLM 框架,旨在通过将其与特定上下文数据集集成,增强大型语言模型(LLMs)的能力。它允许您构建应用程序,既利用 LLMs 的优势,又融入您的私有或领域特定信息。
2.RAG:是一种给模型注入新知识的一种方式,这种方式并不改变模型的权重,只是给模型引入格外的信息。它能够让基础模型实现非参数知识更新,无需训练就可以掌握新领域的知识。
解决步骤:
1.配置环境:
创建新的conda环境,命名为 llamaindex
,在命令行模式下运行:
conda create -n llamaindex python=3.10
运行 conda
命令,激活 llamaindex
然后安装相关基础依赖 python 虚拟环境:
conda activate llamaindex
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia
安装python 依赖包
pip install einops==0.7.0 protobuf==5.26.1
2.安装 Llamaindex
conda activate llamaindex
pip install llama-index==0.10.38 llama-index-llms-huggingface==0.2.0 "transformers[torch]==4.41.1" "huggingface_hub[inference]==0.23.1" huggingface_hub==0.23.1 sentence-transformers==2.7.0 sentencepiece==0.2.0
3.下载 Sentence Transformer 模型
cd ~
mkdir llamaindex_demo
mkdir model
cd ~/llamaindex_demo
touch download_hf.py
然后打开download_hf.py文件输入下列代码
import os
# 设置环境变量
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'
# 下载模型
os.system('huggingface-cli down