adaptive_rag / install_and_fix.sh
lanny xu
modifies bug
a6a67f2
#!/bin/bash
# 安装依赖和修复常见问题的脚本
echo "============================================"
echo "🚀 Adaptive RAG 安装和修复脚本"
echo "============================================"
# 1. 安装 Hugging Face CLI(如果未安装)
echo "📦 检查 Hugging Face CLI..."
if ! command -v huggingface-cli &> /dev/null; then
echo "⚙️ 安装 huggingface_hub..."
pip install huggingface_hub
else
echo "✅ Hugging Face CLI 已安装"
fi
# 2. 安装所有依赖
echo ""
echo "📦 安装项目依赖..."
pip install -r requirements.txt
# 3. 安装 rank_bm25(如果未安装)
echo ""
echo "📦 检查 rank_bm25..."
python -c "import rank_bm25" 2>/dev/null || {
echo "⚙️ 安装 rank_bm25..."
pip install rank-bm25
}
# 4. 运行 Hugging Face 配置脚本
echo ""
echo "🔧 配置 Hugging Face 访问..."
python configure_huggingface.py
# 5. 验证安装
echo ""
echo "🔍 验证安装结果..."
# 检查 rank_bm25
echo "检查 rank_bm25..."
python -c "import rank_bm25; print('✅ rank_bm25 可用')" || echo "❌ rank_bm25 安装失败"
# 检查 Hugging Face 登录
echo "检查 Hugging Face 登录状态..."
if huggingface-cli whoami &>/dev/null; then
echo "✅ Hugging Face 已登录"
else
echo "⚠️ Hugging Face 未登录,可能无法访问受限模型"
fi
# 检查 Vectara 模型访问
echo "检查 Vectara 模型访问..."
python -c "
try:
from transformers import AutoTokenizer
AutoTokenizer.from_pretrained('vectara/hallucination_evaluation_model')
print('✅ Vectara 模型可访问')
except:
print('❌ Vectara 模型不可访问,将使用 NLI 方法')
"
echo ""
echo "============================================"
echo "🎉 安装和配置完成!"
echo "============================================"
echo ""
echo "💡 现在可以运行: python setup_and_run.py"