ChatUI / .env.local.template
ankush13r's picture
Update .env.local.template
e1728f4 verified
raw
history blame
11.5 kB
# Use .env.local to change these variables
# DO NOT EDIT THIS FILE WITH SENSITIVE DATA
MONGODB_URL=${MONGODB_URL}
MONGODB_DB_NAME=chat-ui
MONGODB_DIRECT_CONNECTION=false
COOKIE_NAME=chat-ui
HF_ACCESS_TOKEN=#hf_<token> from from https://huggingface.co/settings/token
HF_TOKEN=${HF_TOKEN}
# used to activate search with web functionality. disabled if not defined
SERPAPI_KEY=#your serpapi key here
# Parameters to enable "Sign in with HF"
# OPENID_CLIENT_ID=
# OPENID_CLIENT_SECRET=
# OPENID_SCOPES="openid profile" # Add "email" for some providers like Google that do not provide preferred_username
# OPENID_PROVIDER_URL=https://huggingface.co # for Google, use https://accounts.google.com
OPENID_CONFIG="${OPENID_CONFIG}"
# HF_ORG_ADMIN="${HF_ORG_ADMIN}"
PUBLIC_APP_DESCRIPTION="This is a prompt system compliance test of the latest 7b model in development at BSC, code name Salamandra.\nBy starting a chat as a guest or logging in, you are accepting our Privacy Policy."
PUBLIC_APP_DISCLAIMER=1
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."
COMMUNITY_TOOLS=true
ENABLE_ASSISTANTS=true
TOOLS=`[
{
"name": "getContext",
"description": "Return relevant documents from the Entitat Autònoma del Diari Oficial i de Publicacions (EADOP).",
"color": "red",
"icon": "chat",
"baseUrl": "BSC-LT/VECTOR_STORE_EADOP",
"endpoint": "/get-eadop-rag",
"outputComponent": "textbox",
"displayName":"RAG EADOP",
"outputComponentIdx": 0,
"inputs":[
{"name":"prompt", "paramType":"required", "type":"str"},
{ name: 'num_chunks', paramType: 'fixed', value: '2', type: 'float' }
],
"_id": "5f2c1b9d8a9a4d3b6a7f9e2c",
"showOutput": true
},
{
"name": "generate_image",
"description": "Use this tool to generate images based on a prompt.",
"color": "yellow",
"icon": "camera",
"baseUrl": "BSC-LT/FLUX.1-schnell",
"endpoint": "/infer",
"outputComponent": "image",
"displayName":"Image Generation",
"outputComponentIdx": 0,
"inputs":[
{
name: 'prompt',
description: 'Prompt to generate the image',
paramType: 'required',
type: 'str'
},
{
name: 'seed',
paramType: 'fixed',
value: '0',
type: 'float'
},
{
name: 'randomize_seed',
paramType: 'fixed',
value: 'true',
type: 'bool'
},
{
name: 'width',
description: 'numeric value between 256 and 2048',
paramType: 'optional',
default: '1024',
type: 'float'
},
{
name: 'height',
description: 'numeric value between 256 and 2048',
paramType: 'optional',
default: '1024',
type: 'float'
},
{
name: 'num_inference_steps',
paramType: 'fixed',
value: '4',
type: 'float'
}
],
"_id": "5f2c1b9d8a9a4d3b6a7f9e2d",
"showOutput": true
}
]`
# 'name', 'userMessageToken', 'assistantMessageToken' are required
MODELS=`[
{
"name": "${MODEL_NAME}",
"chatPromptTemplate": "None",
"preprompt": "The assistant is Salamandra, created by the Language Technologies Unit of the Barcelona Supercomputing Center. Salamandra's knowledge base was last updated on March 2024. Salamandra is a multilingual model, but for now it has been instructed only in Catalan, English and Spanish. It answers questions about events prior to and after March 2024 the way a highly informed individual would if they were talking to someone from the above date, and can let the human know this when relevant. It should give concise responses to very simple questions, but provide thorough responses to more complex and open-ended questions. It cannot open URLs, links, or videos, so if it seems as though the interlocutor is expecting Salamandra to do so, it clarifies the situation and asks the human to paste the relevant text or image content directly into the conversation. If it is asked to assist with tasks involving the expression of views held by a significant number of people, Salamandra provides assistance with the task even if it personally disagrees with the views being expressed, but follows this with a discussion of broader perspectives. Salamandra doesn't engage in stereotyping, including the negative stereotyping of majority groups. If asked about controversial topics, Salamandra tries to provide careful thoughts and objective information without downplaying its harmful content or implying that there are reasonable perspectives on both sides. If Salamandra's response contains a lot of precise information about a very obscure person, object, or topic - the kind of information that is unlikely to be found more than once or twice on the internet - Salamandra ends its response with a succinct reminder that it may hallucinate in response to questions like this, and it uses the term ‘hallucinate' to describe this as the user will understand what it means. It doesn't add this caveat if the information in its response is likely to exist on the internet many times, even if the person, object, or topic is relatively obscure. It is happy to help with writing, analysis, question answering, math, coding, and all sorts of other tasks. It uses markdown for coding. It does not mention this information about itself unless the information is directly pertinent to the human's query. The development of Salamandra was financed by the AINA project of the Generalitat de Catalunya",
"promptExamples": [
{
"title": "How does an airplane produce lift?",
"prompt": "How does an airplane produce lift in order to fly?"
}, {
"title": "¿Qué és un meme?",
"prompt": "¿Qué és un meme y qué historia hay detrás del nombre?"
}, {
"title": "Resumeix una notícia",
"prompt": "Resumeix aquesta notícia en menys de 20 paraules: 'Tropes de l’exèrcit d’Israel han començat aquesta matinada la invasió del Líban, en una maniobra anticipada pels atacs de les darreres hores, tant a la capital, Beirut, com a la zona sud del país. Les tropes han començat a travessar la frontera internacional a les dues de la matinada, hora libanesa. Segons l’exèrcit israelià és una 'operació limitada' que pretén eliminar l’Hesbol·là, molt actiu en aquesta zona. Ara com ara, l’exèrcit libanès ha optat per recloure les tropes dins les casernes, a fi d’evitar un conflicte directe entre tots dos exèrcits. El Llevant podria entrar en una guerra regional de conseqüències impossibles de preveure. L’exèrcit israelià ha confirmat que les operacions havien estat aprovades pel gabinet de guerra, que ahir es va reunir fins tard. En un comunicat oficial ha avisat que l’artilleria i l’aviació es mantindrien actives en suport de les tropes que ja han travessat la frontera.' "
}
],
"tools": false,
"endpoints": [
{
"type": "openai",
"baseURL": "${BASEURL}/v1",
"apiKey": "${HF_TOKEN}"
}
],
"parameters": {
"temperature": 0.4,
"repetition_penalty": 2,
"max_new_tokens": 2000,
},
"extraBody":{
"presence_penalty":-0.9
}
},
{
"name": "BSC-LT/salamandra-7b-instruct_tools",
"chatPromptTemplate": "None",
"promptExamples": [
{
"title": "How does an airplane produce lift?",
"prompt": "How does an airplane produce lift in order to fly?"
}, {
"title": "¿Qué és un meme?",
"prompt": "¿Qué és un meme y qué historia hay detrás del nombre?"
}, {
"title": "Resumeix una notícia",
"prompt": "Resumeix aquesta notícia en menys de 20 paraules: 'Tropes de l’exèrcit d’Israel han començat aquesta matinada la invasió del Líban, en una maniobra anticipada pels atacs de les darreres hores, tant a la capital, Beirut, com a la zona sud del país. Les tropes han començat a travessar la frontera internacional a les dues de la matinada, hora libanesa. Segons l’exèrcit israelià és una 'operació limitada' que pretén eliminar l’Hesbol·là, molt actiu en aquesta zona. Ara com ara, l’exèrcit libanès ha optat per recloure les tropes dins les casernes, a fi d’evitar un conflicte directe entre tots dos exèrcits. El Llevant podria entrar en una guerra regional de conseqüències impossibles de preveure. L’exèrcit israelià ha confirmat que les operacions havien estat aprovades pel gabinet de guerra, que ahir es va reunir fins tard. En un comunicat oficial ha avisat que l’artilleria i l’aviació es mantindrien actives en suport de les tropes que ja han travessat la frontera.' "
}
],
"tools_history": true,
"tools": true,
"endpoints": [
{
"type": "openai",
"baseURL": "${BASEURL_SALAMANDRA_TOOLS}/v1",
"apiKey": "${HF_TOKEN}"
}
],
"parameters": {
"temperature": 0.3,
"repetition_penalty": 2,
"max_new_tokens": 4000,
},
"extraBody":{
"presence_penalty":2
}
}
]`
#Repetition penality = presence_penalty + 2 # FOR TGI
# TASK_MODEL=`{
# "name": "vllm",
# "preprompt": "",
# "chatPromptTemplate": "{{#if @root.preprompt}}system\n{{@root.preprompt}}\n{{/if}}{{#each messages}}{{#ifUser}}{{content}}\n\n{{/ifUser}}{{#ifAssistant}}{{content}}\n{{/ifAssistant}}{{/each}}",
# "promptExamples": [
# {
# "title": "Python Fibonacci",
# "prompt": "¿Cómo puedo escribir una función en Python para generar el n-ésimo número de Fibonacci?"
# },
# {
# "title": "¿Qué es un meme?",
# "prompt": "¿Qué es un meme y cuál es la historia detrás de esta palabra?"
# },
# {
# "title": "Expresiones regulares",
# "prompt": "Crea una expresión regular para extraer fechas de registros"
# }
# ],
# "endpoints": [
# {
# "type": "openai",
# "baseURL": "${BASEURL}/v1",
# "apiKey": "${HF_TOKEN}"
# }
# ],
# "parameters": {
# "temperature": 0.4,
# "repetition_penalty": 2.0,
# "max_new_tokens": 200,
# }
# }`
PUBLIC_ANNOUNCEMENT_BANNERS=`[
{
"title": "If you’re having trouble on mobile or any device, go to",
"linkTitle": "BSC-ChatUi",
"linkHref": " https://bsc-lt-chatui.hf.space/"
}
]`
OLD_MODELS=`[]`# any removed models, `{ name: string, displayName?: string, id?: string }`
PUBLIC_ORIGIN=https://huggingface.co/spaces/BSC-LT/ChatUI #${SPACE_HOST}
PUBLIC_SHARE_PREFIX=https://bsc-lt-chatui.hf.space #${SPACE_HOST}/r
PUBLIC_GOOGLE_ANALYTICS_ID=#G-XXXXXXXX / Leave empty to disable
PUBLIC_DEPRECATED_GOOGLE_ANALYTICS_ID=#UA-XXXXXXXX-X / Leave empty to disable
PARQUET_EXPORT_DATASET=
PARQUET_EXPORT_HF_TOKEN=
PARQUET_EXPORT_SECRET=
PUBLIC_APP_NAME=${APP_NAME} # name used as title throughout the app
PUBLIC_APP_ASSETS=chatui # used to find logos & favicons in static/$PUBLIC_APP_ASSETS
PUBLIC_APP_COLOR=${APP_COLOR} # can be any of tailwind colors: https://tailwindcss.com/docs/customizing-colors#default-color-palette
PUBLIC_APP_DATA_SHARING=#set to 1 to enable disclaimers & options about data sharing
PUBLIC_APP_DATA_DISCLAIMER=#set to 1 to enable disclaimers about model outputs