Brak opisu

Timothy Jaeryang Baek c7e93b32c5 Merge pull request #5660 from open-webui/pypi-release 7 miesięcy temu
.github 998616c0fd fix scripts to point to correct path 8 miesięcy temu
backend 3cee507687 fix: dev2 7 miesięcy temu
cypress 153ba168a0 tests: update share test to actually share 9 miesięcy temu
docs ec99ac7121 Update SECURITY.md 9 miesięcy temu
kubernetes 82fbfd69a5 Improve `kustomization` usage 8 miesięcy temu
scripts b6ad539379 refac 11 miesięcy temu
src 60ac69eb27 Merge pull request #5656 from OriginalSimon/dev 7 miesięcy temu
static 30e03cbac4 Add robots.txt to fix validation error 8 miesięcy temu
test a937f6504a feat: add image gen with automatic1111 to integration test 1 rok temu
.dockerignore 7aa35a3757 Added HTML and Typescript UI components to support configration of text extraction engine. 10 miesięcy temu
.env.example 79f440f302 refac: byebye litellm 1 rok temu
.eslintignore 5e03670f1e chat feature added 1 rok temu
.eslintrc.cjs 730befce45 feat: add basic cypress test as initial work towards e2e tests 1 rok temu
.gitattributes beb5031f7b fixed Docker problem some users experienced 1 rok temu
.gitignore 8a38b0a286 feat(config): exclude .vscode/settings.json from version control 10 miesięcy temu
.npmrc 5e03670f1e chat feature added 1 rok temu
.prettierignore 0a9092156c chore: format 1 rok temu
.prettierrc 5e03670f1e chat feature added 1 rok temu
CHANGELOG.md 38b9a63fa5 refac 7 miesięcy temu
CODE_OF_CONDUCT.md f1855f5208 doc: typo 11 miesięcy temu
Caddyfile.localhost c307777a6d feat: update .env.example and add Caddyfile 1 rok temu
Dockerfile 619dbbe9f5 refac 8 miesięcy temu
INSTALLATION.md e05ae3481e rename 1 rok temu
LICENSE 9c05761490 chore: revert license change 1 rok temu
Makefile e1e66f708f Chose between "docker-compose" and "docker compose" in Makefile 1 rok temu
README.md 7e1923fcfe Add searchapi as an alternative web search 8 miesięcy temu
TROUBLESHOOTING.md dfa2cf9e6d refac: AIOHTTP_CLIENT_TIMEOUT default value should match 11 miesięcy temu
bun.lockb 230f787da1 first draft 1 rok temu
confirm_remove.sh 4570f6fb0e Chose between "docker-compose" and "docker compose" in confirm_remove.sh 1 rok temu
cypress.config.ts 730befce45 feat: add basic cypress test as initial work towards e2e tests 1 rok temu
demo.gif d28925de05 doc: demo.gif 11 miesięcy temu
docker-compose.a1111-test.yaml a937f6504a feat: add image gen with automatic1111 to integration test 1 rok temu
docker-compose.amdgpu.yaml 8db03f3ab2 Add variables 1 rok temu
docker-compose.api.yaml 93aea0a4d4 Removed version synatax as its no longer needed per Docker Docs 1 rok temu
docker-compose.data.yaml 93aea0a4d4 Removed version synatax as its no longer needed per Docker Docs 1 rok temu
docker-compose.gpu.yaml 93aea0a4d4 Removed version synatax as its no longer needed per Docker Docs 1 rok temu
docker-compose.yaml 93aea0a4d4 Removed version synatax as its no longer needed per Docker Docs 1 rok temu
hatch_build.py 4fdb26fdc4 refac: rename build hash vars 1 rok temu
i18next-parser.config.ts e8ffb2c023 fix: configure i18next to not return empty strings 1 rok temu
package-lock.json 3cee507687 fix: dev2 7 miesięcy temu
package.json 3cee507687 fix: dev2 7 miesięcy temu
postcss.config.js d188512263 chore: npm run fmt 1 rok temu
pyproject.toml b0bc36f2af fix 8 miesięcy temu
run-compose.sh 57d178456a fix: docker gpus option "all" support 1 rok temu
run-ollama-docker.sh 685d37418f fix: run-ollama-docker.sh 1 rok temu
run.sh 61411b22e2 Update run.sh 1 rok temu
svelte.config.js 6a012d290e migration to SvelteKit 2 9 miesięcy temu
tailwind.config.js 83a3e53d8d Add padding to compensate for iPhone nav bar 8 miesięcy temu
tsconfig.json 5e03670f1e chat feature added 1 rok temu
update_ollama_models.sh a016171573 fix: update Makefile and rename script for open-webui integration 1 rok temu
uv.lock 6d1bd3ab66 dev4 8 miesięcy temu
vite.config.ts aba6308825 Merge remote-tracking branch 'upstream/dev' into feat/include-git-hash-everywhere 1 rok temu

