5.0 KiB
5.0 KiB
Quick Test Guide
🚀 Quick Deploy & Test
1. Rebuild Container (Required!)
# Stop and remove old container
docker-compose down
# Rebuild with no cache to pick up changes
docker-compose build --no-cache
# Start container
docker-compose up -d
2. Verify Container Logs Work ✅
# Tail logs - you should now see output!
docker logs -f shopify-ai-builder
# Look for lines like:
# [2024-01-11T...] Server started on http://0.0.0.0:4000
# [CONFIG] Mistral: { configured: true, ... }
# [CONFIG] Planning Settings: { ... }
Before the fix: No logs visible, all went to /var/log/chat-service.log
After the fix: All logs visible in Docker logs ✅
3. Test Groq Planning ✅
Setup:
# Add to .env or docker-compose.yml
GROQ_API_KEY=your_groq_api_key_here
Test Steps:
- Restart after adding env var:
docker-compose restart - Go to:
http://localhost:4000/admin/login - Navigate to "Plan models"
- Click "Add planning model"
- Select Provider:
groq, Model: (leave empty for default) - Save
- Go to builder:
http://localhost:4000/apps - Create new project and enter a plan request
- Check logs:
docker logs shopify-ai-builder | grep "\[GROQ\]"
What to expect:
- Planning request returns a response
- Logs show:
[GROQ] Starting API request - Logs show:
[GROQ] Response received { status: 200, ok: true } - Logs show:
[GROQ] Extracted reply: { replyLength: ... }
4. Test Mistral Planning ✅
Setup:
# Add to .env or docker-compose.yml
MISTRAL_API_KEY=your_mistral_api_key_here
Test Steps:
- Restart after adding env var:
docker-compose restart - Go to admin panel → Plan models
- Add Mistral as planning provider
- Go to builder and create plan request
- Check logs:
docker logs shopify-ai-builder | grep "\[MISTRAL\]"
What to expect:
- Planning request returns a response
- Logs show Mistral API request/response cycle
- Model information tracked properly
5. Verify Provider Fallback ✅
Test automatic fallback:
- Configure multiple providers in planning chain (e.g., Groq → Mistral → OpenRouter)
- Make a plan request
- If first provider fails, should automatically try next
- Check logs to see fallback chain:
docker logs shopify-ai-builder | grep "\[PLAN\]"
🎯 Success Criteria
- ✅ Container logs are visible and updating in real-time
- ✅ Groq planning returns responses
- ✅ Mistral planning returns responses
- ✅ Provider fallback works automatically
- ✅ Admin panel shows all providers (openrouter, mistral, google, groq, nvidia)
🐛 Troubleshooting
Problem: Still no logs visible
Solution: Make sure you rebuilt with --no-cache
docker-compose down
docker-compose build --no-cache
docker-compose up -d
Problem: "API key not configured"
Solution: Add environment variables and restart
# Add to .env file
GROQ_API_KEY=...
MISTRAL_API_KEY=...
# Restart container
docker-compose restart
Problem: Groq returns error
Solution: Check logs for specific error message
docker logs shopify-ai-builder 2>&1 | grep -A 5 "\[GROQ\].*error"
Problem: Planning returns no response
Solution:
- Check logs:
docker logs -f shopify-ai-builder - Look for error messages with provider prefixes
- Verify API key is correct
- Try a different provider as fallback
📊 Log Examples
Good Groq Response:
[GROQ] Starting API request { url: '...', model: 'llama-3.3-70b-versatile', messageCount: 3 }
[GROQ] Response received { status: 200, ok: true }
[GROQ] Response data: { hasChoices: true, choicesLength: 1, model: '...' }
[GROQ] Extracted reply: { replyLength: 523, replyPreview: 'Here is a WordPress plugin...' }
[PLAN] Provider succeeded { provider: 'groq', model: '...', replyLength: 523 }
Good Mistral Response:
[MISTRAL] Starting API request { url: '...', model: 'mistral-large-latest', messageCount: 3 }
[MISTRAL] Response received { status: 200, ok: true }
[MISTRAL] Successfully extracted reply { replyLength: 1024, replyPreview: 'I'll help you create...' }
[PLAN] Provider succeeded { provider: 'mistral', model: 'mistral-large-latest', replyLength: 1024 }
Fallback Chain Working:
[PLAN] Trying provider { provider: 'groq', model: '' }
[GROQ] Request failed { status: 429, detail: 'Rate limit exceeded' }
[PLAN] Trying provider { provider: 'mistral', model: '' }
[MISTRAL] Successfully extracted reply { replyLength: 856 }
[PLAN] Provider succeeded { provider: 'mistral', model: 'mistral-large-latest' }
📝 Environment Variables
# Required for Groq
GROQ_API_KEY=your_groq_key_here
# Required for Mistral
MISTRAL_API_KEY=your_mistral_key_here
# Optional - use defaults if not set
GROQ_API_URL=https://api.groq.com/openai/v1/chat/completions
MISTRAL_API_URL=https://api.mistral.ai/v1/chat/completions
🔗 Quick Links
- Admin Panel:
http://localhost:4000/admin/login - Plan Models Config:
http://localhost:4000/admin/plan - Builder:
http://localhost:4000/apps - Full Documentation: See
FIXES_SUMMARY.md