|
--- |
|
title: chat-ui |
|
emoji: 🔥 |
|
colorFrom: purple |
|
colorTo: purple |
|
sdk: docker |
|
pinned: false |
|
license: apache-2.0 |
|
base_path: /chat |
|
app_port: 3000 |
|
--- |
|
|
|
# Chat UI |
|
|
|
![Chat UI repository thumbnail](https://huggingface.co/datasets/huggingface/documentation-images/raw/f038917dd40d711a72d654ab1abfc03ae9f177e6/chat-ui-repo-thumbnail.svg) |
|
|
|
A chat interface using open source models, eg OpenAssistant. It is a SvelteKit app and it powers the [HuggingChat app on hf.co/chat](https://huggingface.co/chat). |
|
|
|
## Launch |
|
|
|
```bash |
|
npm install |
|
npm run dev |
|
``` |
|
|
|
## Environment |
|
|
|
Default configuration is in `.env`. Put custom config and secrets in `.env.local`, it will override the values in `.env`. |
|
|
|
Check out [.env](./.env) to see what needs to be set. |
|
|
|
Basically you need to create a `.env.local` with the following contents: |
|
|
|
``` |
|
MONGODB_URL=<url to mongo, for example a free MongoDB Atlas sandbox instance> |
|
HF_ACCESS_TOKEN=<your HF access token from https://huggingface.co/settings/tokens> |
|
``` |
|
|
|
## Duplicating to a Space |
|
|
|
Create a `DOTENV_LOCAL` secret to your space with the following contents: |
|
|
|
``` |
|
MONGODB_URL=<url to mongo, for example a free MongoDB Atlas sandbox instance> |
|
HF_ACCESS_TOKEN=<your HF access token from https://huggingface.co/settings/tokens> |
|
``` |
|
|
|
Where the contents in `<...>` are replaced by the MongoDB URL and your [HF Access Token](https://huggingface.co/settings/tokens). |
|
|
|
## Running Local Inference |
|
|
|
Both the example above use the HF Inference API or HF Endpoints API. |
|
|
|
If you want to run the model locally, you need to run this inference server locally: https://github.com/huggingface/text-generation-inference |
|
|
|
And add this to your `.env.local`: |
|
|
|
``` |
|
MODELS=`[{"name": "...", "endpoints": [{"url": "127.0.0.1:8080/generate_stream"}]}]` |
|
``` |
|
|
|
## Building |
|
|
|
To create a production version of your app: |
|
|
|
```bash |
|
npm run build |
|
``` |
|
|
|
You can preview the production build with `npm run preview`. |
|
|
|
> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. |
|
|