
# API_ENV can be "local", "test", "prod"
API_ENV="local"

# Port for Docker. If you run this app without Docker, this will be ignored to 8001
PORT=8000

# Default LLM model for each chat.
DEFAULT_LLM_MODEL="gpt_3_5_turbo"

# Your MySQL DB info
MYSQL_DATABASE="traffic"
MYSQL_TEST_DATABASE="testing_db"
MYSQL_ROOT_PASSWORD="YOUR_MYSQL_PASSWORD_HERE"
MYSQL_USER="traffic_admin"
MYSQL_PASSWORD="YOUR_DB_ADMIN_PASSWORD_HERE"

# Your Redis DB info
REDIS_DATABASE="0"
REDIS_PASSWORD="YOUR_REDIS_PASSWORD_HERE"

# Your JWT secret key
JWT_SECRET="ANY_PASSWORD_FOR_JWT_TOKEN_GENERATION_HERE"

# Your OpenAI API key
OPENAI_API_KEY="sk-*************"

# Chatbot settings
# Summarize for chat: Do token summarization for message more than SUMMARIZATION_THRESHOLD
SUMMARIZE_FOR_CHAT=True
SUMMARIZATION_THRESHOLD=512

# Embedding text will be chunked by EMBEDDING_TOKEN_CHUNK_SIZE with EMBEDDING_TOKEN_CHUNK_OVERLAP
# overlap means how many tokens will be overlapped between each chunk.
EMBEDDING_TOKEN_CHUNK_SIZE=512
EMBEDDING_TOKEN_CHUNK_OVERLAP=128

# The shared vector collection name. This will be shared for all users.
QDRANT_COLLECTION="SharedCollection"

# If you want to set prefix or suffix for all prompt to LLM, set these.
GLOBAL_PREFIX=""
GLOBAL_SUFFIX=""

# If you want to use local embedding instead of OpenAI's Ada-002,
# set LOCAL_EMBEDDING_MODEL as "intfloat/e5-large-v2" or other huggingface embedding model repo.
# Warning: Local embedding needs a lot of computing resources!!!
LOCAL_EMBEDDING_MODEL=None


# Define these if you want to open production server with API_ENV="prod"
HOST_IP="OPTIONAL_YOUR_IP_HERE e.g. 192.168.0.2"
HOST_MAIN="OPTIONAL_YOUR_DOMAIN_HERE e.g. yourdomain.com, if you are running API_ENV as production, this will be needed for TLS certificate registration"
HOST_SUB="OPTIONAL_YOUR_SUB_DOMAIN_HERE e.g. mobile.yourdomain.com"
MY_EMAIL="OPTIONAL_YOUR_DOMAIN_HERE e.g. yourdomain.com, if you are running API_ENV as production, this will be needed for TLS certificate registration"

# Not used.
AWS_ACCESS_KEY="OPTIONAL_IF_YOU_NEED"
AWS_SECRET_KEY="OPTIONAL_IF_YOU_NEED"
AWS_AUTHORIZED_EMAIL="OPTIONAL_IF_YOU_NEED"
SAMPLE_JWT_TOKEN="OPTIONAL_IF_YOU_NEED_FOR_TESTING e.g. Bearer XXXXX"
SAMPLE_ACCESS_KEY="OPTIONAL_IF_YOU_NEED_FOR_TESTING"
SAMPLE_SECRET_KEY="OPTIONAL_IF_YOU_NEED_FOR_TESTING"
KAKAO_RESTAPI_TOKEN="OPTIONAL_IF_YOU_NEED e.g. Bearer XXXXX"
WEATHERBIT_API_KEY="OPTIONAL_IF_YOU_NEED"
NASA_API_KEY="OPTIONAL_IF_YOU_NEED"

# For translation. If you don't need translation, you can ignore these.
PAPAGO_CLIENT_ID="OPTIONAL_FOR_TRANSTLATION"
PAPAGO_CLIENT_SECRET="OPTIONAL_FOR_TRANSTLATION"
GOOGLE_CLOUD_PROJECT_ID="OPTIONAL_FOR_TRANSTLATION e.g. top-abcd-01234"
GOOGLE_TRANSLATE_API_KEY ="OPTIONAL_FOR_TRANSTLATION"
GOOGLE_TRANSLATE_OAUTH_ID="OPTIONAL_FOR_TRANSTLATION"
GOOGLE_TRANSLATE_OAUTH_SECRET="OPTIONAL_FOR_TRANSTLATION"
RAPIDAPI_KEY="OPTIONAL_FOR_TRANSLATION"
CUSTOM_TRANSLATE_URL="OPTIONAL_FOR_TRANSLATION"

