Files
mqtt-explorer/scripts/setup-llm-env.sh
2026-01-30 21:58:35 +01:00

60 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# Script to set up environment variables for LLM tests
# This script writes injected secrets to a .env file for easy sourcing
set -e
ENV_FILE=".env.llm-tests"
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$REPO_ROOT"
echo "========================================"
echo " LLM Test Environment Setup "
echo "========================================"
echo ""
# Check for injected secrets
if [ -n "$OPENAI_API_KEY" ]; then
echo "✅ OPENAI_API_KEY found in environment"
echo "export OPENAI_API_KEY='$OPENAI_API_KEY'" > "$ENV_FILE"
echo "export RUN_LLM_TESTS=true" >> "$ENV_FILE"
echo ""
echo "✅ Created $ENV_FILE with OPENAI_API_KEY"
elif [ -n "$GEMINI_API_KEY" ]; then
echo "✅ GEMINI_API_KEY found in environment"
echo "export GEMINI_API_KEY='$GEMINI_API_KEY'" > "$ENV_FILE"
echo "export RUN_LLM_TESTS=true" >> "$ENV_FILE"
echo ""
echo "✅ Created $ENV_FILE with GEMINI_API_KEY"
elif [ -n "$LLM_API_KEY" ]; then
echo "✅ LLM_API_KEY found in environment"
echo "export LLM_API_KEY='$LLM_API_KEY'" > "$ENV_FILE"
echo "export LLM_PROVIDER='${LLM_PROVIDER:-openai}'" >> "$ENV_FILE"
echo "export RUN_LLM_TESTS=true" >> "$ENV_FILE"
echo ""
echo "✅ Created $ENV_FILE with LLM_API_KEY"
else
echo "❌ No API key found in environment"
echo ""
echo "To create the .env file manually, run:"
echo " echo 'export OPENAI_API_KEY=sk-your-key' > $ENV_FILE"
echo " echo 'export RUN_LLM_TESTS=true' >> $ENV_FILE"
echo ""
exit 1
fi
# Make the file readable only by the current user for security
chmod 600 "$ENV_FILE"
echo ""
echo "To use the environment variables:"
echo " source $ENV_FILE"
echo " ./scripts/run-llm-tests.sh"
echo ""
echo "Or in a single command:"
echo " source $ENV_FILE && ./scripts/run-llm-tests.sh"
echo ""
echo "⚠️ Remember: Never commit $ENV_FILE to version control!"
echo " (It's already in .gitignore)"