No way to "Continue Generating"
Once the text generation finishes, there actually appears to be no way to continue generating, the submit button is greyed out and clicking it just errors out. I am using OpenAI endpoint in Koboldcpp using local Llama 3.1.
hi, is this still an issue on latest main?
If you type 'continue' into prompt it will continue. But this is one of my biggest issues with this project. Its stupid they they haven't officially implemented a fix
The feature has been available for a long time, it works well on HuggngChat. If you share your config I can help you figure out why it's not working on yours.
I don't know if I should post the full length .env.local but here it is man. and my compose file of how I am running this. I really appreciate you pointing me in the right direction. All those connect to my litellm endpoint if that is relative.
# Use .env.local to change these variables
# DO NOT EDIT THIS FILE WITH SENSITIVE DATA
MONGODB_URL=mongodb://<username>:<password>@<hostname>:27017 #your mongodb URL here
MONGODB_DB_NAME=chat-ui
MONGODB_DIRECT_CONNECTION=false
COOKIE_NAME=hf-chat
TRUSTED_EMAIL_HEADER=
HF_TOKEN=<your_hf_token>
HF_API_ROOT=<your_hf_api_root>
OPENAI_API_KEY=<your_openai_api_key>
ANTHROPIC_API_KEY=<your_anthropic_api_key>
CLOUDFLARE_ACCOUNT_ID=<your_cloudflare_account_id>
CLOUDFLARE_API_TOKEN=<your_cloudflare_api_token>
COHERE_API_TOKEN=<your_cohere_api_token>
GOOGLE_GENAI_API_KEY=<your_google_genai_api_key>
HF_ACCESS_TOKEN=<your_hf_access_token>
# used to activate search with web functionality. disabled if none are defined. choose one of the following:
DC_API_KEY=<your_docs_api_key>
SERPER_API_KEY=<your_serper_api_key>
SERPAPI_KEY=<your_serpapi_key>
SERPSTACK_API_KEY=<your_serpstack_api_key>
SEARCHAPI_KEY=<your_searchapi_key>
USE_LOCAL_WEBSEARCH=<true_or_false>
SEARXNG_QUERY_URL=<your_searxng_query_url>
BING_SUBSCRIPTION_KEY=<your_bing_subscription_key>
PLAYWRIGHT_ADBLOCKER=true
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
WEBSEARCH_TIMEOUT=10000
PLAYWRIGHT_ADBLOCKER=false
OPENID_CONFIG=`{
PROVIDER_URL: "<your_provider_url>",
CLIENT_ID: "<your_client_id>",
CLIENT_SECRET: "<your_client_secret>",
SCOPES: "openid profile email"
}`
USE_CLIENT_CERTIFICATE=false
CERT_PATH=<your_cert_path>
KEY_PATH=<your_key_path>
CA_PATH=<your_ca_path>
CLIENT_KEY_PASSWORD=<your_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" }
]
}
]`
MODELS=`[
{
"name": "openai/gpt-4o-mini",
"displayName": "OpenAI GPT-4o Mini",
"description": "Mini version of OpenAI's GPT-4o model for various tasks.",
"websiteUrl": "https://openrouter.ai/models/openai/gpt-4o-mini",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048, // Adjusted for optimal performance
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "anthropic/claude-3.5-sonnet",
"displayName": "Claude 3.5 Sonnet",
"description": "Claude 3.5 model fine-tuned for various conversational tasks.",
"websiteUrl": "https://openrouter.ai/models/anthropic/claude-3.5-sonnet",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048, // Adjusted for optimal performance
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "cognitivecomputations/dolphin-mixtral-8x22b",
"displayName": "Dolphin Mixtral 8x22B",
"description": "Dolphin model fine-tuned for high-quality dialogue use cases.",
"websiteUrl": "https://openrouter.ai/models/cognitivecomputations/dolphin-mixtral-8x22b",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048, // Adjusted for optimal performance
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "meta-llama/llama-3.1-70b-instruct",
"displayName": "Llama 3.1 70B Instruct",
"description": "Llama model designed for instruction-based tasks.",
"websiteUrl": "https://openrouter.ai/models/meta-llama/llama-3.1-70b-instruct",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048, // Adjusted for optimal performance
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "nousresearch/hermes-3-llama-3.1-70b",
"displayName": "Hermes 3 Llama 3.1 70B",
"description": "A powerful model for various tasks.",
"websiteUrl": "https://openrouter.ai/models/nousresearch/hermes-3-llama-3.1-70b",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048, // Adjusted for optimal performance
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "nousresearch/hermes-3-llama-3.1-405b",
"displayName": "Hermes 3 Llama 3.1 405B",
"description": "A more powerful variant of the Hermes model.",
"websiteUrl": "https://openrouter.ai/models/nousresearch/hermes-3-llama-3.1-405b",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048, // Adjusted for optimal performance
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "sao10k/l3-euryale-70b",
"displayName": "L3 Euryale 70B",
"description": "A model designed for advanced tasks.",
"websiteUrl": "https://openrouter.ai/models/sao10k/l3-euryale-70b",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048, // Adjusted for optimal performance
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "x-ai/grok-beta",
"displayName": "Grok Beta",
"description": "Grok beta model for conversational tasks.",
"websiteUrl": "https://openrouter.ai/models/x-ai/grok-beta",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048,
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "qwen/qwen-2.5-7b-instruct",
"displayName": "Qwen 2.5 7B Instruct",
"description": "7B parameter instruct model from Qwen.",
"websiteUrl": "https://openrouter.ai/models/qwen/qwen-2.5-7b-instruct",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048,
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "qwen/qwen-2.5-72b-instruct",
"displayName": "Qwen 2.5 72B Instruct",
"description": "72B parameter instruct model from Qwen.",
"websiteUrl": "https://openrouter.ai/models/qwen/qwen-2.5-72b-instruct",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048,
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "nvidia/llama-3.1-nemotron-70b-instruct",
"displayName": "NVIDIA Llama 3.1 Nemotron 70B Instruct",
"description": "70B instruct model from NVIDIA.",
"websiteUrl": "https://openrouter.ai/models/nvidia/llama-3.1-nemotron-70b-instruct",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048,
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "meta-llama/llama-3.2-3b-instruct",
"displayName": "Meta Llama 3.2 3B Instruct",
"description": "3B instruct model from Meta.",
"websiteUrl": "https://openrouter.ai/models/meta-llama/llama-3.2-3b-instruct",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048,
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "openai/o1-mini",
"displayName": "OpenAI O1 Mini",
"description": "Mini model from OpenAI.",
"websiteUrl": "https://openrouter.ai/models/openai/o1-mini",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048,
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "google/gemini-flash-1.5-exp",
"displayName": "Google Gemini Flash 1.5 Experimental",
"description": "Experimental model from Google.",
"websiteUrl": "https://openrouter.ai/models/google/gemini-flash-1.5-exp",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048,
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "openai/chatgpt-4o-latest",
"displayName": "OpenAI ChatGPT 4O Latest",
"description": "Latest version of the ChatGPT 4O model.",
"websiteUrl": "https://openrouter.ai/models/openai/chatgpt-4o-latest",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048,
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "google/gemini-pro-1.5-exp",
"displayName": "Google Gemini Pro 1.5 Experimental",
"description": "Experimental model from Google.",
"websiteUrl": "https://openrouter.ai/models/google/gemini-pro-1.5-exp",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048,
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "perplexity/llama-3.1-sonar-large-128k-chat",
"displayName": "Perplexity Llama 3.1 Sonar Large 128k Chat",
"description": "Llama 3.1 model for chat with large context.",
"websiteUrl": "https://openrouter.ai/models/perplexity/llama-3.1-sonar-large-128k-chat",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048,
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
},
{
"name": "microsoft/wizardlm-2-8x22b",
"displayName": "Microsoft WizardLM 2 8x22B",
"description": "8x22B instruction model from Microsoft.",
"websiteUrl": "https://openrouter.ai/models/microsoft/wizardlm-2-8x22b",
"preprompt": "",
"chatPromptTemplate": "<s>[INST] <<SYS>>\n{{preprompt}}<</SYS>>\n{{#each messages}}{{#ifUser}}{{content}} [/INST] {{/ifUser}}{{#ifAssistant}}{{content}} </s><s>[INST] {{/ifAssistant}}{{/each}}",
"parameters": {
"temperature": 0.85,
"top_p": 0.8,
"repetition_penalty": 1.10,
"frequency_penalty": 0.25,
"presence_penalty": 0.25,
"min_p": 0,
"top_k": 50,
"truncate": 4096,
"max_new_tokens": 2048,
"stop": ["</s>"]
},
"endpoints": [
{
"type": "openai",
"apiKey": "<your_openai_api_key>",
"baseURL": "<your_base_url>"
}
]
}
]`
OLD_MODELS=`[]` # any removed models, `{ name: string, displayName?: string, id?: string }`
TASK_MODEL=openai/gpt-4o-mini # name of the model used for tasks such as summarizing title, creating query, etc.
PUBLIC_ORIGIN=<your_public_origin>
PUBLIC_SHARE_PREFIX=<your_public_share_prefix>
PUBLIC_GOOGLE_ANALYTICS_ID=<your_google_analytics_id>
PUBLIC_PLAUSIBLE_SCRIPT_URL=<your_plausible_script_url>
PUBLIC_ANNOUNCEMENT_BANNERS=`[]`
PUBLIC_APPLE_APP_ID=<your_public_apple_app_id>
PARQUET_EXPORT_DATASET=
PARQUET_EXPORT_HF_TOKEN=
ADMIN_API_SECRET=<your_admin_api_secret>
PARQUET_EXPORT_SECRET=<your_parquet_export_secret>
RATE_LIMIT=
MESSAGES_BEFORE_LOGIN=
APP_BASE="" # base path of the app, e.g. /chat, left blank as default
PUBLIC_APP_NAME=<your_app_name> # name used as title throughout the app
PUBLIC_APP_ASSETS=<your_app_assets> # used to find logos & favicons in static/$PUBLIC_APP_ASSETS
PUBLIC_APP_COLOR=<your_app_color> # can be any of tailwind colors: https://tailwindcss.com/docs/customizing-colors#default-color-palette
PUBLIC_APP_DESCRIPTION=<your_app_description> # description used throughout the app (if not set, a default one will be used)
PUBLIC_APP_DATA_SHARING=1 #set to 1 to enable options & text regarding data sharing
PUBLIC_APP_DISCLAIMER=1 #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
USE_HF_TOKEN_IN_API=false
ENABLE_ASSISTANTS=true #set to true to enable assistants feature
ENABLE_ASSISTANTS_RAG=true # /!\ 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=<your_webhook_url>
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_ENABLED=false
METRICS_PORT=5565
LOG_LEVEL=info
TOOLS=`[]`
BODY_SIZE_LIMIT=15728640
HF_ORG_ADMIN=
HF_ORG_EARLY_ACCESS=
PUBLIC_SMOOTH_UPDATES=false
COMMUNITY_TOOLS=false
docker-compose.yml
services:
chat-ui:
container_name: chat-ui
hostname: chat-ui
ports:
- 3345:3000
networks:
- caddy_default
volumes:
- /home/user/docker/chat-ui/.env.local:/app/.env.local
image: ghcr.io/huggingface/chat-ui:latest
labels:
- "traefik.enable=true"
- "traefik.http.routers.chatui.entrypoints=websecure"
- "traefik.http.routers.chatui.rule=Host(`your-domain.com`)" # Replace with your domain or subdomain
- "traefik.http.routers.chatui.tls.certresolver=letsencrypt"
- "traefik.http.services.chatui.loadbalancer.server.port=3000"
networks:
caddy_default:
external: true
name: caddy_default