Initial resurrection kit — 81 scripts, 62 references, configs, systemd units, crons, Docker compose files, Caddy config, master README
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
# model-usage-tracker.sh — Check model availability and report usage
|
||||
# Runs daily to warn if models are nearing credit limits
|
||||
|
||||
PRIMARY_MODEL="deepseek-chat"
|
||||
PRIMARY_PROVIDER="admin-ai"
|
||||
|
||||
echo "=== Model Usage Check $(date +'%b %d %Y %I:%M %p') ==="
|
||||
|
||||
# Test DeepSeek (primary)
|
||||
RESULT=$(curl -s -X POST "https://admin-ai.itpropartner.com/v1/chat/completions" \
|
||||
-H "Authorization: Bearer $(grep -A2 'admin-ai:' ~/.hermes/config.yaml | grep api_key | awk '{print $2}')" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"model\":\"$PRIMARY_MODEL\",\"messages\":[{\"role\":\"user\",\"content\":\"ping\"}],\"max_tokens\":5}" 2>&1)
|
||||
|
||||
if echo "$RESULT" | grep -qi "insufficient\|quota\|429\|rate\|exceeded\|credit"; then
|
||||
echo "❌ PRIMARY: deepseek-chat — CREDITS EXHAUSTED or RATE LIMITED"
|
||||
echo " Error: $(echo $RESULT | grep -oP '"message":"[^"]*"' | head -1)"
|
||||
elif echo "$RESULT" | grep -qi "error"; then
|
||||
echo "⚠️ PRIMARY: deepseek-chat — Error: $(echo $RESULT | grep -oP '"message":"[^"]*"')"
|
||||
else
|
||||
TOKENS=$(echo "$RESULT" | python3 -c "import sys,json;d=json.load(sys.stdin);u=d['usage'];print(f'prompt={u[\"prompt_tokens\"]} completion={u[\"completion_tokens\"]} total={u[\"total_tokens\"]}')" 2>/dev/null || echo "unknown")
|
||||
echo "✅ PRIMARY: deepseek-chat — OK ($TOKENS)"
|
||||
fi
|
||||
|
||||
# Test local fallback
|
||||
LOCAL=$(curl -s http://localhost:11434/api/generate -d '{"model":"llama3.2:3b","prompt":"ping","stream":false}' 2>&1)
|
||||
if echo "$LOCAL" | grep -qi "response"; then
|
||||
echo "✅ LOCAL: llama3.2:3b — OK"
|
||||
else
|
||||
echo "❌ LOCAL: llama3.2:3b — NOT RESPONDING"
|
||||
fi
|
||||
Reference in New Issue
Block a user