Spaces:
Running
Running
Create .env
Browse files
.env
ADDED
@@ -0,0 +1,200 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Use .env.local to change these variables
|
2 |
+
# DO NOT EDIT THIS FILE WITH SENSITIVE DATA
|
3 |
+
|
4 |
+
### MongoDB ###
|
5 |
+
MONGODB_URL=#your mongodb URL here, use chat-ui-db image if you don't want to set this
|
6 |
+
MONGODB_DB_NAME=chat-ui
|
7 |
+
MONGODB_DIRECT_CONNECTION=false
|
8 |
+
|
9 |
+
|
10 |
+
### Endpoints config ###
|
11 |
+
HF_API_ROOT=https://api-inference.huggingface.co/models
|
12 |
+
# HF_TOKEN is used for a lot of things, not only for inference but also fetching tokenizers, etc.
|
13 |
+
# We recommend using an HF_TOKEN even if you use a local endpoint.
|
14 |
+
HF_TOKEN= #get it from https://huggingface.co/settings/token
|
15 |
+
# API Keys for providers, you will need to specify models in the MODELS section but these keys can be kept secret
|
16 |
+
OPENAI_API_KEY=#your openai api key here
|
17 |
+
ANTHROPIC_API_KEY=#your anthropic api key here
|
18 |
+
CLOUDFLARE_ACCOUNT_ID=#your cloudflare account id here
|
19 |
+
CLOUDFLARE_API_TOKEN=#your cloudflare api token here
|
20 |
+
COHERE_API_TOKEN=#your cohere api token here
|
21 |
+
GOOGLE_GENAI_API_KEY=#your google genai api token here
|
22 |
+
|
23 |
+
|
24 |
+
### Models ###
|
25 |
+
## Models can support many different endpoints, check the documentation for more details
|
26 |
+
MODELS=`[
|
27 |
+
{
|
28 |
+
"name": "NousResearch/Hermes-3-Llama-3.1-8B",
|
29 |
+
"description": "Nous Research's latest Hermes 3 release in 8B size.",
|
30 |
+
"promptExamples": [
|
31 |
+
{
|
32 |
+
"title": "Write an email from bullet list",
|
33 |
+
"prompt": "As a restaurant owner, write a professional email to the supplier to get these products every week: \n\n- Wine (x10)\n- Eggs (x24)\n- Bread (x12)"
|
34 |
+
}, {
|
35 |
+
"title": "Code a snake game",
|
36 |
+
"prompt": "Code a basic snake game in python, give explanations for each step."
|
37 |
+
}, {
|
38 |
+
"title": "Assist in a task",
|
39 |
+
"prompt": "How do I make a delicious lemon cheesecake?"
|
40 |
+
}
|
41 |
+
]
|
42 |
+
}
|
43 |
+
]`
|
44 |
+
## Text Embedding Models used for websearch
|
45 |
+
# Default is a model that runs locally on CPU.
|
46 |
+
TEXT_EMBEDDING_MODELS = `[
|
47 |
+
{
|
48 |
+
"name": "Xenova/gte-small",
|
49 |
+
"displayName": "Xenova/gte-small",
|
50 |
+
"description": "Local embedding model running on the server.",
|
51 |
+
"chunkCharLength": 512,
|
52 |
+
"endpoints": [
|
53 |
+
{ "type": "transformersjs" }
|
54 |
+
]
|
55 |
+
}
|
56 |
+
]`
|
57 |
+
|
58 |
+
## Removed models, useful for migrating conversations
|
59 |
+
# { name: string, displayName?: string, id?: string, transferTo?: string }`
|
60 |
+
OLD_MODELS=`[]`
|
61 |
+
|
62 |
+
## Task model
|
63 |
+
# name of the model used for tasks such as summarizing title, creating query, etc.
|
64 |
+
# if not set, the first model in MODELS will be used
|
65 |
+
TASK_MODEL=
|
66 |
+
|
67 |
+
|
68 |
+
### Authentication ###
|
69 |
+
# Parameters to enable open id login
|
70 |
+
OPENID_CONFIG=
|
71 |
+
MESSAGES_BEFORE_LOGIN=# how many messages a user can send in a conversation before having to login. set to 0 to force login right away
|
72 |
+
# if it's defined, only these emails will be allowed to use login
|
73 |
+
ALLOWED_USER_EMAILS=`[]`
|
74 |
+
# valid alternative redirect URLs for OAuth, used for HuggingChat apps
|
75 |
+
ALTERNATIVE_REDIRECT_URLS=`[]`
|
76 |
+
### Cookies
|
77 |
+
# name of the cookie used to store the session
|
78 |
+
COOKIE_NAME=hf-chat
|
79 |
+
# specify secure behaviour for cookies
|
80 |
+
COOKIE_SAMESITE=# can be "lax", "strict", "none" or left empty
|
81 |
+
COOKIE_SECURE=# set to true to only allow cookies over https
|
82 |
+
|
83 |
+
|
84 |
+
### Websearch ###
|
85 |
+
## API Keys used to activate search with web functionality. websearch is disabled if none are defined. choose one of the following:
|
86 |
+
YDC_API_KEY=#your docs.you.com api key here
|
87 |
+
SERPER_API_KEY=#your serper.dev api key here
|
88 |
+
SERPAPI_KEY=#your serpapi key here
|
89 |
+
SERPSTACK_API_KEY=#your serpstack api key here
|
90 |
+
SEARCHAPI_KEY=#your searchapi api key here
|
91 |
+
USE_LOCAL_WEBSEARCH=#set to true to parse google results yourself, overrides other API keys
|
92 |
+
SEARXNG_QUERY_URL=# where '<query>' will be replaced with query keywords see https://docs.searxng.org/dev/search_api.html eg https://searxng.yourdomain.com/search?q=<query>&engines=duckduckgo,google&format=json
|
93 |
+
BING_SUBSCRIPTION_KEY=#your key
|
94 |
+
## Websearch configuration
|
95 |
+
PLAYWRIGHT_ADBLOCKER=true
|
96 |
+
WEBSEARCH_ALLOWLIST=`[]` # if it's defined, allow websites from only this list.
|
97 |
+
WEBSEARCH_BLOCKLIST=`[]` # if it's defined, block websites from this list.
|
98 |
+
WEBSEARCH_JAVASCRIPT=true # CPU usage reduces by 60% on average by disabling javascript. Enable to improve website compatibility
|
99 |
+
WEBSEARCH_TIMEOUT = 3500 # in milliseconds, determines how long to wait to load a page before timing out
|
100 |
+
ENABLE_LOCAL_FETCH=false #set to true to allow fetches on the local network. /!\ Only enable this if you have the proper firewall rules to prevent SSRF attacks and understand the implications.
|
101 |
+
|
102 |
+
|
103 |
+
## Public app configuration ##
|
104 |
+
PUBLIC_APP_GUEST_MESSAGE=# a message to the guest user. If not set, no message will be shown. Only used if you have authentication enabled.
|
105 |
+
PUBLIC_APP_NAME=ChatUI # name used as title throughout the app
|
106 |
+
PUBLIC_APP_ASSETS=chatui # used to find logos & favicons in static/$PUBLIC_APP_ASSETS
|
107 |
+
PUBLIC_APP_DESCRIPTION=# description used throughout the app
|
108 |
+
PUBLIC_APP_DATA_SHARING=# Set to 1 to enable an option in the user settings to share conversations with model authors
|
109 |
+
PUBLIC_APP_DISCLAIMER=# Set to 1 to show a disclaimer on login page
|
110 |
+
PUBLIC_APP_DISCLAIMER_MESSAGE=# Message to show on the login page
|
111 |
+
PUBLIC_ANNOUNCEMENT_BANNERS=`[
|
112 |
+
{
|
113 |
+
"title": "chat-ui is now open source!",
|
114 |
+
"linkTitle": "check it out",
|
115 |
+
"linkHref": "https://github.com/huggingface/chat-ui"
|
116 |
+
}
|
117 |
+
]`
|
118 |
+
PUBLIC_SMOOTH_UPDATES=false # set to true to enable smoothing of messages client-side, can be CPU intensive
|
119 |
+
PUBLIC_ORIGIN=#https://huggingface.co
|
120 |
+
PUBLIC_SHARE_PREFIX=#https://hf.co/chat
|
121 |
+
|
122 |
+
# mostly huggingchat specific
|
123 |
+
PUBLIC_GOOGLE_ANALYTICS_ID=#G-XXXXXXXX / Leave empty to disable
|
124 |
+
PUBLIC_PLAUSIBLE_SCRIPT_URL=#/js/script.js / Leave empty to disable
|
125 |
+
PUBLIC_APPLE_APP_ID=#1234567890 / Leave empty to disable
|
126 |
+
|
127 |
+
|
128 |
+
### Feature Flags ###
|
129 |
+
LLM_SUMMARIZATION=true # generate conversation titles with LLMs
|
130 |
+
ENABLE_ASSISTANTS=false #set to true to enable assistants feature
|
131 |
+
ENABLE_ASSISTANTS_RAG=false # /!\ This will let users specify arbitrary URLs that the server will then request. Make sure you have the proper firewall rules in place.
|
132 |
+
REQUIRE_FEATURED_ASSISTANTS=false # require featured assistants to show in the list
|
133 |
+
COMMUNITY_TOOLS=false # set to true to enable community tools
|
134 |
+
EXPOSE_API=true # make the /api routes available
|
135 |
+
ALLOW_IFRAME=true # Allow the app to be embedded in an iframe
|
136 |
+
|
137 |
+
|
138 |
+
### Tools ###
|
139 |
+
# Check out public config in `chart/env/prod.yaml` for more details
|
140 |
+
TOOLS=`[]`
|
141 |
+
|
142 |
+
### Rate limits ###
|
143 |
+
# See `src/lib/server/usageLimits.ts`
|
144 |
+
# {
|
145 |
+
# conversations: number, # how many conversations
|
146 |
+
# messages: number, # how many messages in a conversation
|
147 |
+
# assistants: number, # how many assistants
|
148 |
+
# messageLength: number, # how long can a message be before we cut it off
|
149 |
+
# messagesPerMinute: number, # how many messages per minute
|
150 |
+
# tools: number # how many tools
|
151 |
+
# }
|
152 |
+
USAGE_LIMITS=`{}`
|
153 |
+
|
154 |
+
|
155 |
+
### HuggingFace specific ###
|
156 |
+
# Let user authenticate with their HF token in the /api routes. This is only useful if you have OAuth configured with huggingface.
|
157 |
+
USE_HF_TOKEN_IN_API=false
|
158 |
+
## Feature flag & admin settings
|
159 |
+
# Used for setting early access & admin flags to users
|
160 |
+
HF_ORG_ADMIN=
|
161 |
+
HF_ORG_EARLY_ACCESS=
|
162 |
+
WEBHOOK_URL_REPORT_ASSISTANT=#provide slack webhook url to get notified for reports/feature requests
|
163 |
+
|
164 |
+
|
165 |
+
|
166 |
+
### Metrics ###
|
167 |
+
METRICS_ENABLED=false
|
168 |
+
METRICS_PORT=5565
|
169 |
+
LOG_LEVEL=info
|
170 |
+
|
171 |
+
|
172 |
+
### Parquet export ###
|
173 |
+
# Not in use anymore but useful to export conversations to a parquet file as a HuggingFace dataset
|
174 |
+
PARQUET_EXPORT_DATASET=
|
175 |
+
PARQUET_EXPORT_HF_TOKEN=
|
176 |
+
ADMIN_API_SECRET=# secret to admin API calls, like computing usage stats or exporting parquet data
|
177 |
+
|
178 |
+
|
179 |
+
### Docker build variables ###
|
180 |
+
# These values cannot be updated at runtime
|
181 |
+
# They need to be passed when building the docker image
|
182 |
+
# See https://github.com/huggingface/chat-ui/main/.github/workflows/deploy-prod.yml#L44-L47
|
183 |
+
APP_BASE="" # base path of the app, e.g. /chat, left blank as default
|
184 |
+
PUBLIC_APP_COLOR=blue # can be any of tailwind colors: https://tailwindcss.com/docs/customizing-colors#default-color-palette
|
185 |
+
### Body size limit for SvelteKit https://svelte.dev/docs/kit/adapter-node#Environment-variables-BODY_SIZE_LIMIT
|
186 |
+
BODY_SIZE_LIMIT=15728640
|
187 |
+
PUBLIC_COMMIT_SHA=
|
188 |
+
|
189 |
+
### LEGACY parameters
|
190 |
+
HF_ACCESS_TOKEN=#LEGACY! Use HF_TOKEN instead
|
191 |
+
ALLOW_INSECURE_COOKIES=false # LEGACY! Use COOKIE_SECURE and COOKIE_SAMESITE instead
|
192 |
+
PARQUET_EXPORT_SECRET=#DEPRECATED, use ADMIN_API_SECRET instead
|
193 |
+
RATE_LIMIT= # /!\ DEPRECATED definition of messages per minute. Use USAGE_LIMITS.messagesPerMinute instead
|
194 |
+
OPENID_CLIENT_ID=
|
195 |
+
OPENID_CLIENT_SECRET=
|
196 |
+
OPENID_SCOPES="openid profile" # Add "email" for some providers like Google that do not provide preferred_username
|
197 |
+
OPENID_NAME_CLAIM="name" # Change to "username" for some providers that do not provide name
|
198 |
+
OPENID_PROVIDER_URL=https://huggingface.co # for Google, use https://accounts.google.com
|
199 |
+
OPENID_TOLERANCE=
|
200 |
+
OPENID_RESOURCE=
|