2023-11-04 02:23:11 +01:00
# Ollama Web UI: A User-Friendly Web Interface for Chat Interactions 👋
2023-10-09 00:38:42 +02:00
2023-11-06 00:41:25 +01:00
![GitHub stars ](https://img.shields.io/github/stars/ollama-webui/ollama-webui?style=social )
![GitHub forks ](https://img.shields.io/github/forks/ollama-webui/ollama-webui?style=social )
![GitHub watchers ](https://img.shields.io/github/watchers/ollama-webui/ollama-webui?style=social )
2023-11-12 21:54:34 +01:00
![GitHub repo size ](https://img.shields.io/github/repo-size/ollama-webui/ollama-webui )
![GitHub language count ](https://img.shields.io/github/languages/count/ollama-webui/ollama-webui )
![GitHub top language ](https://img.shields.io/github/languages/top/ollama-webui/ollama-webui )
![GitHub last commit ](https://img.shields.io/github/last-commit/ollama-webui/ollama-webui?color=red )
2023-11-06 00:41:25 +01:00
![Hits ](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Follama-webui%2Follama-wbui&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false )
2023-11-12 06:07:19 +01:00
[![Discord ](https://img.shields.io/badge/Discord-Ollama_Web_UI-blue?logo=discord&logoColor=white )](https://discord.gg/5rJgQTnV4s)
2023-11-11 22:40:47 +01:00
[![ ](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86 )](https://github.com/sponsors/tjbck)
2023-11-06 00:41:25 +01:00
2023-10-09 00:38:42 +02:00
ChatGPT-Style Web Interface for Ollama 🦙
![Ollama Web UI Demo ](./demo.gif )
## Features ⭐
- 🖥️ **Intuitive Interface** : Our chat interface takes inspiration from ChatGPT, ensuring a user-friendly experience.
2023-10-22 01:14:12 +02:00
2023-10-09 00:38:42 +02:00
- 📱 **Responsive Design** : Enjoy a seamless experience on both desktop and mobile devices.
2023-10-22 01:14:12 +02:00
2023-10-09 00:38:42 +02:00
- ⚡ **Swift Responsiveness** : Enjoy fast and responsive performance.
2023-10-22 01:14:12 +02:00
2023-10-09 00:38:42 +02:00
- 🚀 **Effortless Setup** : Install seamlessly using Docker for a hassle-free experience.
2023-10-22 01:14:12 +02:00
2023-11-04 02:21:12 +01:00
- 💻 **Code Syntax Highlighting** : Enjoy enhanced code readability with our syntax highlighting feature.
- ✒️🔢 **Full Markdown and LaTeX Support** : Elevate your LLM experience with comprehensive Markdown and LaTeX capabilities for enriched interaction.
2023-10-23 01:40:17 +02:00
- 📥🗑️ **Download/Delete Models** : Easily download or remove models directly from the web UI.
2023-10-09 00:38:42 +02:00
- 🤖 **Multiple Model Support** : Seamlessly switch between different chat models for diverse interactions.
2023-10-22 01:14:12 +02:00
2023-11-17 19:38:29 +01:00
- ⚙️ **Many Models Conversations** : Effortlessly engage with various models simultaneously, harnessing their unique strengths for optimal responses. Enhance your experience by leveraging a diverse set of models in parallel.
2023-11-14 07:08:14 +01:00
2023-11-04 02:21:12 +01:00
- 🤝 **OpenAI Model Integration** : Seamlessly utilize OpenAI models alongside Ollama models for a versatile conversational experience.
2023-11-14 07:08:14 +01:00
- 🔄 **Regeneration History Access** : Easily revisit and explore your entire regeneration history.
2023-10-16 10:27:26 +02:00
- 📜 **Chat History** : Effortlessly access and manage your conversation history.
2023-10-22 01:14:12 +02:00
2023-10-19 08:00:26 +02:00
- 📤📥 **Import/Export Chat History** : Seamlessly move your chat data in and out of the platform.
2023-10-22 01:14:12 +02:00
2023-11-11 22:50:13 +01:00
- 🗣️ **Voice Input Support** : Engage with your model through voice interactions; enjoy the convenience of talking to your model directly. Additionally, explore the option for sending voice input automatically after 3 seconds of silence for a streamlined experience.
2023-11-11 22:40:47 +01:00
2023-10-20 20:43:46 +02:00
- ⚙️ **Fine-Tuned Control with Advanced Parameters** : Gain a deeper level of control by adjusting parameters such as temperature and defining your system prompts to tailor the conversation to your specific preferences and needs.
2023-10-22 01:14:12 +02:00
2023-11-15 08:39:06 +01:00
- 🔐 **Auth Header Support** : Effortlessly enhance security by adding Authorization headers to Ollama requests directly from the web UI settings, ensuring access to secured Ollama servers.
2023-11-04 02:21:12 +01:00
- 🔗 **External Ollama Server Connection** : Seamlessly link to an external Ollama server hosted on a different address by configuring the environment variable during the Docker build phase. Additionally, you can also set the external server connection URL from the web UI post-build.
2023-10-22 01:14:12 +02:00
2023-11-15 08:39:06 +01:00
- 🔒 **Backend Reverse Proxy Support** : Strengthen security by enabling direct communication between Ollama Web UI backend and Ollama, eliminating the need to expose Ollama over LAN.
2023-11-14 23:30:47 +01:00
2023-10-09 00:38:42 +02:00
- 🌟 **Continuous Updates** : We are committed to improving Ollama Web UI with regular updates and new features.
## How to Install 🚀
2023-11-15 21:30:04 +01:00
### Installing Both Ollama and Ollama Web UI Using Docker Compose
2023-10-16 10:38:06 +02:00
2023-11-15 21:30:04 +01:00
If you don't have Ollama installed yet, you can use the provided Docker Compose file for a hassle-free installation. Simply run the following command:
2023-11-12 06:07:19 +01:00
```bash
2023-11-17 19:38:29 +01:00
docker compose up -d --build
2023-11-12 06:07:19 +01:00
```
2023-11-17 19:38:29 +01:00
This command will install both Ollama and Ollama Web UI on your system. Ensure to modify the `compose.yaml` file for GPU support and Exposing Ollama API outside the container stack if needed.
2023-11-12 06:07:19 +01:00
2023-11-15 21:30:04 +01:00
### Installing Ollama Web UI Only
#### Prerequisites
Make sure you have the latest version of Ollama installed before proceeding with the installation. You can find the latest version of Ollama at [https://ollama.ai/ ](https://ollama.ai/ ).
##### Checking Ollama
2023-10-18 03:08:54 +02:00
2023-11-15 21:30:04 +01:00
After installing Ollama, verify that Ollama is running by accessing the following link in your web browser: [http://127.0.0.1:11434/ ](http://127.0.0.1:11434/ ). Note that the port number may differ based on your system configuration.
2023-10-18 03:08:54 +02:00
2023-11-15 21:30:04 +01:00
#### Using Docker 🐳
2023-10-18 03:08:54 +02:00
2023-11-15 21:30:04 +01:00
If Ollama is hosted on your local machine and accessible at [http://127.0.0.1:11434/ ](http://127.0.0.1:11434/ ), run the following command:
2023-10-18 03:08:54 +02:00
```bash
2023-11-15 08:56:36 +01:00
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway --name ollama-webui --restart always ghcr.io/ollama-webui/ollama-webui:main
2023-10-18 03:08:54 +02:00
```
2023-11-15 08:56:36 +01:00
Alternatively, if you prefer to build the container yourself, use the following command:
2023-10-22 22:16:09 +02:00
```bash
2023-11-15 08:56:36 +01:00
docker build -t ollama-webui .
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway --name ollama-webui --restart always ollama-webui
2023-10-22 22:16:09 +02:00
```
2023-11-15 09:07:12 +01:00
Your Ollama Web UI should now be hosted at [http://localhost:3000 ](http://localhost:3000 ) and accessible over LAN (or Network). Enjoy! 😄
2023-10-09 00:38:42 +02:00
2023-11-15 21:30:04 +01:00
#### Accessing External Ollama on a Different Server
2023-11-15 08:56:36 +01:00
2023-11-15 20:57:04 +01:00
Change `OLLAMA_API_BASE_URL` environment variable to match the external Ollama Server url:
2023-10-18 12:01:34 +02:00
```bash
2023-11-15 20:57:04 +01:00
docker run -d -p 3000:8080 -e OLLAMA_API_BASE_URL=https://example.com/api --name ollama-webui --restart always ghcr.io/ollama-webui/ollama-webui:main
```
Alternatively, if you prefer to build the container yourself, use the following command:
```bash
docker build -t ollama-webui .
docker run -d -p 3000:8080 -e OLLAMA_API_BASE_URL=https://example.com/api --name ollama-webui --restart always ollama-webui
2023-10-18 12:01:34 +02:00
```
2023-10-22 08:49:25 +02:00
## How to Build for Static Deployment
2023-11-15 08:56:36 +01:00
1. Clone & Enter the project
2023-10-22 08:49:25 +02:00
```sh
2023-11-15 08:56:36 +01:00
git clone https://github.com/ollama-webui/ollama-webui.git
pushd ./ollama-webui/
2023-10-22 08:49:25 +02:00
```
2023-11-15 08:56:36 +01:00
2. Create and edit `.env`
2023-10-22 08:49:25 +02:00
```sh
2023-11-15 08:56:36 +01:00
cp -RPp example.env .env
2023-10-22 08:49:25 +02:00
```
2023-11-15 08:56:36 +01:00
3. Install node dependencies
2023-10-22 08:49:25 +02:00
```sh
2023-11-15 08:56:36 +01:00
npm i
2023-10-22 08:49:25 +02:00
```
2023-11-15 08:56:36 +01:00
2023-10-22 08:49:25 +02:00
4. Run in dev mode, or build the site for deployment
2023-11-15 08:56:36 +01:00
2023-10-22 08:49:25 +02:00
- Test in Dev mode:
2023-11-15 08:56:36 +01:00
2023-10-22 08:49:25 +02:00
```sh
npm run dev
```
2023-11-15 08:56:36 +01:00
- Build for Deploy:
2023-10-22 08:49:25 +02:00
```sh
2023-11-15 08:56:36 +01:00
#`PUBLIC_API_BASE_URL` will overwrite the value in `.env`
2023-10-22 08:49:25 +02:00
PUBLIC_API_BASE_URL='https://example.com/api' npm run build
```
2023-11-15 08:56:36 +01:00
2023-10-22 08:49:25 +02:00
5. Test the build with `caddy` (or the server of your choice)
```sh
curl https://webi.sh/caddy | sh
PUBLIC_API_BASE_URL='https://localhost/api' npm run build
caddy run --envfile .env --config ./Caddyfile.localhost
```
2023-10-25 03:12:00 +02:00
## Troubleshooting
2023-11-14 21:20:51 +01:00
See [TROUBLESHOOTING.md ](/TROUBLESHOOTING.md ) for information on how to troubleshoot and/or join our [Ollama Web UI Discord community ](https://discord.gg/5rJgQTnV4s ).
2023-10-25 03:12:00 +02:00
2023-10-09 00:38:42 +02:00
## What's Next? 🚀
### To-Do List 📝
Here are some exciting tasks on our to-do list:
2023-11-15 09:17:22 +01:00
- 🔐 **Access Control** : Securely manage requests to Ollama by utilizing the backend as a reverse proxy gateway, ensuring only authenticated users can send specific requests.
2023-10-28 10:49:37 +02:00
- 🧪 **Research-Centric Features** : Empower researchers in the fields of LLM and HCI with a comprehensive web UI for conducting user studies. Stay tuned for ongoing feature enhancements (e.g., surveys, analytics, and participant tracking) to facilitate their research.
- 📈 **User Study Tools** : Providing specialized tools, like heat maps and behavior tracking modules, to empower researchers in capturing and analyzing user behavior patterns with precision and accuracy.
2023-10-09 00:38:42 +02:00
- 📚 **Enhanced Documentation** : Elevate your setup and customization experience with improved, comprehensive documentation.
Feel free to contribute and help us make Ollama Web UI even better! 🙌
2023-11-14 21:20:51 +01:00
## Supporters ✨
A big shoutout to our amazing supporters who's helping to make this project possible! 🙏
2023-10-09 00:38:42 +02:00
2023-11-14 21:23:02 +01:00
### Platinum Sponsors 🤍
2023-10-09 00:38:42 +02:00
2023-11-14 21:20:51 +01:00
- [Prof. Lawrence Kim @ SFU ](https://www.lhkim.com/ )
2023-10-09 00:38:42 +02:00
## License 📜
2023-11-14 22:32:59 +01:00
This project is licensed under the [MIT License ](LICENSE ) - see the [LICENSE ](LICENSE ) file for details. 📄
2023-10-09 00:38:42 +02:00
## Support 💬
2023-11-06 00:41:25 +01:00
If you have any questions, suggestions, or need assistance, please open an issue or join our
2023-11-12 06:07:19 +01:00
[Ollama Web UI Discord community ](https://discord.gg/5rJgQTnV4s ) or
2023-11-06 00:41:25 +01:00
[Ollama Discord community ](https://discord.gg/ollama ) to connect with us! 🤝
2023-10-09 00:38:42 +02:00
---
2023-11-14 21:20:51 +01:00
Created by [Timothy J. Baek ](https://github.com/tjbck ) - Let's make Ollama Web UI even more amazing together! 💪