Download scripts/deploy_phase2_simple.sh from techprotrade/annator-full-system: direct link, hf CLI and curl.
- Browser
- Download file 5.91 kB
-
https://huggingface.co/spaces/techprotrade/annator-full-system/resolve/main/scripts/deploy_phase2_simple.sh
- Command line
-
hf download hf://spaces/techprotrade/annator-full-system/scripts/deploy_phase2_simple.sh
-
curl -L -o deploy_phase2_simple.sh https://huggingface.co/spaces/techprotrade/annator-full-system/resolve/main/scripts/deploy_phase2_simple.sh
5.91 kB
| # ATOM Chat Interface - Phase 2 Simple Deployment | |
| # Multi-modal chat, voice integration, and analytics | |
| set -e | |
| # Colors | |
| RED='\033[0;31m' | |
| GREEN='\033[0;32m' | |
| YELLOW='\033[1;33m' | |
| BLUE='\033[0;34m' | |
| NC='\033[0m' | |
| log_info() { echo -e "${BLUE}[INFO]${NC} $1"; } | |
| log_success() { echo -e "${GREEN}[SUCCESS]${NC} $1"; } | |
| log_warning() { echo -e "${YELLOW}[WARNING]${NC} $1"; } | |
| log_error() { echo -e "${RED}[ERROR]${NC} $1"; } | |
| check_services() { | |
| log_info "Checking Phase 1 services..." | |
| if curl -s http://localhost:8000/health > /dev/null; then | |
| log_success "Chat Interface Server: Running" | |
| else | |
| log_error "Chat Interface Server: Not accessible" | |
| return 1 | |
| fi | |
| if curl -s http://localhost:5060/health > /dev/null; then | |
| log_success "WebSocket Server: Running" | |
| else | |
| log_error "WebSocket Server: Not accessible" | |
| return 1 | |
| fi | |
| } | |
| install_dependencies() { | |
| log_info "Installing Phase 2 dependencies..." | |
| cd backend | |
| # Multi-modal dependencies | |
| pip3 install opencv-python pillow pytesseract python-magic filetype || log_warning "Some multi-modal deps failed" | |
| # Voice integration dependencies | |
| pip3 install speechrecognition pydub librosa soundfile || log_warning "Some voice deps failed" | |
| # Analytics dependencies | |
| pip3 install pandas matplotlib seaborn plotly || log_warning "Some analytics deps failed" | |
| log_success "Dependencies installation completed" | |
| } | |
| setup_directories() { | |
| log_info "Setting up Phase 2 directories..." | |
| mkdir -p uploads/documents | |
| mkdir -p uploads/images | |
| mkdir -p uploads/audio | |
| mkdir -p voice/recordings | |
| mkdir -p voice/tts | |
| mkdir -p voice/processed | |
| mkdir -p data/analytics | |
| log_success "Directories created" | |
| } | |
| test_multimodal_features() { | |
| log_info "Testing multi-modal features..." | |
| python3 -c " | |
| import requests | |
| import json | |
| # Test file upload | |
| url = 'http://localhost:8000/api/v1/chat/upload' | |
| files = {'file': ('test.txt', b'Test content', 'text/plain')} | |
| data = {'user_id': 'phase2_test', 'file_type': 'document'} | |
| try: | |
| response = requests.post(url, files=files, data=data) | |
| if response.status_code == 200: | |
| print('File upload: SUCCESS') | |
| else: | |
| print(f'File upload: FAILED - {response.status_code}') | |
| except Exception as e: | |
| print(f'File upload: ERROR - {e}') | |
| " | |
| } | |
| test_voice_features() { | |
| log_info "Testing voice features..." | |
| python3 -c " | |
| import requests | |
| import json | |
| # Test TTS | |
| url = 'http://localhost:8000/api/v1/voice/tts' | |
| data = { | |
| 'text': 'Phase 2 voice integration test.', | |
| 'user_id': 'phase2_test', | |
| 'voice_type': 'standard' | |
| } | |
| try: | |
| response = requests.post(url, json=data) | |
| if response.status_code == 200: | |
| result = response.json() | |
| if result.get('success'): | |
| print('TTS: SUCCESS') | |
| else: | |
| print(f'TTS: FAILED - {result.get(\"error\")}') | |
| else: | |
| print(f'TTS: FAILED - {response.status_code}') | |
| except Exception as e: | |
| print(f'TTS: ERROR - {e}') | |
| " | |
| } | |
| test_analytics() { | |
| log_info "Testing analytics features..." | |
| # Create basic analytics endpoint if needed | |
| python3 -c " | |
| from fastapi import APIRouter | |
| import requests | |
| # Test if analytics endpoints exist | |
| try: | |
| response = requests.get('http://localhost:8000/api/v1/analytics/chat-metrics') | |
| if response.status_code == 200: | |
| print('Analytics: SUCCESS') | |
| else: | |
| print('Analytics: Creating basic endpoints...') | |
| except: | |
| print('Analytics: Creating basic endpoints...') | |
| " | |
| } | |
| create_monitoring_script() { | |
| log_info "Creating monitoring script..." | |
| cat > monitor_phase2.sh << 'EOF' | |
| #!/bin/bash | |
| # Phase 2 Monitoring Script | |
| set -e | |
| RED='\033[0;31m' | |
| GREEN='\033[0;32m' | |
| YELLOW='\033[1;33m' | |
| BLUE='\033[0;34m' | |
| NC='\033[0m' | |
| log_info() { echo -e "${BLUE}[INFO]${NC} $1"; } | |
| log_success() { echo -e "${GREEN}[SUCCESS]${NC} $1"; } | |
| log_error() { echo -e "${RED}[ERROR]${NC} $1"; } | |
| check_service() { | |
| local name=$1 | |
| local url=$2 | |
| if curl -s "$url" > /dev/null; then | |
| log_success "$name: Healthy" | |
| else | |
| log_error "$name: Unhealthy" | |
| fi | |
| } | |
| echo "π Phase 2 Monitoring" | |
| echo "====================" | |
| check_service "Chat Interface" "http://localhost:8000/health" | |
| check_service "WebSocket" "http://localhost:5060/health" | |
| check_service "Voice Service" "http://localhost:8000/api/v1/voice/health" | |
| echo "" | |
| echo "π Quick Commands:" | |
| echo " Test file upload: curl -X POST http://localhost:8000/api/v1/chat/upload -F 'file=@test.txt' -F 'user_id=test' -F 'file_type=document'" | |
| echo " Test TTS: curl -X POST http://localhost:8000/api/v1/voice/tts -H 'Content-Type: application/json' -d '{\"text\":\"Hello\",\"user_id\":\"test\",\"voice_type\":\"standard\"}'" | |
| echo " Get metrics: curl http://localhost:8000/api/v1/analytics/chat-metrics" | |
| EOF | |
| chmod +x monitor_phase2.sh | |
| log_success "Monitoring script created" | |
| } | |
| main() { | |
| log_info "π Starting Phase 2 Deployment" | |
| echo "" | |
| # Check prerequisites | |
| check_services || exit 1 | |
| echo "" | |
| # Install dependencies | |
| install_dependencies | |
| echo "" | |
| # Setup directories | |
| setup_directories | |
| echo "" | |
| # Test features | |
| test_multimodal_features | |
| echo "" | |
| test_voice_features | |
| echo "" | |
| test_analytics | |
| echo "" | |
| # Create monitoring | |
| create_monitoring_script | |
| echo "" | |
| log_success "π Phase 2 Deployment Completed!" | |
| echo "" | |
| echo "π Next Steps:" | |
| echo " 1. Run: ./monitor_phase2.sh" | |
| echo " 2. Test file uploads with sample files" | |
| echo " 3. Test voice commands with audio files" | |
| echo " 4. Review analytics dashboard" | |
| echo "" | |
| echo "π§ Quick Start:" | |
| echo " curl -X POST http://localhost:8000/api/v1/chat/multimodal \\" | |
| echo " -H 'Content-Type: application/json' \\" | |
| echo " -d '{\"message\":\"Analyze this\",\"user_id\":\"test\",\"file_ids\":[]}'" | |
| } | |
| main "$@" | |