# This is the configuration file for Jarvis, some of the configuration has been filled by default,
# since we believe they are not likely to be changed.
#
# Among the configuration items that are left blank below, only `JARVIS_OPENAI_API_KEY` and `JARVIS_OPENAI_URL_BASE`
# are mandatory, you will have to fill them to make Jarvis work.
#
# All other configuration items are optional, but we strongly recommend you to configure them properly
# to get a smarter Jarvis.

# Jarvis
JARVIS_SERVER_MODE=true
JARVIS_SERVER_MODE_PORT=10000
# If you use Jarvis through discord bot, you need to set JARVIS_SERVER_MODE=false
# and set JARVIS_BOT_SERVER_URL according to the discord's config.
JARVIS_BOT_SERVER_URL="http://localhost:10000"

# OpenAI/ChatGPT temperature
JARVIS_AI_TEMPERATURE=0
JARVIS_DEBUG_MODE=false
JARVIS_LOG_LEVEL=info
# The main LLM model
JARVIS_LLM_MODEL="gpt-3.5-turbo-0613"
# The LLM model used to handle some simple tasks
JARVIS_SMALL_LLM_MODEL="gpt-3.5-turbo-0613"
JARVIS_TOKEN_LIMIT=4000
#*********** REQUIRED
JARVIS_OPENAI_API_KEY=
#************
# If your service is not provided by openai directly,
# or you just deployed you own AI model with a same API as openai.
# Or this configuration is useless, you can leave it empty.
JARVIS_OPENAI_URL_BASE=
# Tell Jarvis where to find extra function modules
JARVIS_EXTERNAL_FUNCTION_MODULE_DIR=../example_modules

# If you set this, the chat history will be store in a directory,
# then each time Jarvis starts up, the conversation will be restored
JARVIS_CHAT_HISTORY_DIR=./chathistory

# ====================== example function modules ======================

# =========== Stable diffusion
# The stable diffusion webui api's address.
# e.g. http://192.168.3.254:1997
# NOTE: Do *** NOT **** use 'localhost' or '127.0.0.1' or other loopback address, 
#   since we don't use host network in docker.
DEMO_STABLE_DIFFUSION_ADDRESS=
### The following 6 variables are optional. You can leave them empty if you want.
# Your name, gener, age, GPT will write stable diffution prompt for you, 
# and may fill you name into the prompt if neccessary
DEMO_STABLE_DIFFUSION_MY_NAME=
DEMO_STABLE_DIFFUSION_MY_GENDER=
DEMO_STABLE_DIFFUSION_MY_AGE=
# Assuming that you have a LoRA for your SD model, this is the LoRA name.
# Jarvis will apply your LoRA automatically when necessary.
DEMO_STABLE_DIFFUSION_MY_LORA=
# trigger words in your lora, you can leave it empty if you don't have
DEMO_STABLE_DIFFUSION_MY_LORA_TRIGGER_WORD=
DEMO_STABLE_DIFFUSION_MODEL=

# =========== twitter
# set to 'http://localhost:1999' if twitter related keys are set
DEMO_TWITTER_SERVICE_ADDRESS=
# =========== youtube
# set to 'http://localhost:1999' if youtube related keys is set
DEMO_YOUTUBE_SERVICE_ADDRESS=
# =========== google calendar
# set to 'http://localhost:1998' if google-calendar token is set
DEMO_GOOGLE_CALENDAR_SERVICE_ADDRESS=

# ====================== example services ======================

# =========== demo service1

# == youtube
# The API key of your google app which has enabled 'YouTube Data API v3'
# see https://console.cloud.google.com/apis/credentials
DEMO_YOUTUBE_API_KEY=

# == Twitter
# https://developer.twitter.com/en/portal/dashboard
# The consumer key
DEMO_TWITTER_CONSUMER_KEY=
DEMO_TWITTER_CONSUMER_SECRET=
# The access token (not 'Bearer Token')
DEMO_TWITTER_ACCESS_TOKEN=
DEMO_TWITTER_ACCESS_TOKEN_SECRET=
# Your twitter account, i.e., the last part of your twitter profile page, the part followed by '@'
# e.g. Elon Musk, his account names is 'elonmusk'
DEMO_TWITTER_USERNAME=

# =========== demo service2
# Nothing to configure
