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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
|
- # Use .env.local to change these variables
- # DO NOT EDIT THIS FILE WITH SENSITIVE DATA
- MONGODB_URL=#your mongodb URL here
- MONGODB_DB_NAME=chat-ui
- MONGODB_DIRECT_CONNECTION=false
- COOKIE_NAME=hf-chat
- HF_TOKEN=#hf_<token> from https://huggingface.co/settings/token
- HF_API_ROOT=https://api-inference.huggingface.co/models
- OPENAI_API_KEY=#your openai api key here
- ANTHROPIC_API_KEY=#your anthropic api key here
- CLOUDFLARE_ACCOUNT_ID=#your cloudflare account id here
- CLOUDFLARE_API_TOKEN=#your cloudflare api token here
- COHERE_API_TOKEN=#your cohere api token here
- HF_ACCESS_TOKEN=#LEGACY! Use HF_TOKEN instead
- # used to activate search with web functionality. disabled if none are defined. choose one of the following:
- YDC_API_KEY=#your docs.you.com api key here
- SERPER_API_KEY=#your serper.dev api key here
- SERPAPI_KEY=#your serpapi key here
- SERPSTACK_API_KEY=#your serpstack api key here
- USE_LOCAL_WEBSEARCH=#set to true to parse google results yourself, overrides other API keys
- 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
- WEBSEARCH_ALLOWLIST=`[]` # if it's defined, allow websites from only this list.
- WEBSEARCH_BLOCKLIST=`[]` # if it's defined, block websites from this list.
- WEBSEARCH_JAVASCRIPT=true # CPU usage reduces by 60% on average by disabling javascript. Enable to improve website compatibility
- # Parameters to enable open id login
- OPENID_CONFIG=`{
- "PROVIDER_URL": "",
- "CLIENT_ID": "",
- "CLIENT_SECRET": "",
- "SCOPES": "",
- "NAME_CLAIM": ""
- }`
- # /!\ legacy openid settings, prefer the config above
- OPENID_CLIENT_ID=
- OPENID_CLIENT_SECRET=
- OPENID_SCOPES="openid profile" # Add "email" for some providers like Google that do not provide preferred_username
- OPENID_NAME_CLAIM="name" # Change to "username" for some providers that do not provide name
- OPENID_PROVIDER_URL=https://huggingface.co # for Google, use https://accounts.google.com
- OPENID_TOLERANCE=
- OPENID_RESOURCE=
- # Parameters to enable a global mTLS context for client fetch requests
- USE_CLIENT_CERTIFICATE=false
- CERT_PATH=#
- KEY_PATH=#
- CA_PATH=#
- CLIENT_KEY_PASSWORD=#
- REJECT_UNAUTHORIZED=true
- TEXT_EMBEDDING_MODELS = `[
- {
- "name": "Xenova/gte-small",
- "displayName": "Xenova/gte-small",
- "description": "Local embedding model running on the server.",
- "chunkCharLength": 512,
- "endpoints": [
- { "type": "transformersjs" }
- ]
- }
- ]`
- # 'name', 'userMessageToken', 'assistantMessageToken' are required
- MODELS=`[
- {
- "name": "mistralai/Mistral-7B-Instruct-v0.1",
- "displayName": "mistralai/Mistral-7B-Instruct-v0.1",
- "description": "Mistral 7B is a new Apache 2.0 model, released by Mistral AI that outperforms Llama2 13B in benchmarks.",
- "websiteUrl": "https://mistral.ai/news/announcing-mistral-7b/",
- "preprompt": "",
- "chatPromptTemplate" : "<s>{{#each messages}}{{#ifUser}}[INST] {{#if @first}}{{#if @root.preprompt}}{{@root.preprompt}}\n{{/if}}{{/if}}{{content}} [/INST]{{/ifUser}}{{#ifAssistant}}{{content}}</s>{{/ifAssistant}}{{/each}}",
- "parameters": {
- "temperature": 0.1,
- "top_p": 0.95,
- "repetition_penalty": 1.2,
- "top_k": 50,
- "truncate": 3072,
- "max_new_tokens": 1024,
- "stop": ["</s>"]
- },
- "promptExamples": [
- {
- "title": "Write an email from bullet list",
- "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)"
- }, {
- "title": "Code a snake game",
- "prompt": "Code a basic snake game in python, give explanations for each step."
- }, {
- "title": "Assist in a task",
- "prompt": "How do I make a delicious lemon cheesecake?"
- }
- ]
- }
- ]`
- OLD_MODELS=`[]`# any removed models, `{ name: string, displayName?: string, id?: string }`
- TASK_MODEL= # name of the model used for tasks such as summarizing title, creating query, etc.
- PUBLIC_ORIGIN=#https://huggingface.co
- PUBLIC_SHARE_PREFIX=#https://hf.co/chat
- PUBLIC_GOOGLE_ANALYTICS_ID=#G-XXXXXXXX / Leave empty to disable
- PUBLIC_PLAUSIBLE_SCRIPT_URL=#/js/script.js / Leave empty to disable
- PUBLIC_ANNOUNCEMENT_BANNERS=`[
- {
- "title": "Code Llama 70B is available! 🦙",
- "linkTitle": "try it",
- "linkHref": "https://huggingface.co/chat?model=codellama/CodeLlama-70b-Instruct-hf"
- }
- ]`
- PUBLIC_APPLE_APP_ID=#1234567890 / Leave empty to disable
- PARQUET_EXPORT_DATASET=
- PARQUET_EXPORT_HF_TOKEN=
- ADMIN_API_SECRET=# secret to admin API calls, like computing usage stats or exporting parquet data
- PARQUET_EXPORT_SECRET=#DEPRECATED, use ADMIN_API_SECRET instead
- RATE_LIMIT= # /!\ Legacy definition of messages per minute. Use USAGE_LIMITS.messagesPerMinute instead
- 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
- APP_BASE="" # base path of the app, e.g. /chat, left blank as default
- PUBLIC_APP_NAME=ChatUI # name used as title throughout the app
- PUBLIC_APP_ASSETS=chatui # used to find logos & favicons in static/$PUBLIC_APP_ASSETS
- PUBLIC_APP_COLOR=blue # can be any of tailwind colors: https://tailwindcss.com/docs/customizing-colors#default-color-palette
- PUBLIC_APP_DESCRIPTION=# description used throughout the app (if not set, a default one will be used)
- PUBLIC_APP_DATA_SHARING=#set to 1 to enable options & text regarding data sharing
- PUBLIC_APP_DISCLAIMER=#set to 1 to show a disclaimer on login page
- PUBLIC_APP_DISCLAIMER_MESSAGE="Disclaimer: AI is an area of active research with known problems such as biased generation and misinformation. Do not use this application for high-stakes decisions or advice. Do not insert your personal data, especially sensitive, like health data."
- LLM_SUMMERIZATION=true
- EXPOSE_API=true
- # PUBLIC_APP_NAME=HuggingChat
- # PUBLIC_APP_ASSETS=huggingchat
- # PUBLIC_APP_COLOR=yellow
- # PUBLIC_APP_DESCRIPTION="Making the community's best AI chat models available to everyone."
- # PUBLIC_APP_DATA_SHARING=1
- # PUBLIC_APP_DISCLAIMER=1
- ENABLE_ASSISTANTS=false #set to true to enable assistants feature
- 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.
- REQUIRE_FEATURED_ASSISTANTS=false
- ENABLE_LOCAL_FETCH=false #set to true to disable the blocklist for local fetches. Only enable this if you have the proper firewall rules to prevent SSRF attacks and understand the implications.
- ALTERNATIVE_REDIRECT_URLS=`[]` #valide alternative redirect URL for OAuth
- WEBHOOK_URL_REPORT_ASSISTANT=#provide webhook url to get notified when an assistant gets reported
- ALLOWED_USER_EMAILS=`[]` # if it's defined, only these emails will be allowed to use the app
- USAGE_LIMITS=`{}`
- ALLOW_INSECURE_COOKIES=false # recommended to keep this to false but set to true if you need to run over http without tls
- METRICS_PORT=
- LOG_LEVEL=info
|