README.md

Open WebUI (Formerly Ollama WebUI) 👋

GitHub stars GitHub forks GitHub watchers GitHub repo size GitHub language count GitHub top language GitHub last commit Hits Discord

Open WebUI is an extensible, feature-rich, and user-friendly self-hosted WebUI designed to operate entirely offline. It supports various LLM runners, including Ollama and OpenAI-compatible APIs. For more information, be sure to check out our Open WebUI Documentation.

Open WebUI Demo

Key Features of Open WebUI ⭐

  • 🚀 Effortless Setup: Install seamlessly using Docker or Kubernetes (kubectl, kustomize or helm) for a hassle-free experience with support for both :ollama and :cuda tagged images.

  • 🤝 Ollama/OpenAI API Integration: Effortlessly integrate OpenAI-compatible APIs for versatile conversations alongside Ollama models. Customize the OpenAI API URL to link with LMStudio, GroqCloud, Mistral, OpenRouter, and more.

  • 🧩 Pipelines, Open WebUI Plugin Support: Seamlessly integrate custom logic and Python libraries into Open WebUI using Pipelines Plugin Framework. Launch your Pipelines instance, set the OpenAI URL to the Pipelines URL, and explore endless possibilities. Examples include Function Calling, User Rate Limiting to control access, Usage Monitoring with tools like Langfuse, Live Translation with LibreTranslate for multilingual support, Toxic Message Filtering and much more.

  • 📱 Responsive Design: Enjoy a seamless experience across Desktop PC, Laptop, and Mobile devices.

  • 📱 Progressive Web App (PWA) for Mobile: Enjoy a native app-like experience on your mobile device with our PWA, providing offline access on localhost and a seamless user interface.

  • ✒️🔢 Full Markdown and LaTeX Support: Elevate your LLM experience with comprehensive Markdown and LaTeX capabilities for enriched interaction.

  • 🎤📹 Hands-Free Voice/Video Call: Experience seamless communication with integrated hands-free voice and video call features, allowing for a more dynamic and interactive chat environment.

  • 🛠️ Model Builder: Easily create Ollama models via the Web UI. Create and add custom characters/agents, customize chat elements, and import models effortlessly through Open WebUI Community integration.

  • 🐍 Native Python Function Calling Tool: Enhance your LLMs with built-in code editor support in the tools workspace. Bring Your Own Function (BYOF) by simply adding your pure Python functions, enabling seamless integration with LLMs.

  • 📚 Local RAG Integration: Dive into the future of chat interactions with 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 the # command before a query.

  • 🔍 Web Search for RAG: Perform web searches using providers like SearXNG, Google PSE, Brave Search, serpstack, serper, Serply, DuckDuckGo, TavilySearch and SearchApi and inject the results directly into your chat experience.

  • 🌐 Web Browsing Capability: Seamlessly integrate websites into your chat experience using the # command followed by a URL. This feature allows you to incorporate web content directly into your conversations, enhancing the richness and depth of your interactions.

  • 🎨 Image Generation Integration: Seamlessly incorporate image generation capabilities using options such as AUTOMATIC1111 API or ComfyUI (local), and OpenAI's DALL-E (external), enriching your chat experience with dynamic visual content.

  • ⚙️ 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.

  • 🔐 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.

  • 🌐🌍 Multilingual Support: Experience Open WebUI in your preferred language with our internationalization (i18n) support. Join us in expanding our supported languages! We're actively seeking contributors!

  • 🌟 Continuous Updates: We are committed to improving Open WebUI with regular updates, fixes, and new features.

