Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
93 lines
2.9 KiB
Bash
Executable File
93 lines
2.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# vLLM Tool Calling Demo - Setup Script
|
|
# This script helps set up the environment for the demo
|
|
|
|
echo "======================================"
|
|
echo "vLLM Tool Calling Demo Setup"
|
|
echo "======================================"
|
|
|
|
# Check Python version
|
|
echo -e "\n1. Checking Python version..."
|
|
python_version=$(python3 --version 2>&1 | grep -Po '(?<=Python )\d+\.\d+')
|
|
required_version="3.8"
|
|
|
|
if [ "$(printf '%s\n' "$required_version" "$python_version" | sort -V | head -n1)" = "$required_version" ]; then
|
|
echo "✅ Python $python_version is installed (>= $required_version required)"
|
|
else
|
|
echo "❌ Python $python_version is too old. Please install Python >= $required_version"
|
|
exit 1
|
|
fi
|
|
|
|
# Check CUDA availability
|
|
echo -e "\n2. Checking CUDA availability..."
|
|
if command -v nvidia-smi &> /dev/null; then
|
|
echo "✅ NVIDIA GPU detected:"
|
|
nvidia-smi --query-gpu=name,memory.total --format=csv,noheader
|
|
else
|
|
echo "⚠️ No NVIDIA GPU detected. vLLM requires a CUDA-capable GPU."
|
|
echo " You can still install dependencies but won't be able to run the model locally."
|
|
fi
|
|
|
|
# Create virtual environment
|
|
echo -e "\n3. Setting up Python virtual environment..."
|
|
if [ ! -d "venv" ]; then
|
|
python3 -m venv venv
|
|
echo "✅ Virtual environment created"
|
|
else
|
|
echo "✅ Virtual environment already exists"
|
|
fi
|
|
|
|
# Activate virtual environment
|
|
source venv/bin/activate
|
|
|
|
# Upgrade pip
|
|
echo -e "\n4. Upgrading pip..."
|
|
pip install --upgrade pip
|
|
|
|
# Install requirements
|
|
echo -e "\n5. Installing requirements..."
|
|
pip install -r requirements.txt
|
|
|
|
# Check PyTorch CUDA
|
|
echo -e "\n6. Checking PyTorch CUDA support..."
|
|
python3 -c "import torch; print('✅ PyTorch CUDA available' if torch.cuda.is_available() else '❌ PyTorch CUDA not available')"
|
|
|
|
# Create .env file if it doesn't exist
|
|
echo -e "\n7. Setting up environment configuration..."
|
|
if [ ! -f ".env" ]; then
|
|
cp env.example .env
|
|
echo "✅ Created .env file from template"
|
|
else
|
|
echo "✅ .env file already exists"
|
|
fi
|
|
|
|
# Create logs directory
|
|
echo -e "\n8. Creating logs directory..."
|
|
mkdir -p logs
|
|
echo "✅ Logs directory created"
|
|
|
|
# Optional: Install ModelScope for downloading from Chinese mirror
|
|
echo -e "\n9. Optional packages..."
|
|
read -p "Install ModelScope for downloading models from Chinese mirror? (y/n): " -n 1 -r
|
|
echo
|
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|
pip install modelscope
|
|
echo "✅ ModelScope installed"
|
|
fi
|
|
|
|
echo -e "\n======================================"
|
|
echo "Setup Complete!"
|
|
echo "======================================"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo "1. Activate the virtual environment: source venv/bin/activate"
|
|
echo "2. Check system compatibility: python check_compatibility.py"
|
|
echo "3. Run the main script: python main.py"
|
|
echo ""
|
|
echo "The script will automatically detect your platform and use:"
|
|
echo " - vLLM on Linux (including WSL2) if you have an NVIDIA GPU"
|
|
echo " - Ollama on macOS, native Windows, or Linux without GPU"
|
|
echo ""
|
|
echo "For more information, see README.md"
|