"src/targets/gpu/vscode:/vscode.git/clone" did not exist on "96358e41cc883791c8d3ad50280bea4871a18000"
README.md 9.93 KB
Newer Older
Timothy J. Baek's avatar
Timothy J. Baek committed
1
# Open WebUI (Formerly Ollama WebUI) 👋
Timothy J. Baek's avatar
Timothy J. Baek committed
2

Timothy J. Baek's avatar
rename  
Timothy J. Baek committed
3
4
5
6
7
8
9
![GitHub stars](https://img.shields.io/github/stars/open-webui/open-webui?style=social)
![GitHub forks](https://img.shields.io/github/forks/open-webui/open-webui?style=social)
![GitHub watchers](https://img.shields.io/github/watchers/open-webui/open-webui?style=social)
![GitHub repo size](https://img.shields.io/github/repo-size/open-webui/open-webui)
![GitHub language count](https://img.shields.io/github/languages/count/open-webui/open-webui)
![GitHub top language](https://img.shields.io/github/languages/top/open-webui/open-webui)
![GitHub last commit](https://img.shields.io/github/last-commit/open-webui/open-webui?color=red)
Timothy J. Baek's avatar
Timothy J. Baek committed
10
![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)
Timothy J. Baek's avatar
Timothy J. Baek committed
11
[![Discord](https://img.shields.io/badge/Discord-Open_WebUI-blue?logo=discord&logoColor=white)](https://discord.gg/5rJgQTnV4s)
Timothy J. Baek's avatar
Timothy J. Baek committed
12
[![](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/tjbck)
Timothy J. Baek's avatar
Timothy J. Baek committed
13

Timothy J. Baek's avatar
Timothy J. Baek committed
14
User-friendly WebUI for LLMs, supported LLM runners include Ollama and OpenAI-compatible APIs.
Timothy J. Baek's avatar
Timothy J. Baek committed
15

Timothy J. Baek's avatar
Timothy J. Baek committed
16
![Open WebUI Demo](./demo.gif)
Timothy Jaeryang Baek's avatar
Timothy Jaeryang Baek committed
17

Timothy J. Baek's avatar
Timothy J. Baek committed
18
19
20
## Features ⭐

- 🖥️ **Intuitive Interface**: Our chat interface takes inspiration from ChatGPT, ensuring a user-friendly experience.
21

Timothy J. Baek's avatar
Timothy J. Baek committed
22
- 📱 **Responsive Design**: Enjoy a seamless experience on both desktop and mobile devices.
23

Timothy J. Baek's avatar
Timothy J. Baek committed
24
-**Swift Responsiveness**: Enjoy fast and responsive performance.
25

Daniele Viti's avatar
Daniele Viti committed
26
- 🚀 **Effortless Setup**: Install seamlessly using Docker or Kubernetes (kubectl, kustomize or helm) for a hassle-free experience.
27

Timothy J. Baek's avatar
Timothy J. Baek committed
28
29
30
31
- 💻 **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.

Timothy Jaeryang Baek's avatar
Timothy Jaeryang Baek committed
32
- 📚 **Local RAG Integration**: Dive into the future of chat interactions with the groundbreaking Retrieval Augmented Generation (RAG) support. This feature seamlessly integrates document interactions into your chat experience. You can load documents directly into the chat or add files to your document library, effortlessly accessing them using `#` command in the prompt. In its alpha phase, occasional issues may arise as we actively refine and enhance this feature to ensure optimal performance and reliability.
Timothy J. Baek's avatar
Timothy J. Baek committed
33

Timothy J. Baek's avatar
Timothy J. Baek committed
34
35
- 🌐 **Web Browsing Capability**: Seamlessly integrate websites into your chat experience using the `#` command followed by the URL. This feature allows you to incorporate web content directly into your conversations, enhancing the richness and depth of your interactions.

Timothy J. Baek's avatar
Timothy J. Baek committed
36
- 📜 **Prompt Preset Support**: Instantly access preset prompts using the `/` command in the chat input. Load predefined conversation starters effortlessly and expedite your interactions. Effortlessly import prompts through [Open WebUI Community](https://openwebui.com/) integration.
Timothy Jaeryang Baek's avatar
Timothy Jaeryang Baek committed
37

Timothy Jaeryang Baek's avatar
Timothy Jaeryang Baek committed
38
39
- 👍👎 **RLHF Annotation**: Empower your messages by rating them with thumbs up and thumbs down, facilitating the creation of datasets for Reinforcement Learning from Human Feedback (RLHF). Utilize your messages to train or fine-tune models, all while ensuring the confidentiality of locally saved data.

Timothy J. Baek's avatar
Timothy J. Baek committed
40
41
- 🏷️ **Conversation Tagging**: Effortlessly categorize and locate specific chats for quick reference and streamlined data collection.

42
43
- 📥🗑️ **Download/Delete Models**: Easily download or remove models directly from the web UI.

Timothy J. Baek's avatar
Timothy J. Baek committed
44
- ⬆️ **GGUF File Model Creation**: Effortlessly create Ollama models by uploading GGUF files directly from the web UI. Streamlined process with options to upload from your machine or download GGUF files from Hugging Face.
Timothy J. Baek's avatar
Timothy J. Baek committed
45

Timothy J. Baek's avatar
Timothy J. Baek committed
46
- 🤖 **Multiple Model Support**: Seamlessly switch between different chat models for diverse interactions.
47

Timothy J. Baek's avatar
Timothy J. Baek committed
48
49
- 🔄 **Multi-Modal Support**: Seamlessly engage with models that support multimodal interactions, including images (e.g., LLava).

Timothy J. Baek's avatar
Timothy J. Baek committed
50
- 🧩 **Modelfile Builder**: Easily create Ollama modelfiles via the web UI. Create and add characters/agents, customize chat elements, and import modelfiles effortlessly through [Open WebUI Community](https://openwebui.com/) integration.
Timothy Jaeryang Baek's avatar
Timothy Jaeryang Baek committed
51

Timothy J. Baek's avatar
Timothy J. Baek committed
52
- ⚙️ **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.
Timothy J. Baek's avatar
Timothy J. Baek committed
53

Timothy Jaeryang Baek's avatar
Timothy Jaeryang Baek committed
54
- 💬 **Collaborative Chat**: Harness the collective intelligence of multiple models by seamlessly orchestrating group conversations. Use the `@` command to specify the model, enabling dynamic and diverse dialogues within your chat interface. Immerse yourself in the collective intelligence woven into your chat environment.
Timothy J. Baek's avatar
Timothy J. Baek committed
55

Timothy Jaeryang Baek's avatar
Timothy Jaeryang Baek committed
56
- 🤝 **OpenAI API Integration**: Effortlessly integrate OpenAI-compatible API for versatile conversations alongside Ollama models. Customize the API Base URL to link with **LMStudio, Mistral, OpenRouter, and more**.
Timothy J. Baek's avatar
Timothy J. Baek committed
57

Timothy J. Baek's avatar
Timothy J. Baek committed
58
59
- 🔄 **Regeneration History Access**: Easily revisit and explore your entire regeneration history.

60
- 📜 **Chat History**: Effortlessly access and manage your conversation history.
61

Timothy J. Baek's avatar
Timothy J. Baek committed
62
- 📤📥 **Import/Export Chat History**: Seamlessly move your chat data in and out of the platform.
63

Timothy J. Baek's avatar
Timothy J. Baek committed
64
- 🗣️ **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.
Timothy J. Baek's avatar
Timothy J. Baek committed
65

Timothy J. Baek's avatar
Timothy J. Baek committed
66
- ⚙️ **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.
67

Timothy J. Baek's avatar
Timothy J. Baek committed
68
- 🔗 **External Ollama Server Connection**: Seamlessly link to an external Ollama server hosted on a different address by configuring the environment variable.
Timothy J. Baek's avatar
Timothy J. Baek committed
69

Timothy J. Baek's avatar
Timothy J. Baek committed
70
- 🔐 **Role-Based Access Control (RBAC)**: Ensure secure access with restricted permissions; only authorized individuals can access your Ollama, and exclusive model creation/pulling rights are reserved for administrators.
71

Timothy J. Baek's avatar
Timothy J. Baek committed
72
- 🔒 **Backend Reverse Proxy Support**: Bolster security through direct communication between Open WebUI backend and Ollama. This key feature eliminates the need to expose Ollama over LAN. Requests made to the '/ollama/api' route from the web UI are seamlessly redirected to Ollama from the backend, enhancing overall system security.
73

Timothy J. Baek's avatar
Timothy J. Baek committed
74
- 🌟 **Continuous Updates**: We are committed to improving Open WebUI with regular updates and new features.
Timothy J. Baek's avatar
Timothy J. Baek committed
75

Timothy J. Baek's avatar
Timothy J. Baek committed
76
## 🔗 Also Check Out Open WebUI Community!
Timothy Jaeryang Baek's avatar
Timothy Jaeryang Baek committed
77

Timothy J. Baek's avatar
Timothy J. Baek committed
78
Don't forget to explore our sibling project, [Open WebUI Community](https://openwebui.com/), where you can discover, download, and explore customized Modelfiles. Open WebUI Community offers a wide range of exciting possibilities for enhancing your chat interactions with Open WebUI! 🚀
Timothy Jaeryang Baek's avatar
Timothy Jaeryang Baek committed
79

Timothy J. Baek's avatar
Timothy J. Baek committed
80
81
## How to Install 🚀

Timothy J. Baek's avatar
Timothy J. Baek committed
82
83
> [!NOTE]  
> Please note that for certain Docker environments, additional configurations might be needed. If you encounter any connection issues, our detailed guide on [Open WebUI Documentation](https://docs.openwebui.com/) is ready to assist you.
Timothy J. Baek's avatar
Timothy J. Baek committed
84

Timothy J. Baek's avatar
Timothy J. Baek committed
85
### Quick Start with Docker 🐳
86

Timothy J. Baek's avatar
Timothy J. Baek committed
87
88
> [!IMPORTANT]
> When using Docker to install Open WebUI, make sure to include the `-v open-webui:/app/backend/data` in your Docker command. This step is crucial as it ensures your database is properly mounted and prevents any loss of data.
Timothy J. Baek's avatar
Timothy J. Baek committed
89

Justin Hayes's avatar
Justin Hayes committed
90
- **If Ollama is on your computer**, use this command:
Timothy J. Baek's avatar
Timothy J. Baek committed
91

Justin Hayes's avatar
Justin Hayes committed
92
  ```bash
Timothy J. Baek's avatar
Timothy J. Baek committed
93
  docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Justin Hayes's avatar
Justin Hayes committed
94
  ```
Timothy J. Baek's avatar
Timothy J. Baek committed
95

Timothy J. Baek's avatar
Timothy J. Baek committed
96
- **If Ollama is on a Different Server**, use this command:
Timothy J. Baek's avatar
Timothy J. Baek committed
97

Justin Hayes's avatar
Justin Hayes committed
98
- To connect to Ollama on another server, change the `OLLAMA_API_BASE_URL` to the server's URL:
Timothy J. Baek's avatar
Timothy J. Baek committed
99

Justin Hayes's avatar
Justin Hayes committed
100
  ```bash
Timothy J. Baek's avatar
Timothy J. Baek committed
101
  docker run -d -p 3000:8080 -e OLLAMA_API_BASE_URL=https://example.com/api -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Justin Hayes's avatar
Justin Hayes committed
102
  ```
Timothy J. Baek's avatar
Timothy J. Baek committed
103

Timothy J. Baek's avatar
Timothy J. Baek committed
104
- After installation, you can access Open WebUI at [http://localhost:3000](http://localhost:3000). Enjoy! 😄
105

Timothy J. Baek's avatar
Timothy J. Baek committed
106
#### Troubleshooting
107

Timothy J. Baek's avatar
Timothy J. Baek committed
108
Encountering connection issues? Our [Open WebUI Documentation](https://docs.openwebui.com/getting-started/troubleshooting/) has got you covered. For further assistance and to join our vibrant community, visit the [Open WebUI Discord](https://discord.gg/5rJgQTnV4s).
109

Timothy J. Baek's avatar
Timothy J. Baek committed
110
### Other Installation Methods
111

Timothy J. Baek's avatar
Timothy J. Baek committed
112
We offer various installation alternatives, including non-Docker methods, Docker Compose, Kustomize, and Helm. Visit our [Open WebUI Documentation](https://docs.openwebui.com/getting-started/) or join our [Discord community](https://discord.gg/5rJgQTnV4s) for comprehensive guidance.
Timothy J. Baek's avatar
Timothy J. Baek committed
113

Timothy J. Baek's avatar
Timothy J. Baek committed
114
### Keeping Your Docker Installation Up-to-Date
Timothy J. Baek's avatar
Timothy J. Baek committed
115

Timothy J. Baek's avatar
Timothy J. Baek committed
116
Stay current by following our Migration Guide available in our [Open WebUI Documentation](https://docs.openwebui.com/getting-started/).
Timothy J. Baek's avatar
Timothy J. Baek committed
117

Timothy J. Baek's avatar
Timothy J. Baek committed
118
## What's Next? 🌟
Timothy J. Baek's avatar
Timothy J. Baek committed
119

Timothy J. Baek's avatar
Timothy J. Baek committed
120
Discover upcoming features on our roadmap in the [Open WebUI Documentation](https://docs.openwebui.com/roadmap/).
Timothy J. Baek's avatar
Timothy J. Baek committed
121

122
123
124
## Supporters ✨

A big shoutout to our amazing supporters who's helping to make this project possible! 🙏
Timothy J. Baek's avatar
Timothy J. Baek committed
125

126
### Platinum Sponsors 🤍
Timothy J. Baek's avatar
Timothy J. Baek committed
127

128
129
130
131
- We're looking for Sponsors!

### Acknowledgments

Timothy J. Baek's avatar
Timothy J. Baek committed
132
Special thanks to [Prof. Lawrence Kim](https://www.lhkim.com/) and [Prof. Nick Vincent](https://www.nickmvincent.com/) for their invaluable support and guidance in shaping this project into a research endeavor. Grateful for your mentorship throughout the journey! 🙌
Timothy J. Baek's avatar
Timothy J. Baek committed
133
134
135

## License 📜

Timothy J. Baek's avatar
Timothy J. Baek committed
136
This project is licensed under the [MIT License](LICENSE) - see the [LICENSE](LICENSE) file for details. 📄
Timothy J. Baek's avatar
Timothy J. Baek committed
137
138
139

## Support 💬

Timothy J. Baek's avatar
Timothy J. Baek committed
140
If you have any questions, suggestions, or need assistance, please open an issue or join our
Timothy J. Baek's avatar
Timothy J. Baek committed
141
[Open WebUI Discord community](https://discord.gg/5rJgQTnV4s) to connect with us! 🤝
Timothy J. Baek's avatar
Timothy J. Baek committed
142
143
144

---

Timothy J. Baek's avatar
Timothy J. Baek committed
145
Created by [Timothy J. Baek](https://github.com/tjbck) - Let's make Open Web UI even more amazing together! 💪