Want to learn more about Open WebUI's features? Check out our Open WebUI documentation for a comprehensive overview!

🔗 Also Check Out Open WebUI Community!

Don't forget to explore our sibling project, Open WebUI Community, 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! 🚀

How to Install 🚀

[!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 is ready to assist you.

Quick Start with Docker 🐳

[!WARNING] 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.

[!TIP]
If you wish to utilize Open WebUI with Ollama included or CUDA acceleration, we recommend utilizing our official images tagged with either :cuda or :ollama. To enable CUDA, you must install the Nvidia CUDA container toolkit on your Linux/WSL system.

Installation with Default Configuration

  • If Ollama is on your computer, use this command:

    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
    
  • If Ollama is on a Different Server, use this command:

To connect to Ollama on another server, change the OLLAMA_BASE_URL to the server's URL:

  docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
  • To run Open WebUI with Nvidia GPU support, use this command:

    docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
    

Installation for OpenAI API Usage Only

  • If you're only using OpenAI API, use this command:

    docker run -d -p 3000:8080 -e OPENAI_API_KEY=your_secret_key -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
    

Installing Open WebUI with Bundled Ollama Support

This installation method uses a single container image that bundles Open WebUI with Ollama, allowing for a streamlined setup via a single command. Choose the appropriate command based on your hardware setup:

  • With GPU Support: Utilize GPU resources by running the following command:

    docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
    
  • For CPU Only: If you're not using a GPU, use this command instead:

    docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
    

Both commands facilitate a built-in, hassle-free installation of both Open WebUI and Ollama, ensuring that you can get everything up and running swiftly.

After installation, you can access Open WebUI at http://localhost:3000. Enjoy! 😄

Other Installation Methods

We offer various installation alternatives, including non-Docker native installation methods, Docker Compose, Kustomize, and Helm. Visit our Open WebUI Documentation or join our Discord community for comprehensive guidance.

Troubleshooting

Encountering connection issues? Our Open WebUI Documentation has got you covered. For further assistance and to join our vibrant community, visit the Open WebUI Discord.

Open WebUI: Server Connection Error

If you're experiencing connection issues, it’s often due to the WebUI docker container not being able to reach the Ollama server at 127.0.0.1:11434 (host.docker.internal:11434) inside the container . Use the --network=host flag in your docker command to resolve this. Note that the port changes from 3000 to 8080, resulting in the link: http://localhost:8080.

Example Docker Command:

docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main

Keeping Your Docker Installation Up-to-Date

In case you want to update your local Docker installation to the latest version, you can do it with Watchtower:

docker run --rm --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once open-webui

In the last part of the command, replace open-webui with your container name if it is different.

Check our Migration Guide available in our Open WebUI Documentation.

Using the Dev Branch 🌙

[!WARNING] The :dev branch contains the latest unstable features and changes. Use it at your own risk as it may have bugs or incomplete features.

If you want to try out the latest bleeding-edge features and are okay with occasional instability, you can use the :dev tag like this:

docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui --add-host=host.docker.internal:host-gateway --restart always ghcr.io/open-webui/open-webui:dev

What's Next? 🌟

Discover upcoming features on our roadmap in the Open WebUI Documentation.

Supporters ✨

A big shoutout to our amazing supporters who's helping to make this project possible! 🙏

Platinum Sponsors 🤍

  • We're looking for Sponsors!

Acknowledgments

Special thanks to Prof. Lawrence Kim and Prof. Nick Vincent for their invaluable support and guidance in shaping this project into a research endeavor. Grateful for your mentorship throughout the journey! 🙌

License 📜

This project is licensed under the MIT License - see the LICENSE file for details. 📄

Support 💬

If you have any questions, suggestions, or need assistance, please open an issue or join our Open WebUI Discord community to connect with us! 🤝

Star History

<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=open-webui/open-webui&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=open-webui/open-webui&type=Date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=open-webui/open-webui&type=Date" />


Created by Timothy J. Baek - Let's make Open WebUI even more amazing together! 💪