1. 引言
Embedding 模型是 RAG(检索增强生成)、语义搜索、文本相似度计算等应用的核心组件。在开始使用 Embedding 模型之前,我们需要先搭建好运行环境。本文将详细介绍安装 Embedding 所需的环境,涵盖 Python 环境、依赖库、模型下载与验证等步骤。
2. 环境准备概览
在安装 Embedding 模型之前,我们需要准备以下环境:
- Python 3.8+:主流 Embedding 库均要求 Python 3.8 及以上版本。
- pip 包管理器:用于安装 Python 依赖库。
- 网络环境:用于下载模型权重文件(若使用本地模型)。
- 可选 GPU 环境:若需加速推理,可安装 CUDA 与 cuDNN。
3. 安装 Miniconda 并创建环境
3.1 下载并安装 Miniconda
你的场景是下载了 Miniconda3-py39_23.10.0-Linux-x86_64.sh,这是基于 Python 3.9 的 Miniconda 安装脚本。在终端中执行以下命令进行安装:
bash
# 赋予执行权限
chmod +x Miniconda3-py39_23.10.0-Linux-x86_64.sh
# 运行安装脚本
bash Miniconda3-py39_23.10.0-Linux-x86_64.sh
安装过程中按提示操作:
- 按
Enter阅读许可协议,输入yes接受协议。 - 选择安装路径(默认
~/miniconda3即可)。 - 询问是否初始化 conda 时,输入
yes,这样会自动配置~/.bashrc。
安装完成后,重新加载配置文件:
bash
source ~/.bashrc
3.2 验证 conda 与 Python 版本
输入以下命令验证安装是否成功:
bash
conda --version
bash
python --version
如果输出类似 conda 23.10.0 和 Python 3.9.18,说明 Miniconda 安装成功。由于该安装包自带 Python 3.9,无需再单独安装 Python。
3.3 创建独立的 conda 环境(推荐)
为了避免依赖冲突,建议为项目创建独立的 conda 环境:
bash
# 创建环境(指定 Python 版本)
conda create -n embedding_env python=3.9 -y
# 激活环境
conda activate embedding_env
激活后,终端提示符前会出现 (embedding_env) 前缀,表示已进入该环境。后续的依赖安装都在此环境中进行。
4. 安装核心依赖库
4.1 安装 sentence-transformers
sentence-transformers 是最常用的 Embedding 库之一,它封装了 Hugging Face 的 Transformers 模型,使用非常方便:
bash
pip install sentence-transformers
4.2 安装 transformers 与 torch
如果只需要底层能力,也可以直接安装 transformers 和 torch:
bash
pip install transformers torch
提示:
torch体积较大,若使用 GPU 版本,请根据 CUDA 版本选择对应的安装命令,详见下文「GPU 环境配置」。
4.3 安装其他常用依赖
根据实际需求,可能还需要安装以下库:
bash
pip install numpy scikit-learn
numpy:数值计算基础库。scikit-learn:用于计算余弦相似度等指标。
5. 下载 Embedding 模型
5.1 使用 Hugging Face 模型
sentence-transformers 支持从 Hugging Face Hub 自动下载模型。首次使用时,只需指定模型名称即可:
python
from sentence_transformers import SentenceTransformer
# 首次运行会自动下载模型
model = SentenceTransformer("BAAI/bge-small-zh-v1.5")
5.2 手动下载模型(离线环境)
如果网络环境受限,可以手动下载模型文件并放到本地目录:
bash
# 使用 huggingface_hub 下载
pip install huggingface_hub
huggingface-cli download BAAI/bge-small-zh-v1.5 --local-dir ./models/bge-small-zh-v1.5
下载完成后,加载本地模型:
python
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("./models/bge-small-zh-v1.5")
6. GPU 环境配置(可选)
如果希望使用 GPU 加速 Embedding 推理,需要额外安装 CUDA 环境。
6.1 安装 CUDA 与 cuDNN
- 前往 NVIDIA CUDA 下载页 下载并安装 CUDA Toolkit。
- 前往 NVIDIA cuDNN 下载页 下载对应版本的 cuDNN 并配置环境变量。
6.2 安装 GPU 版 PyTorch
安装 GPU 版 PyTorch 时,需要指定 CUDA 版本:
bash
# 以 CUDA 11.8 为例
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
安装完成后,验证 GPU 是否可用:
python
import torch
print(torch.cuda.is_available()) # 输出 True 表示 GPU 可用
7. 验证环境是否安装成功
安装完成后,运行以下代码验证环境是否正常:
python
from sentence_transformers import SentenceTransformer
# 加载模型
model = SentenceTransformer("BAAI/bge-small-zh-v1.5")
# 生成 Embedding
sentences = ["你好,世界", "Hello, World"]
embeddings = model.encode(sentences)
print("Embedding 维度:", embeddings.shape)
print("Embedding 向量:", embeddings)
如果正常输出 Embedding 向量,说明环境安装成功。
8. 常见问题排查
8.1 网络超时导致模型下载失败
可设置镜像源加速下载:
bash
export HF_ENDPOINT=https://hf-mirror.com
8.2 内存不足
如果模型过大导致内存不足,可尝试加载小模型,或使用 model.encode(..., batch_size=32) 减小批处理大小。
8.3 CUDA 不可用
检查 CUDA 版本与 PyTorch 是否匹配,可使用 nvidia-smi 查看 CUDA 版本。
9. 总结
本文介绍了安装 Embedding 模型所需环境的完整流程,包括 Python 环境搭建、核心依赖库安装、模型下载与验证,以及可选的 GPU 环境配置。按照上述步骤操作,即可顺利搭建 Embedding 模型的运行环境,为后续的 RAG、语义搜索等应用打下基础。