-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.env.example
76 lines (73 loc) · 3.88 KB
/
.env.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# The watch interval (how often the program checks for new emails) in seconds
# Set it to 0 to disable the watch interval and only check for new emails when the program is started
WATCH_INTERVAL=300
# Emails will this subject will be replied to
# (also looks for "Re: <SUBJECT>")
SUBJECT_KEY="llmail autoreply"
# This is the alias that the LLM will use when sending emails
ALIAS = "LLMail"
# This message will be prepended to the message history sent to the LLM as a message from the system role
# Use this for customizing the behavior of the LLM and hence the nature of the responses
SYSTEM_PROMPT=
# Optionally redact email addresses in logs
# Set to "true" to redact email addresses or you can remove it (or set it to "false") to not redact email addresses
REDACT_EMAIL_ADDRESSES=true
# Enable or disable tools (like Exa)
# Useful since it seems some providers don't support function calling
# Ollama does work with tools but I noticed that some of the models that OpenRouter offers don't work with tools.
# Some just error and some don't work well. Either way, I don't recommend using tools with OpenRouter models.
# OpenRouter models that don't seem to error: `meta-llama/llama-3-8b-instruct:free` `mistralai/mistral-7b-instruct:free` `nousresearch/nous-capybara-7b:free`
NO_TOOLS=true
# API key for Exa (https://exa.ai), a search engine for LLMs
EXA_API_KEY=""
# Show what tools are being called
SHOW_TOOL_CALLS = false
# Use phidata's debug mode
PHIDATA_DEBUG = false
# Set the LLM provider. It can either be "openai-like" or "ollama"
LLM_PROVIDER="openai-like"
# Set the API key for the provider. For Ollama this shouldn't be needed.
LLM_API_KEY="..."
# Set the base URL
# OpenAI-like providers generally have `/v1` at the end. (https://api.openai.com/v1 or https://openrouter.ai/api/v1)
# Ollama can just be the base URL without a path (https://github.com/ollama/ollama-python/blob/cb81f522b0f0035acbfeeed87b7902856bda501e/ollama/_client.py#L684-L713)
LLM_BASE_URL="https://openrouter.ai/api/v1"
# The model to use
# For openrouter.ai, you can check the available models at https://openrouter.ai/docs#models
# For Ollama, you can check the available models at https://ollama.com/library
# So far, for the function-calling models I've tested, `mistral:7b-instruct-v0.3-q6_K` works the best (show_tool_calls disabled)
# adrienbrault/nous-hermes2theta-llama3-8b:q8_0 also works rather well
# I use this as a reference for the quantization methods: https://github.com/ggerganov/llama.cpp/discussions/2094#discussioncomment-6351796
LLM_MODEL = "mistralai/mistral-7b-instruct:free"
# Settings for Gmail
IMAP_HOST=imap.gmail.com
IMAP_PORT=993
# You'll probably need to use an app password if you're using Gmail, thought it might only be required instead of an account password if you have 2FA
IMAP_PASSWORD=...
# Using All Mail for Gmail works the best as the program should be able to see sent emails as well as received emails
# If you're using a different email provider that doesn't have an All Mail folder, you might need to change this
# You can get a list of folders by running `llmail list-folders`
# If there isn't something like All Mail, you can pass multiple folders by separating them with commas
# For example, `FOLDER="Inbox,Sent Items"`
FOLDER="[Gmail]/All Mail"
SMTP_HOST=smtp.gmail.com
SMTP_PORT=465
# Like with IMAP, you might need an app password
SMTP_PASSWORD=
# Outlook
# IMAP_HOST=imap-mail.outlook.com
# IMAP_PORT=993
# IMAP_PASSWORD=...
# FOLDER="Inbox,Sent"
# SMTP_HOST=smtp-mail.outlook.com
# SMTP_PORT=587
# SMTP_PASSWORD=...
# MESSAGE_ID_DOMAIN is the domain used in the Message-ID header
# Leave it empty or remove it if you don't want to use it as I'm not sure what the point would even be but it's here if you need it
MESSAGE_ID_DOMAIN=""
# Available levels are DEBUG, INFO, WARNING, ERROR, CRITICAL
LOG_LEVEL=INFO