57 lines
1.9 KiB
Bash
Executable file
57 lines
1.9 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
NAMESPACE=rag
|
|
|
|
# Get the directory where this script is located
|
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
|
|
|
if [ -z "$OPENAI_API_KEY" ]; then
|
|
echo "OPENAI_API_KEY environment variable is not set"
|
|
read -p "Enter your OpenAI API key: " OPENAI_API_KEY
|
|
if [ -z "$OPENAI_API_KEY" ]; then
|
|
echo "Error: OPENAI_API_KEY must be provided"
|
|
exit 1
|
|
fi
|
|
export OPENAI_API_KEY=$OPENAI_API_KEY
|
|
fi
|
|
|
|
if [ -z "$OPENAI_API_BASE" ]; then
|
|
echo "OPENAI_API_BASE environment variable is not set, will use default value"
|
|
read -p "Enter OpenAI API base URL (press Enter to skip if not needed): " OPENAI_API_BASE
|
|
export OPENAI_API_BASE=$OPENAI_API_BASE
|
|
fi
|
|
|
|
required_env_vars=("OPENAI_API_BASE" "OPENAI_API_KEY")
|
|
|
|
for var in "${required_env_vars[@]}"; do
|
|
if [ -z "${!var}" ]; then
|
|
echo "Error: $var environment variable is not set"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
echo "Environment variables check passed"
|
|
|
|
if ! kubectl get namespace rag &> /dev/null; then
|
|
echo "creating namespace 'rag'..."
|
|
kubectl create namespace rag
|
|
fi
|
|
|
|
helm upgrade --install lightrag-dev $SCRIPT_DIR \
|
|
--namespace rag \
|
|
--set-string env.LIGHTRAG_KV_STORAGE=JsonKVStorage \
|
|
--set-string env.LIGHTRAG_VECTOR_STORAGE=NanoVectorDBStorage \
|
|
--set-string env.LIGHTRAG_GRAPH_STORAGE=NetworkXStorage \
|
|
--set-string env.LIGHTRAG_DOC_STATUS_STORAGE=JsonDocStatusStorage \
|
|
--set-string env.LLM_BINDING=openai \
|
|
--set-string env.LLM_MODEL=gpt-4o-mini \
|
|
--set-string env.LLM_BINDING_HOST=$OPENAI_API_BASE \
|
|
--set-string env.LLM_BINDING_API_KEY=$OPENAI_API_KEY \
|
|
--set-string env.EMBEDDING_BINDING=openai \
|
|
--set-string env.EMBEDDING_MODEL=text-embedding-ada-002 \
|
|
--set-string env.EMBEDDING_DIM=1536 \
|
|
--set-string env.EMBEDDING_BINDING_API_KEY=$OPENAI_API_KEY
|
|
|
|
# Wait for LightRAG pod to be ready
|
|
echo "Waiting for LightRAG pod to be ready..."
|
|
kubectl wait --for=condition=ready pod -l app.kubernetes.io/instance=lightrag-dev --timeout=60s -n rag
|