基于 Llama 3 构建 RAG 语音助手
本教程介绍如何使用 Llama 3、Whisper、LangChain 和 Qdrant 构建一个本地 RAG 语音助手。我们将使用以下技术栈:
- Whisper:由 OpenAI 开发,在将口语转录为文本方面表现出色。
- LLaMA 3:提供出色的性能。
- LangChain:用于协调组件以处理复杂用户交互。
- Qdrant:向量数据库,高效处理高维数据检索。
- RAG:结合检索和生成模型,利用信息数据库生成上下文相关的回答。
环境准备
在开始之前,请确保准备好以下资源:
- GPU:建议使用 VRAM 大于 24GB 的 GPU(如 RTX 4090)或 Google Colab A100。
- 访问 LLaMA 3:确保可访问 Hugging Face 上的 LLaMA 3 模型。
安装依赖库
打开命令行界面,创建虚拟环境并安装依赖:
mkdir llama3-whisper && cd llama3-whisper
python3 -m venv llama3-whisper-env
source llama3-whisper-env/bin/activate
安装核心库:
pip3 install --no-deps torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1
pip3 install openai
pip3 install -q transformers==4.33.0
pip3 install -q accelerate==0.22.0
pip3 install -q einops==0.6.1
pip3 install -q langchain==0.0.300
pip3 install -q xformers==0.0.21
pip3 install -q bitsandbytes==0.41.1
pip3 install -q sentence_transformers==2.2.2
pip3 install arxiv
pip3 install -q ipykernel jupyter
pip3 install -q --upgrade huggingface_hub
安装数据处理相关库:
pip3 install unstructured
pip3 install "unstructured[pdf]"
apt-get install -y poppler-utils
pip3 install pytesseract
apt-get install -y tesseract-ocr
pip3 install --upgrade qdrant-client
pip3 install WhisperSpeech
登录 Hugging Face Hub:
huggingface-cli login
导入库
导入所有必要的库,支持模型交互、文档处理和嵌入管理。
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
from langchain.llms import HuggingFacePipeline
from langchain.vectorstores import Qdrant
from langchain.embeddings import HuggingFaceEmbeddings
langchain.document_loaders DirectoryLoader
langchain.text_splitter RecursiveCharacterTextSplitter
torch


