agentic-defensor / start.sh
vichudo's picture
add first approach
b840b29
Raw
History Blame Contribute Delete
3.13 kB
#!/bin/bash
# start.sh - Production launcher for Agentic Defensor
# Set default mode to api
MODE=${1:-api}
# Process flags
DEBUG=""
for arg in "$@"; do
if [ "$arg" == "--debug" ]; then
DEBUG="--debug"
fi
done
# Load environment variables from .env if it exists
if [ -f .env ]; then
source .env
fi
# Check API key is present
if [ -z "$OPENAI_API_KEY" ]; then
echo "ERROR: OPENAI_API_KEY not set. Please set it in .env file or as environment variable."
exit 1
fi
# Check for required files
if [ ! -f "embeddings/faiss_index.index" ] || [ ! -f "data/doc_chunks.pkl" ] || [ ! -f "embeddings/embeddings.pkl" ]; then
echo "WARNING: Required data files missing. Please ensure you have:"
echo " - embeddings/faiss_index.index"
echo " - data/doc_chunks.pkl"
echo " - embeddings/embeddings.pkl"
fi
# Run with production settings
case $MODE in
api)
echo "Starting API server on port 8000..."
exec python3 -m uvicorn src.api.app:app --host 0.0.0.0 --port 8000
;;
interactive)
echo "Starting interactive agent mode..."
if [ ! -z "$DEBUG" ]; then
echo "Debug mode enabled: Agent reasoning will be shown"
exec python3 run.py --debug interactive --agent
else
exec python3 run.py interactive --agent
fi
;;
interactive-debug)
echo "Starting interactive agent mode with reasoning..."
exec python3 run.py --debug interactive --agent
;;
cli)
if [ -z "$2" ]; then
echo "Error: Query required for CLI mode"
echo "Usage: ./start.sh cli \"Your query here\""
exit 1
fi
echo "Running CLI query: $2"
if [ ! -z "$DEBUG" ]; then
exec python3 run.py $DEBUG cli "$2" --top-k 50
else
exec python3 run.py cli "$2" --top-k 50
fi
;;
agent)
if [ -z "$2" ]; then
echo "Error: Query required for agent mode"
echo "Usage: ./start.sh agent \"Your query here\""
exit 1
fi
echo "Running agent query: $2"
if [ ! -z "$DEBUG" ]; then
exec python3 run.py $DEBUG agent "$2" --top-k 50
else
exec python3 run.py agent "$2" --top-k 50
fi
;;
agent-debug)
if [ -z "$2" ]; then
echo "Error: Query required for agent mode"
echo "Usage: ./start.sh agent-debug \"Your query here\""
exit 1
fi
echo "Running agent query with reasoning: $2"
exec python3 run.py --debug agent "$2" --top-k 50
;;
*)
echo "Unknown mode: $MODE"
echo "Usage: ./start.sh [api|interactive|interactive-debug|cli|agent|agent-debug] [--debug]"
echo "Examples:"
echo " ./start.sh api # Start API server"
echo " ./start.sh interactive # Start interactive mode"
echo " ./start.sh interactive-debug # Start interactive mode with reasoning"
echo " ./start.sh cli \"query\" # Run single query with standard agent"
echo " ./start.sh agent \"query\" # Run single query with multi-agent system"
echo " ./start.sh agent \"query\" --debug # Run query with reasoning steps"
echo " ./start.sh agent-debug \"query\" # Run query with reasoning steps"
exit 1
;;
esac