# embeddings_queue

created_at: 2024-12-28 04:06:32
topic: persistent://default/default/915b5ffa-30d2-42af-8fef-3406a3752e03
id: 3e7ee4a1-465f-4535-a7c8-f0d1baf22b30
encoding: FLOAT32
metadata:
{"source": "password-reset.mdx", "name": "password-reset.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "ee383f9c-35ac-4c76-abd5-e132700c2c21", "start_index": 921, "hash": "10ba6e98fe78a59f75804f7d941923d509296cc6137dd56a5d2a62400949033f", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Step 2: Update the Password in Docker \ud83d\udd04\n\nNext, you'll update the password in your Docker deployment. Replace `HASH` in the command below with the bcrypt hash generated in Step 1, making sure to triple-escape any `$` characters. Also, replace `admin@example.com` with the email address linked to your admin account.\n\n**Important:** The following command may not work in all cases. If it doesn't work for you, try the alternative command below it.\n\n```bash\ndocker run --rm -v open-webui:/data alpine/socat EXEC:\"bash -c 'apk add sqlite && echo UPDATE auth SET password='\\''HASH'\\'' WHERE email='\\''admin@example.com'\\''; | sqlite3 /data/webui.db'\", STDIO\n```\n\n## For Local Installations \ud83d\udcbb\n\nIf you have a local installation of Open WebUI, here's how you can reset your admin password directly on your system.\n\n### Step 1: Generate a New Password Hash \ud83d\udd10"}


created_at: 2024-12-28 04:06:32
topic: persistent://default/default/915b5ffa-30d2-42af-8fef-3406a3752e03
id: b2b25909-17f2-4a2d-a65a-1490d99ec309
encoding: FLOAT32
metadata:
{"source": "password-reset.mdx", "name": "password-reset.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "ee383f9c-35ac-4c76-abd5-e132700c2c21", "start_index": 1732, "hash": "10ba6e98fe78a59f75804f7d941923d509296cc6137dd56a5d2a62400949033f", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Step 1: Generate a New Password Hash \ud83d\udd10\n\nJust as with the Docker method, start by generating a bcrypt hash of your new password using the following command. Remember to replace `your-new-password` with your new password:\n\n```bash\nhtpasswd -bnBC 10 \"\" your-new-password | tr -d ':\\n'\n```\n\n### Step 2: Update the Password Locally \ud83d\udd04\n\nNow, navigate to the `open-webui` directory on your local machine. Update your password by replacing `HASH` with the bcrypt hash from Step 1 and `admin@example.com` with your admin account email, and execute:\n\n```bash\nsqlite3 backend/data/webui.db \"UPDATE auth SET password='HASH' WHERE email='admin@example.com';\"\n```\n\n---\n\n\ud83d\udcd6 By following these straightforward steps, you'll regain access to your Open WebUI admin account in no time. If you encounter any issues during the process, please consider searching for your issue on forums or community platforms.\n```"}


created_at: 2024-12-28 04:06:33
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 780b03f5-7c27-47c3-a572-bf83f5f8805d
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "ee383f9c-35ac-4c76-abd5-e132700c2c21", "hash": "10ba6e98fe78a59f75804f7d941923d509296cc6137dd56a5d2a62400949033f", "name": "password-reset.mdx", "source": "password-reset.mdx", "start_index": 0, "chroma:document": "---\nsidebar_position: 1\ntitle: \"\ud83d\udd11 Reset Admin Password\"\n---\n\n# Resetting Your Admin Password \ud83d\udddd\ufe0f\n\nIf you've forgotten your admin password, don't worry! Below you'll find step-by-step guides to reset your admin password for Docker \ud83d\udc33 deployments and local installations of Open WebUI.\n\n## For Docker Deployments \ud83d\udc33\n\nFollow these steps to reset the admin password for Open WebUI when deployed using Docker.\n\n### Step 1: Generate a New Password Hash \ud83d\udd10\n\nFirst, you need to create a bcrypt hash of your new password. Run the following command on your local machine, replacing `your-new-password` with the password you wish to use:\n\n```bash\nhtpasswd -bnBC 10 \"\" your-new-password | tr -d ':\\n'\n```\n\n**Note:** The output will include a bcrypt hash with special characters that need to be handled carefully. Any `$` characters in the hash will need to be triple-escaped (replaced with `\\\\\\`) to be used correctly in the next step.\n\n### Step 2: Update the Password in Docker \ud83d\udd04"}


created_at: 2024-12-28 04:06:33
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 7727b0c0-66ed-46e3-97f5-8cf509eb7a3c
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "ee383f9c-35ac-4c76-abd5-e132700c2c21", "hash": "10ba6e98fe78a59f75804f7d941923d509296cc6137dd56a5d2a62400949033f", "name": "password-reset.mdx", "source": "password-reset.mdx", "start_index": 0, "chroma:document": "### Step 2: Update the Password in Docker \ud83d\udd04\n\nNext, you'll update the password in your Docker deployment. Replace `HASH` in the command below with the bcrypt hash generated in Step 1, making sure to triple-escape any `$` characters. Also, replace `admin@example.com` with the email address linked to your admin account.\n\n**Important:** The following command may not work in all cases. If it doesn't work for you, try the alternative command below it.\n\n```bash\ndocker run --rm -v open-webui:/data alpine/socat EXEC:\"bash -c 'apk add sqlite && echo UPDATE auth SET password='\\''HASH'\\'' WHERE email='\\''admin@example.com'\\''; | sqlite3 /data/webui.db'\", STDIO\n```\n\n## For Local Installations \ud83d\udcbb\n\nIf you have a local installation of Open WebUI, here's how you can reset your admin password directly on your system.\n\n### Step 1: Generate a New Password Hash \ud83d\udd10"}


created_at: 2024-12-28 04:06:33
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 09fe3499-ae8d-4271-88d2-1d61e68da042
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "ee383f9c-35ac-4c76-abd5-e132700c2c21", "hash": "10ba6e98fe78a59f75804f7d941923d509296cc6137dd56a5d2a62400949033f", "name": "password-reset.mdx", "source": "password-reset.mdx", "start_index": 0, "chroma:document": "### Step 1: Generate a New Password Hash \ud83d\udd10\n\nJust as with the Docker method, start by generating a bcrypt hash of your new password using the following command. Remember to replace `your-new-password` with your new password:\n\n```bash\nhtpasswd -bnBC 10 \"\" your-new-password | tr -d ':\\n'\n```\n\n### Step 2: Update the Password Locally \ud83d\udd04\n\nNow, navigate to the `open-webui` directory on your local machine. Update your password by replacing `HASH` with the bcrypt hash from Step 1 and `admin@example.com` with your admin account email, and execute:\n\n```bash\nsqlite3 backend/data/webui.db \"UPDATE auth SET password='HASH' WHERE email='admin@example.com';\"\n```\n\n---\n\n\ud83d\udcd6 By following these straightforward steps, you'll regain access to your Open WebUI admin account in no time. If you encounter any issues during the process, please consider searching for your issue on forums or community platforms.\n```"}


created_at: 2024-12-28 04:06:33
topic: persistent://default/default/5e280c66-7b43-48d1-83eb-765049af0a1b
id: df1c2f4d-e740-4409-baca-0d7e038ee2ff
encoding: FLOAT32
metadata:
{"source": "pipes.md", "name": "pipes.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "df2c657c-d33e-44a4-9af0-8a325e71ecd6", "start_index": 0, "hash": "20ab6a5ac6db3daba2d9d299f35cc9fa16cb38c1f4ee8b55c0b922896b262a4c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 2\ntitle: \"\ud83d\udd27 Pipes\"\n---\n\n# Pipes\nPipes are functions that can be used to perform actions prior to returning LLM messages to the user. Examples of potential actions you can take with Pipes are Retrieval Augmented Generation (RAG), sending requests to non-OpenAI LLM providers (such as Anthropic, Azure OpenAI, or Google), or executing functions right in your web UI. Pipes can be hosted as a Function or on a Pipelines server. A list of examples is maintained in the [Pipelines repo](https://github.com/open-webui/pipelines/tree/main/examples/pipelines). The general workflow can be seen in the image below.\n\n<p align=\"center\">\n  <a href=\"#\">\n    <img src=\"/img/pipelines/pipes.png\" alt=\"Pipe Workflow\" />\n  </a>\n</p>\n\nPipes that are defined in your WebUI show up as a new model with an \"External\" designation attached to them. An example of two Pipe models, `Database RAG Pipeline` and `DOOM`, can be seen below next to two self-hosted models:"}


created_at: 2024-12-28 04:06:33
topic: persistent://default/default/5e280c66-7b43-48d1-83eb-765049af0a1b
id: 9f2f34e8-f8ff-4276-a90d-a8423eddefeb
encoding: FLOAT32
metadata:
{"source": "pipes.md", "name": "pipes.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "df2c657c-d33e-44a4-9af0-8a325e71ecd6", "start_index": 966, "hash": "20ab6a5ac6db3daba2d9d299f35cc9fa16cb38c1f4ee8b55c0b922896b262a4c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "<p align=\"center\">\n  <a href=\"#\">\n    <img src=\"/img/pipelines/pipe-model-example.png\" alt=\"Pipe Models in WebUI\" />\n  </a>\n</p>"}


created_at: 2024-12-28 04:06:33
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: ecb93265-f508-4cc9-b5a7-939929de5791
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "df2c657c-d33e-44a4-9af0-8a325e71ecd6", "hash": "20ab6a5ac6db3daba2d9d299f35cc9fa16cb38c1f4ee8b55c0b922896b262a4c", "name": "pipes.md", "source": "pipes.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 2\ntitle: \"\ud83d\udd27 Pipes\"\n---\n\n# Pipes\nPipes are functions that can be used to perform actions prior to returning LLM messages to the user. Examples of potential actions you can take with Pipes are Retrieval Augmented Generation (RAG), sending requests to non-OpenAI LLM providers (such as Anthropic, Azure OpenAI, or Google), or executing functions right in your web UI. Pipes can be hosted as a Function or on a Pipelines server. A list of examples is maintained in the [Pipelines repo](https://github.com/open-webui/pipelines/tree/main/examples/pipelines). The general workflow can be seen in the image below.\n\n<p align=\"center\">\n  <a href=\"#\">\n    <img src=\"/img/pipelines/pipes.png\" alt=\"Pipe Workflow\" />\n  </a>\n</p>\n\nPipes that are defined in your WebUI show up as a new model with an \"External\" designation attached to them. An example of two Pipe models, `Database RAG Pipeline` and `DOOM`, can be seen below next to two self-hosted models:"}


created_at: 2024-12-28 04:06:33
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 645c72e5-7ef3-4a71-bce3-126a575ffe1b
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "df2c657c-d33e-44a4-9af0-8a325e71ecd6", "hash": "20ab6a5ac6db3daba2d9d299f35cc9fa16cb38c1f4ee8b55c0b922896b262a4c", "name": "pipes.md", "source": "pipes.md", "start_index": 0, "chroma:document": "<p align=\"center\">\n  <a href=\"#\">\n    <img src=\"/img/pipelines/pipe-model-example.png\" alt=\"Pipe Models in WebUI\" />\n  </a>\n</p>"}


created_at: 2024-12-28 04:06:33
topic: persistent://default/default/708b2cbd-771a-4841-ba09-4849fb6e98cd
id: 44d7e82b-4713-4a3b-88da-b4b41808f83e
encoding: FLOAT32
metadata:
{"source": "Podman.md", "name": "Podman.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "3cd91075-9ee4-492e-bee2-303b0b756f7c", "start_index": 1, "hash": "65e77529e0120d119927331c3a5b48f3f873344e15d4de346e08523140610426", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "# Using Podman\n\nPodman is a daemonless container engine for developing, managing, and running OCI Containers.\n\n## Basic Commands\n\n- **Run a Container:**\n\n  ```bash\n  podman run -d --name openwebui -p 3000:8080 ghcr.io/open-webui/open-webui:main\n  ```\n\n- **List Running Containers:**\n\n  ```bash\n  podman ps\n  ```\n\n## Networking with Podman\n\nIf networking issues arise, you may need to adjust your network settings:\n\n```bash\n--network=slirp4netns:allow_host_loopback=true\n```\n\nRefer to the Podman [documentation](https://podman.io/) for advanced configurations."}


created_at: 2024-12-28 04:06:33
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 3aaba17a-9f1f-444e-a3ba-62ff9c024e75
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "3cd91075-9ee4-492e-bee2-303b0b756f7c", "hash": "65e77529e0120d119927331c3a5b48f3f873344e15d4de346e08523140610426", "name": "Podman.md", "source": "Podman.md", "start_index": 0, "chroma:document": "# Using Podman\n\nPodman is a daemonless container engine for developing, managing, and running OCI Containers.\n\n## Basic Commands\n\n- **Run a Container:**\n\n  ```bash\n  podman run -d --name openwebui -p 3000:8080 ghcr.io/open-webui/open-webui:main\n  ```\n\n- **List Running Containers:**\n\n  ```bash\n  podman ps\n  ```\n\n## Networking with Podman\n\nIf networking issues arise, you may need to adjust your network settings:\n\n```bash\n--network=slirp4netns:allow_host_loopback=true\n```\n\nRefer to the Podman [documentation](https://podman.io/) for advanced configurations."}


created_at: 2024-12-28 04:06:33
topic: persistent://default/default/c855fb73-a0d3-4b05-9da8-9a91e0616856
id: 6354e94b-4b8a-40f8-901c-72a473329e14
encoding: FLOAT32
metadata:
{"source": "prompts.md", "name": "prompts.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "2b3b623f-eec8-4594-9c94-fe3c7a1c084c", "start_index": 0, "hash": "443dcceefd5183c21ed971bf834f07bab2aaca84ee1838d5f1240eecc1a3b927", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 2\ntitle: \"\ud83d\udcda Prompts\"\n---\n\nCOMING SOON!"}


created_at: 2024-12-28 04:06:33
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 372050c8-e85d-40bf-bbcf-ce6d655c18f4
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "2b3b623f-eec8-4594-9c94-fe3c7a1c084c", "hash": "443dcceefd5183c21ed971bf834f07bab2aaca84ee1838d5f1240eecc1a3b927", "name": "prompts.md", "source": "prompts.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 2\ntitle: \"\ud83d\udcda Prompts\"\n---\n\nCOMING SOON!"}


created_at: 2024-12-28 04:06:33
topic: persistent://default/default/da290d54-0dc0-47ae-a97c-29e83892b50c
id: 5cd5fd79-bd81-4617-8fec-67e7e1ac4e46
encoding: FLOAT32
metadata:
{"source": "providing-access.md", "name": "providing-access.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5d7f1e2e-4d2b-4cde-bdd5-b577b97319eb", "start_index": 0, "hash": "596e23a440c7dc61ce0e5565b737109b3ce69e7b60997eea2089fda19aa7e092", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 2\ntitle: \"\u2705 Provide User Group Access\"\n---\n\nCOMING SOON!"}


created_at: 2024-12-28 04:06:33
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 9913b34f-d17d-43e4-8749-ddc529ca1ee2
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5d7f1e2e-4d2b-4cde-bdd5-b577b97319eb", "hash": "596e23a440c7dc61ce0e5565b737109b3ce69e7b60997eea2089fda19aa7e092", "name": "providing-access.md", "source": "providing-access.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 2\ntitle: \"\u2705 Provide User Group Access\"\n---\n\nCOMING SOON!"}


created_at: 2024-12-28 04:06:33
topic: persistent://default/default/a6629d14-bfaa-4a63-b2d5-540cec2328a2
id: bac4c71e-c855-4e21-a270-4169bcb68ab7
encoding: FLOAT32
metadata:
{"source": "PWA.md", "name": "PWA.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b541ec68-4834-4b52-94ba-73f23fe12bae", "start_index": 0, "hash": "fb1c632d5095557b750e5415996dea7ece36de58abb10da40626cc99973443a5", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 18\ntitle: \"\ud83d\udcf1 Progressive Web App\"\n---\n\nCOMING SOON!\n\n\ud83d\udcf1 Progressive Web App for Mobile: Enjoy a native progressive web application experience on your mobile device with offline access on localhost or a personal domain, and a smooth user interface. In order for our PWA to be installable on your device, it must be delivered in a secure context. This usually means that it must be served over HTTPS.\n\n    To set up a PWA, you'll need some understanding of technologies like Linux, Docker, and reverse proxies such as Nginx, Caddy, or Traefik. Using these tools can help streamline the process of building and deploying a PWA tailored to your needs. While there's no \"one-click install\" option available, and your available option to securely deploy your Open WebUI instance over HTTPS requires user experience, using these resources can make it easier to create and deploy a PWA tailored to your needs."}


created_at: 2024-12-28 04:06:33
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: f2a63944-6d3c-4652-97b4-1c068950c2fc
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b541ec68-4834-4b52-94ba-73f23fe12bae", "hash": "fb1c632d5095557b750e5415996dea7ece36de58abb10da40626cc99973443a5", "name": "PWA.md", "source": "PWA.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 18\ntitle: \"\ud83d\udcf1 Progressive Web App\"\n---\n\nCOMING SOON!\n\n\ud83d\udcf1 Progressive Web App for Mobile: Enjoy a native progressive web application experience on your mobile device with offline access on localhost or a personal domain, and a smooth user interface. In order for our PWA to be installable on your device, it must be delivered in a secure context. This usually means that it must be served over HTTPS.\n\n    To set up a PWA, you'll need some understanding of technologies like Linux, Docker, and reverse proxies such as Nginx, Caddy, or Traefik. Using these tools can help streamline the process of building and deploying a PWA tailored to your needs. While there's no \"one-click install\" option available, and your available option to securely deploy your Open WebUI instance over HTTPS requires user experience, using these resources can make it easier to create and deploy a PWA tailored to your needs."}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/5c83ff63-35e3-4dd1-a9e3-c75857daf104
id: 1cc1daf0-d387-4175-b526-d910f9215810
encoding: FLOAT32
metadata:
{"source": "python.md", "name": "python.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "0264e6f3-b2c6-44df-9ee4-f800f1bc24f3", "start_index": 0, "hash": "a9bb208af21601df5b0ea8e34f77c1bc8fcb360dc2f9c273a6d65412d1a54cde", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 2\ntitle: \"\ud83d\udc0d Python Code Execution\"\n---\n\n# \ud83d\udc0d Python Code Execution\n\n## Overview\n\nOpen WebUI allows for the client-side execution of Python code in the browser, utilizing Pyodide to run scripts within a code block in a chat. This feature enables Large Language Models (LLMs) to generate Python scripts that can be executed directly in the browser, leveraging a range of libraries supported by Pyodide.\n\nTo maintain user privacy and flexibility, Open WebUI mirrors PyPI packages, avoiding direct external network requests. This approach also enables the use of Pyodide in environments without internet access.\n\nThe Open WebUI frontend includes a self-contained WASM (WebAssembly) Python environment, powered by Pyodide, which can execute basic Python scripts generated by LLMs. This environment is designed for ease of use, requiring no additional setup or installation.\n\n## Supported Libraries"}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/5c83ff63-35e3-4dd1-a9e3-c75857daf104
id: c564d9d2-0271-4962-8833-3fc4aa5b11ad
encoding: FLOAT32
metadata:
{"source": "python.md", "name": "python.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "0264e6f3-b2c6-44df-9ee4-f800f1bc24f3", "start_index": 891, "hash": "a9bb208af21601df5b0ea8e34f77c1bc8fcb360dc2f9c273a6d65412d1a54cde", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## Supported Libraries\n\nPyodide code execution is configured to load only packages configured in scripts/prepare-pyodide.js and then added to \"CodeBlock.svelte\". The following Pyodide packages are currently supported in Open WebUI:\n\n* micropip\n* packaging\n* requests\n* beautifulsoup4\n* numpy\n* pandas\n* matplotlib\n* scikit-learn\n* scipy\n* regex\n\nThese libraries can be used to perform various tasks, such as data manipulation, machine learning, and web scraping. If the package you're wanting to run is not compiled inside of the Pyodide we ship with Open WebUIm, the package will not be able to be used.\n\n## Invoking Python Code Execution"}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/5c83ff63-35e3-4dd1-a9e3-c75857daf104
id: f5490b6a-9d44-4f56-88ab-1b466588d891
encoding: FLOAT32
metadata:
{"source": "python.md", "name": "python.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "0264e6f3-b2c6-44df-9ee4-f800f1bc24f3", "start_index": 1497, "hash": "a9bb208af21601df5b0ea8e34f77c1bc8fcb360dc2f9c273a6d65412d1a54cde", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## Invoking Python Code Execution\n\nTo execute Python code, ask an LLM within a chat to write a Python script for you. Once the LLM has generated the code, a `Run` button will appear at the top right-hand side of the code block. Clicking this button will execute the code using Pyodide. To display the result at the bottom of a code block, ensure there is at least a single print statement within the code to display a result.\n\n## Tips for Using Python Code Execution\n\n* When writing Python code, keep in mind that the code would be running in a Pyodide environment when executed. You can inform the LLM of this by mentioning \"Pyodide environment\" when asking for code.\n* Research the Pyodide documentation to understand the capabilities and limitations of the environment.\n* Experiment with different libraries and scripts to explore the possibilities of Python code execution in Open WebUI.\n\n## Pyodide Documentation\n\n* [Pyodide Documentation](https://pyodide.org/en/stable/)\n\n## Code Example"}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/5c83ff63-35e3-4dd1-a9e3-c75857daf104
id: 2499c941-dc55-4784-8b49-6d27f19d5c39
encoding: FLOAT32
metadata:
{"source": "python.md", "name": "python.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "0264e6f3-b2c6-44df-9ee4-f800f1bc24f3", "start_index": 2416, "hash": "a9bb208af21601df5b0ea8e34f77c1bc8fcb360dc2f9c273a6d65412d1a54cde", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "* [Pyodide Documentation](https://pyodide.org/en/stable/)\n\n## Code Example\n\nHere is an example of a simple Python script that can be executed using Pyodide:\n\n```python\nimport pandas as pd\n\n# Create a sample DataFrame\ndata = {'Name': ['John', 'Anna', 'Peter'], \n        'Age': [28, 24, 35]}\ndf = pd.DataFrame(data)\n\n# Print the DataFrame\nprint(df)\n```\n\nThis script will create a sample DataFrame using pandas and print it below the code block within your chat.\n\n## Extending the List of Supported Libraries\n\nWant to push the boundaries of what's possible? To extend the list of supported libraries, follow these steps:\n\n1. **Fork the Pyodide repository** to create your own version.\n2. **Choose new packages** from the existing list of packages within Pyodide or explore high-quality packages that Open WebUI currently lacks.\n3. **Integrate the new packages** into your forked repository to unlock even more possibilities."}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 5e54b051-0dcf-411d-9e83-8eb38e814fe5
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "0264e6f3-b2c6-44df-9ee4-f800f1bc24f3", "hash": "a9bb208af21601df5b0ea8e34f77c1bc8fcb360dc2f9c273a6d65412d1a54cde", "name": "python.md", "source": "python.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 2\ntitle: \"\ud83d\udc0d Python Code Execution\"\n---\n\n# \ud83d\udc0d Python Code Execution\n\n## Overview\n\nOpen WebUI allows for the client-side execution of Python code in the browser, utilizing Pyodide to run scripts within a code block in a chat. This feature enables Large Language Models (LLMs) to generate Python scripts that can be executed directly in the browser, leveraging a range of libraries supported by Pyodide.\n\nTo maintain user privacy and flexibility, Open WebUI mirrors PyPI packages, avoiding direct external network requests. This approach also enables the use of Pyodide in environments without internet access.\n\nThe Open WebUI frontend includes a self-contained WASM (WebAssembly) Python environment, powered by Pyodide, which can execute basic Python scripts generated by LLMs. This environment is designed for ease of use, requiring no additional setup or installation.\n\n## Supported Libraries"}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 4e057e50-b894-4e2a-bab5-5a6c383fbf0d
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "0264e6f3-b2c6-44df-9ee4-f800f1bc24f3", "hash": "a9bb208af21601df5b0ea8e34f77c1bc8fcb360dc2f9c273a6d65412d1a54cde", "name": "python.md", "source": "python.md", "start_index": 0, "chroma:document": "## Supported Libraries\n\nPyodide code execution is configured to load only packages configured in scripts/prepare-pyodide.js and then added to \"CodeBlock.svelte\". The following Pyodide packages are currently supported in Open WebUI:\n\n* micropip\n* packaging\n* requests\n* beautifulsoup4\n* numpy\n* pandas\n* matplotlib\n* scikit-learn\n* scipy\n* regex\n\nThese libraries can be used to perform various tasks, such as data manipulation, machine learning, and web scraping. If the package you're wanting to run is not compiled inside of the Pyodide we ship with Open WebUIm, the package will not be able to be used.\n\n## Invoking Python Code Execution"}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 364324af-dc25-48a0-a0fa-82c798bcc0ee
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "0264e6f3-b2c6-44df-9ee4-f800f1bc24f3", "hash": "a9bb208af21601df5b0ea8e34f77c1bc8fcb360dc2f9c273a6d65412d1a54cde", "name": "python.md", "source": "python.md", "start_index": 0, "chroma:document": "## Invoking Python Code Execution\n\nTo execute Python code, ask an LLM within a chat to write a Python script for you. Once the LLM has generated the code, a `Run` button will appear at the top right-hand side of the code block. Clicking this button will execute the code using Pyodide. To display the result at the bottom of a code block, ensure there is at least a single print statement within the code to display a result.\n\n## Tips for Using Python Code Execution\n\n* When writing Python code, keep in mind that the code would be running in a Pyodide environment when executed. You can inform the LLM of this by mentioning \"Pyodide environment\" when asking for code.\n* Research the Pyodide documentation to understand the capabilities and limitations of the environment.\n* Experiment with different libraries and scripts to explore the possibilities of Python code execution in Open WebUI.\n\n## Pyodide Documentation\n\n* [Pyodide Documentation](https://pyodide.org/en/stable/)\n\n## Code Example"}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 685aab98-c3f4-4ca1-953e-0b07d239c7a6
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "0264e6f3-b2c6-44df-9ee4-f800f1bc24f3", "hash": "a9bb208af21601df5b0ea8e34f77c1bc8fcb360dc2f9c273a6d65412d1a54cde", "name": "python.md", "source": "python.md", "start_index": 0, "chroma:document": "* [Pyodide Documentation](https://pyodide.org/en/stable/)\n\n## Code Example\n\nHere is an example of a simple Python script that can be executed using Pyodide:\n\n```python\nimport pandas as pd\n\n# Create a sample DataFrame\ndata = {'Name': ['John', 'Anna', 'Peter'], \n        'Age': [28, 24, 35]}\ndf = pd.DataFrame(data)\n\n# Print the DataFrame\nprint(df)\n```\n\nThis script will create a sample DataFrame using pandas and print it below the code block within your chat.\n\n## Extending the List of Supported Libraries\n\nWant to push the boundaries of what's possible? To extend the list of supported libraries, follow these steps:\n\n1. **Fork the Pyodide repository** to create your own version.\n2. **Choose new packages** from the existing list of packages within Pyodide or explore high-quality packages that Open WebUI currently lacks.\n3. **Integrate the new packages** into your forked repository to unlock even more possibilities."}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/08679d36-c365-43d3-9e80-a7b3d126c188
id: 155e8465-4a1b-4642-b85f-04551e84e9f6
encoding: FLOAT32
metadata:
{"source": "PythonUpdating.md", "name": "PythonUpdating.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "af4a5e33-32aa-41dd-b5a9-ac2e0faa0449", "start_index": 0, "hash": "f5654f3592a10c6115b208d1df135307dee934f23ce5c40c557a3c85e5ee22d8", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "# Updating with Python\n\nTo update your locally installed **Open-WebUI** package to the latest version using `pip`, follow these simple steps:\n\n```bash\npip install -U open-webui\n```\n\nThe `-U` (or `--upgrade`) flag ensures that `pip` upgrades the package to the latest available version.\n\nThat's it! Your **Open-WebUI** package is now updated and ready to use."}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: bb5b6db5-a6ad-47c5-93e4-3fff01b83c32
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "af4a5e33-32aa-41dd-b5a9-ac2e0faa0449", "hash": "f5654f3592a10c6115b208d1df135307dee934f23ce5c40c557a3c85e5ee22d8", "name": "PythonUpdating.md", "source": "PythonUpdating.md", "start_index": 0, "chroma:document": "# Updating with Python\n\nTo update your locally installed **Open-WebUI** package to the latest version using `pip`, follow these simple steps:\n\n```bash\npip install -U open-webui\n```\n\nThe `-U` (or `--upgrade`) flag ensures that `pip` upgrades the package to the latest available version.\n\nThat's it! Your **Open-WebUI** package is now updated and ready to use."}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/568c6d0d-7286-4fd0-8e8b-bc094c27c0c4
id: 4f46796d-47b7-4ce7-be4d-3a1669e9bfdf
encoding: FLOAT32
metadata:
{"source": "rag.md", "name": "rag.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b10fe739-2631-4a94-bd46-742c74b64613", "start_index": 0, "hash": "da434fa62c78a62a0f5de7e7d64456f64ab5c0026c157adce637f4cdb103ebaa", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 11\ntitle: \"\ud83d\udd0e Retrieval Augmented Generation (RAG)\"\n---\n\nRetrieval Augmented Generation (RAG) is a cutting-edge technology that enhances the conversational capabilities of chatbots by incorporating context from diverse sources. It works by retrieving relevant information from a wide range of sources such as local and remote documents, web content, and even multimedia sources like YouTube videos. The retrieved text is then combined with a predefined RAG template and prefixed to the user's prompt, providing a more informed and contextually relevant response."}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/568c6d0d-7286-4fd0-8e8b-bc094c27c0c4
id: 1c55f42d-3479-4aef-8d4d-df5a919d5814
encoding: FLOAT32
metadata:
{"source": "rag.md", "name": "rag.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b10fe739-2631-4a94-bd46-742c74b64613", "start_index": 585, "hash": "da434fa62c78a62a0f5de7e7d64456f64ab5c0026c157adce637f4cdb103ebaa", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "One of the key advantages of RAG is its ability to access and integrate information from a variety of sources, making it an ideal solution for complex conversational scenarios. For instance, when a user asks a question related to a specific document or web page, RAG can retrieve and incorporate the relevant information from that source into the chat response. RAG can also retrieve and incorporate information from multimedia sources like YouTube videos. By analyzing the transcripts or captions of these videos, RAG can extract relevant information and incorporate it into the chat response.\n\n## Local and Remote RAG Integration\n\nLocal documents must first be uploaded via the Documents section of the Workspace area to access them using the `#` symbol before a query. Click on the formatted URL in the that appears above the chat box. Once selected, a document icon appears above `Send a message`, indicating successful retrieval."}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/568c6d0d-7286-4fd0-8e8b-bc094c27c0c4
id: 8c3acc82-faef-4e4c-97bf-7a9dfe149568
encoding: FLOAT32
metadata:
{"source": "rag.md", "name": "rag.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b10fe739-2631-4a94-bd46-742c74b64613", "start_index": 1521, "hash": "da434fa62c78a62a0f5de7e7d64456f64ab5c0026c157adce637f4cdb103ebaa", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "You can also load documents into the workspace area with their access by starting a prompt with `#`, followed by a URL. This can help incorporate web content directly into your conversations.\n\n## Web Search for RAG\n\nFor web content integration, start a query in a chat with `#`, followed by the target URL. Click on the formatted URL in the box that appears above the chat box. Once selected, a document icon appears above `Send a message`, indicating successful retrieval. Open WebUI fetches and parses information from the URL if it can.\n\n:::tip\nWeb pages often contain extraneous information such as navigation and footer. For better results, link to a raw or reader-friendly version of the page.\n:::\n\n## RAG Template Customization\n\nCustomize the RAG template from the `Admin Panel` > `Settings` > `Documents` menu.\n\n## RAG Embedding Support"}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/568c6d0d-7286-4fd0-8e8b-bc094c27c0c4
id: b8815ea3-deb9-45dc-b2fd-4d375dcbfacd
encoding: FLOAT32
metadata:
{"source": "rag.md", "name": "rag.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b10fe739-2631-4a94-bd46-742c74b64613", "start_index": 2341, "hash": "da434fa62c78a62a0f5de7e7d64456f64ab5c0026c157adce637f4cdb103ebaa", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## RAG Embedding Support\n\nChange the RAG embedding model directly in the `Admin Panel` > `Settings` > `Documents` menu. This feature supports Ollama and OpenAI models, enabling you to enhance document processing according to your requirements.\n\n## Citations in RAG Feature\n\nThe RAG feature allows users to easily track the context of documents fed to LLMs with added citations for reference points. This ensures transparency and accountability in the use of external sources within your chats.\n\n## Enhanced RAG Pipeline\n\nThe togglable hybrid search sub-feature for our RAG embedding feature enhances RAG functionality via `BM25`, with re-ranking powered by `CrossEncoder`, and configurable relevance score thresholds. This provides a more precise and tailored RAG experience for your specific use case.\n\n## YouTube RAG Pipeline"}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/568c6d0d-7286-4fd0-8e8b-bc094c27c0c4
id: 1bf75f51-8507-4881-9ccd-9bcf16c862b1
encoding: FLOAT32
metadata:
{"source": "rag.md", "name": "rag.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b10fe739-2631-4a94-bd46-742c74b64613", "start_index": 3145, "hash": "da434fa62c78a62a0f5de7e7d64456f64ab5c0026c157adce637f4cdb103ebaa", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## YouTube RAG Pipeline\n\nThe dedicated RAG pipeline for summarizing YouTube videos via video URLs enables smooth interaction with video transcriptions directly. This innovative feature allows you to incorporate video content into your chats, further enriching your conversation experience.\n\n## Document Parsing\n\nA variety of parsers extract content from local and remote documents. For more, see the [`get_loader`](https://github.com/open-webui/open-webui/blob/2fa94956f4e500bf5c42263124c758d8613ee05e/backend/apps/rag/main.py#L328) function."}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 97fd203e-b978-459a-85a0-66a46c5df919
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b10fe739-2631-4a94-bd46-742c74b64613", "hash": "da434fa62c78a62a0f5de7e7d64456f64ab5c0026c157adce637f4cdb103ebaa", "name": "rag.md", "source": "rag.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 11\ntitle: \"\ud83d\udd0e Retrieval Augmented Generation (RAG)\"\n---\n\nRetrieval Augmented Generation (RAG) is a cutting-edge technology that enhances the conversational capabilities of chatbots by incorporating context from diverse sources. It works by retrieving relevant information from a wide range of sources such as local and remote documents, web content, and even multimedia sources like YouTube videos. The retrieved text is then combined with a predefined RAG template and prefixed to the user's prompt, providing a more informed and contextually relevant response."}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 7c5d3309-74cd-460d-9622-1191d9f08522
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b10fe739-2631-4a94-bd46-742c74b64613", "hash": "da434fa62c78a62a0f5de7e7d64456f64ab5c0026c157adce637f4cdb103ebaa", "name": "rag.md", "source": "rag.md", "start_index": 0, "chroma:document": "One of the key advantages of RAG is its ability to access and integrate information from a variety of sources, making it an ideal solution for complex conversational scenarios. For instance, when a user asks a question related to a specific document or web page, RAG can retrieve and incorporate the relevant information from that source into the chat response. RAG can also retrieve and incorporate information from multimedia sources like YouTube videos. By analyzing the transcripts or captions of these videos, RAG can extract relevant information and incorporate it into the chat response.\n\n## Local and Remote RAG Integration\n\nLocal documents must first be uploaded via the Documents section of the Workspace area to access them using the `#` symbol before a query. Click on the formatted URL in the that appears above the chat box. Once selected, a document icon appears above `Send a message`, indicating successful retrieval."}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 368d6ee3-efb1-425f-8f26-7668ae6eb9d2
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b10fe739-2631-4a94-bd46-742c74b64613", "hash": "da434fa62c78a62a0f5de7e7d64456f64ab5c0026c157adce637f4cdb103ebaa", "name": "rag.md", "source": "rag.md", "start_index": 0, "chroma:document": "You can also load documents into the workspace area with their access by starting a prompt with `#`, followed by a URL. This can help incorporate web content directly into your conversations.\n\n## Web Search for RAG\n\nFor web content integration, start a query in a chat with `#`, followed by the target URL. Click on the formatted URL in the box that appears above the chat box. Once selected, a document icon appears above `Send a message`, indicating successful retrieval. Open WebUI fetches and parses information from the URL if it can.\n\n:::tip\nWeb pages often contain extraneous information such as navigation and footer. For better results, link to a raw or reader-friendly version of the page.\n:::\n\n## RAG Template Customization\n\nCustomize the RAG template from the `Admin Panel` > `Settings` > `Documents` menu.\n\n## RAG Embedding Support"}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 51b4f608-98ce-43fb-ae88-d40811040ba8
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b10fe739-2631-4a94-bd46-742c74b64613", "hash": "da434fa62c78a62a0f5de7e7d64456f64ab5c0026c157adce637f4cdb103ebaa", "name": "rag.md", "source": "rag.md", "start_index": 0, "chroma:document": "## RAG Embedding Support\n\nChange the RAG embedding model directly in the `Admin Panel` > `Settings` > `Documents` menu. This feature supports Ollama and OpenAI models, enabling you to enhance document processing according to your requirements.\n\n## Citations in RAG Feature\n\nThe RAG feature allows users to easily track the context of documents fed to LLMs with added citations for reference points. This ensures transparency and accountability in the use of external sources within your chats.\n\n## Enhanced RAG Pipeline\n\nThe togglable hybrid search sub-feature for our RAG embedding feature enhances RAG functionality via `BM25`, with re-ranking powered by `CrossEncoder`, and configurable relevance score thresholds. This provides a more precise and tailored RAG experience for your specific use case.\n\n## YouTube RAG Pipeline"}


created_at: 2024-12-28 04:06:34
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 74403034-16eb-445a-9dd8-3ea387799c0b
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b10fe739-2631-4a94-bd46-742c74b64613", "hash": "da434fa62c78a62a0f5de7e7d64456f64ab5c0026c157adce637f4cdb103ebaa", "name": "rag.md", "source": "rag.md", "start_index": 0, "chroma:document": "## YouTube RAG Pipeline\n\nThe dedicated RAG pipeline for summarizing YouTube videos via video URLs enables smooth interaction with video transcriptions directly. This innovative feature allows you to incorporate video content into your chats, further enriching your conversation experience.\n\n## Document Parsing\n\nA variety of parsers extract content from local and remote documents. For more, see the [`get_loader`](https://github.com/open-webui/open-webui/blob/2fa94956f4e500bf5c42263124c758d8613ee05e/backend/apps/rag/main.py#L328) function."}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/59945aaf-00f4-45d2-90c3-77ef37a5f10e
id: eb2a88a8-00ec-4baf-b2a6-e5b4540e620a
encoding: FLOAT32
metadata:
{"source": "rag-tutorial.md", "name": "rag-tutorial.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b6d3b787-55e8-43db-be0f-1185481cd22a", "start_index": 0, "hash": "5307efd96ca3170bbebeb57f29b4c808eb0c0f01da9371cbf9d15e1c629afe19", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 3\ntitle: \"\ud83d\udd0e Open WebUI RAG Tutorial\"\n---\n\n:::warning\nThis tutorial is a community contribution and is not supported by the OpenWebUI team. It serves only as a demonstration on how to customize OpenWebUI for your specific use case. Want to contribute? Check out the contributing tutorial.\n:::\n\n# Tutorial: Configuring RAG with OpenWebUI Documentation\n\nIn this tutorial, you will learn how to use **Retrieval-Augmented Generation (RAG)** with OpenWebUI to load real-world documentation as a knowledge base. We will walk through how to use the latest **OpenWebUI Documentation** as an example for this setup.\n\n---\n\n## Overview\n\n### What is RAG?\n\nRetrieval-Augmented Generation (RAG) combines **LLMs** with **retrieved knowledge** from external sources. The system retrieves relevant data from uploaded documents or knowledge bases, enhancing the quality and accuracy of responses.\n\nThis tutorial demonstrates how to:"}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/59945aaf-00f4-45d2-90c3-77ef37a5f10e
id: 96ca2103-ae90-43a7-bd3f-fe64c61d4c82
encoding: FLOAT32
metadata:
{"source": "rag-tutorial.md", "name": "rag-tutorial.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b6d3b787-55e8-43db-be0f-1185481cd22a", "start_index": 901, "hash": "5307efd96ca3170bbebeb57f29b4c808eb0c0f01da9371cbf9d15e1c629afe19", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "This tutorial demonstrates how to:\n\n- Upload the latest OpenWebUI Documentation as a knowledge base.\n- Connect it to a custom model.\n- Query the knowledge base for enhanced assistance.\n\n---\n\n## Setup\n\n### Step-by-Step Setup: OpenWebUI Documentation as Knowledge Base\n\nFollow these steps to set up RAG with **OpenWebUI Documentation**:\n\n1. **Download the Documentation**:\n   - Download the latest documentation:\n     [https://github.com/open-webui/docs/archive/refs/heads/main.zip](https://github.com/open-webui/docs/archive/refs/heads/main.zip)\n\n2. **Extract the Files**:\n   - Extract the `main.zip` file to get all documentation files.\n\n3. **Locate the Markdown Files**:\n   - In the extracted folder, locate all files with `.md` and `.mdx`extensions (tip: search for `*.md*`).\n\n4. **Create a Knowledge Base**:\n   - Navigate to **Workspace** > **Knowledge** > **+ Create a Knowledge Base**.\n   - Name it: `OpenWebUI Documentation`\n   - Purpose: **Assistance**\n\n   > Click **Create Knowledge**."}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/59945aaf-00f4-45d2-90c3-77ef37a5f10e
id: 11ec225e-c440-4928-a343-24f7e8fbe1af
encoding: FLOAT32
metadata:
{"source": "rag-tutorial.md", "name": "rag-tutorial.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b6d3b787-55e8-43db-be0f-1185481cd22a", "start_index": 1865, "hash": "5307efd96ca3170bbebeb57f29b4c808eb0c0f01da9371cbf9d15e1c629afe19", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "> Click **Create Knowledge**.\n\n5. **Upload the Files**:\n   - Drag and drop the `.md` and `.mdx` files from the extracted folder into the **OpenWebUI Documentation** knowledge base.\n\n---\n\n## Create and Configure the Model\n\n### Create a Custom Model with the Knowledge Base\n\n1. **Navigate to Models**:\n   - Go to **Workspace** > **Models** > **+ Add New Model**.\n\n2. **Configure the Model**:\n   - **Name**: `OpenWebUI`\n   - **Base Model**: *(Select the appropriate Llama or other available model)*\n   - **Knowledge Source**: Select **OpenWebUI Documentation** from the dropdown.\n\n3. **Save the Model**.\n\n---\n\n## Examples and Usage\n\n### Query the OpenWebUI Documentation Model\n\n1. **Start a New Chat**:\n   - Navigate to **New Chat** and select the `OpenWebUI` model.\n\n2. **Example Queries**:\n\n   ```\n   User: \"How do I configure environment variables?\"\n   System: \"Refer to Section 3.2: Use the `.env` file to manage configurations.\"\n   ```"}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/59945aaf-00f4-45d2-90c3-77ef37a5f10e
id: 17726130-ca6a-4e88-8b77-6c36922dd9a6
encoding: FLOAT32
metadata:
{"source": "rag-tutorial.md", "name": "rag-tutorial.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b6d3b787-55e8-43db-be0f-1185481cd22a", "start_index": 2807, "hash": "5307efd96ca3170bbebeb57f29b4c808eb0c0f01da9371cbf9d15e1c629afe19", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "```\n   User: \"How do I update OpenWebUI using Docker?\"\n   System: \"Refer to `docker/updating.md`: Use `docker pull` and restart the container.\"\n   ```\n\n   With the RAG-enabled model, the system retrieves the most relevant sections from the documentation to answer your query.\n\n---\n\n## Next Steps\n\n### Next Steps\n\n- **Add More Knowledge**: Continue expanding your knowledge base by adding more documents.\n\n---\n\nWith this setup, you can effectively use the **OpenWebUI Documentation** to assist users by retrieving relevant information for their queries. Enjoy building and querying your custom knowledge-enhanced models!"}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: a0a0389e-d7e2-4f4f-b897-239fa812646a
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b6d3b787-55e8-43db-be0f-1185481cd22a", "hash": "5307efd96ca3170bbebeb57f29b4c808eb0c0f01da9371cbf9d15e1c629afe19", "name": "rag-tutorial.md", "source": "rag-tutorial.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 3\ntitle: \"\ud83d\udd0e Open WebUI RAG Tutorial\"\n---\n\n:::warning\nThis tutorial is a community contribution and is not supported by the OpenWebUI team. It serves only as a demonstration on how to customize OpenWebUI for your specific use case. Want to contribute? Check out the contributing tutorial.\n:::\n\n# Tutorial: Configuring RAG with OpenWebUI Documentation\n\nIn this tutorial, you will learn how to use **Retrieval-Augmented Generation (RAG)** with OpenWebUI to load real-world documentation as a knowledge base. We will walk through how to use the latest **OpenWebUI Documentation** as an example for this setup.\n\n---\n\n## Overview\n\n### What is RAG?\n\nRetrieval-Augmented Generation (RAG) combines **LLMs** with **retrieved knowledge** from external sources. The system retrieves relevant data from uploaded documents or knowledge bases, enhancing the quality and accuracy of responses.\n\nThis tutorial demonstrates how to:"}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: c1449213-1c3d-4c42-b597-abda710e3bad
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b6d3b787-55e8-43db-be0f-1185481cd22a", "hash": "5307efd96ca3170bbebeb57f29b4c808eb0c0f01da9371cbf9d15e1c629afe19", "name": "rag-tutorial.md", "source": "rag-tutorial.md", "start_index": 0, "chroma:document": "This tutorial demonstrates how to:\n\n- Upload the latest OpenWebUI Documentation as a knowledge base.\n- Connect it to a custom model.\n- Query the knowledge base for enhanced assistance.\n\n---\n\n## Setup\n\n### Step-by-Step Setup: OpenWebUI Documentation as Knowledge Base\n\nFollow these steps to set up RAG with **OpenWebUI Documentation**:\n\n1. **Download the Documentation**:\n   - Download the latest documentation:\n     [https://github.com/open-webui/docs/archive/refs/heads/main.zip](https://github.com/open-webui/docs/archive/refs/heads/main.zip)\n\n2. **Extract the Files**:\n   - Extract the `main.zip` file to get all documentation files.\n\n3. **Locate the Markdown Files**:\n   - In the extracted folder, locate all files with `.md` and `.mdx`extensions (tip: search for `*.md*`).\n\n4. **Create a Knowledge Base**:\n   - Navigate to **Workspace** > **Knowledge** > **+ Create a Knowledge Base**.\n   - Name it: `OpenWebUI Documentation`\n   - Purpose: **Assistance**\n\n   > Click **Create Knowledge**."}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: ecd43e3e-b242-46b1-8411-761c49821d3d
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b6d3b787-55e8-43db-be0f-1185481cd22a", "hash": "5307efd96ca3170bbebeb57f29b4c808eb0c0f01da9371cbf9d15e1c629afe19", "name": "rag-tutorial.md", "source": "rag-tutorial.md", "start_index": 0, "chroma:document": "> Click **Create Knowledge**.\n\n5. **Upload the Files**:\n   - Drag and drop the `.md` and `.mdx` files from the extracted folder into the **OpenWebUI Documentation** knowledge base.\n\n---\n\n## Create and Configure the Model\n\n### Create a Custom Model with the Knowledge Base\n\n1. **Navigate to Models**:\n   - Go to **Workspace** > **Models** > **+ Add New Model**.\n\n2. **Configure the Model**:\n   - **Name**: `OpenWebUI`\n   - **Base Model**: *(Select the appropriate Llama or other available model)*\n   - **Knowledge Source**: Select **OpenWebUI Documentation** from the dropdown.\n\n3. **Save the Model**.\n\n---\n\n## Examples and Usage\n\n### Query the OpenWebUI Documentation Model\n\n1. **Start a New Chat**:\n   - Navigate to **New Chat** and select the `OpenWebUI` model.\n\n2. **Example Queries**:\n\n   ```\n   User: \"How do I configure environment variables?\"\n   System: \"Refer to Section 3.2: Use the `.env` file to manage configurations.\"\n   ```"}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 8961c535-a24b-4469-948b-e9e1ca92a85d
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b6d3b787-55e8-43db-be0f-1185481cd22a", "hash": "5307efd96ca3170bbebeb57f29b4c808eb0c0f01da9371cbf9d15e1c629afe19", "name": "rag-tutorial.md", "source": "rag-tutorial.md", "start_index": 0, "chroma:document": "```\n   User: \"How do I update OpenWebUI using Docker?\"\n   System: \"Refer to `docker/updating.md`: Use `docker pull` and restart the container.\"\n   ```\n\n   With the RAG-enabled model, the system retrieves the most relevant sections from the documentation to answer your query.\n\n---\n\n## Next Steps\n\n### Next Steps\n\n- **Add More Knowledge**: Continue expanding your knowledge base by adding more documents.\n\n---\n\nWith this setup, you can effectively use the **OpenWebUI Documentation** to assist users by retrieving relevant information for their queries. Enjoy building and querying your custom knowledge-enhanced models!"}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/15bd277a-1721-48a8-8101-4290f27a82df
id: 4b99f3f0-9c6e-4e8a-8da8-d931257342c9
encoding: FLOAT32
metadata:
{"source": "README.md", "name": "README.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "9e48a8cb-f1f8-4bc5-90dc-10683d0886fc", "start_index": 0, "hash": "7be65cd76f453c1b4dfed24c2a1617bde955ca2d3c000063427b6c3cefa2b7f4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "# Website\n\nThis website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.\n\n## Installation\n\n```sh\nnpm ci\n```\n\n## Local Development\n\n```sh\nnpm start\n```\n\nThis command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.\n\n## Build\n\n```sh\nnpm run build\n```\n\nThis command generates static content into the `build` directory and can be served using any static contents hosting service.\n\n## Deployment\n\nUsing SSH:\n\n```sh\nUSE_SSH=true npm run deploy\n```\n\nNot using SSH:\n\n```sh\nGIT_USER=<Your GitHub username> npm run deploy\n```\n\nIf you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch."}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: a03c6e92-4848-4771-b4ac-df017590e22a
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "9e48a8cb-f1f8-4bc5-90dc-10683d0886fc", "hash": "7be65cd76f453c1b4dfed24c2a1617bde955ca2d3c000063427b6c3cefa2b7f4", "name": "README.md", "source": "README.md", "start_index": 0, "chroma:document": "# Website\n\nThis website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.\n\n## Installation\n\n```sh\nnpm ci\n```\n\n## Local Development\n\n```sh\nnpm start\n```\n\nThis command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.\n\n## Build\n\n```sh\nnpm run build\n```\n\nThis command generates static content into the `build` directory and can be served using any static contents hosting service.\n\n## Deployment\n\nUsing SSH:\n\n```sh\nUSE_SSH=true npm run deploy\n```\n\nNot using SSH:\n\n```sh\nGIT_USER=<Your GitHub username> npm run deploy\n```\n\nIf you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch."}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/8674d55f-8b01-490b-88b8-b4550accd5b9
id: 542649fb-17e7-4ed5-a044-1eae810d6997
encoding: FLOAT32
metadata:
{"source": "redis.md", "name": "redis.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a456d1c7-eff3-4370-a7b1-9177a8cc7526", "start_index": 0, "hash": "cdcdd2bfd54bc58d518b56cc11d5289ba920ee629d2d8709bb5b4dba3f75d7f8", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 30\ntitle: \"\ud83d\udd17 Redis Websocket Support\"\n---\n\n:::warning\nThis tutorial is a community contribution and is not supported by the OpenWebUI team. It serves only as a demonstration on how to customize OpenWebUI for your specific use case. Want to contribute? Check out the contributing tutorial.\n:::\n\n# \ud83d\udd17 Redis Websocket Support\n\n## Overview\n\nThis documentation page outlines the steps required to integrate Redis with Open WebUI for websocket support. By following these steps, you will be able to enable websocket functionality in your Open WebUI instance, allowing for real-time communication and updates between clients and your application.\n\n### Prerequisites\n\n* A valid Open WebUI instance (running version 1.0 or higher)\n* A Redis container (we will use `docker.io/valkey/valkey:8.0.1-alpine` in this example, which is based on the latest Redis 7.x release)\n* Docker Composer (version 2.0 or higher) installed on your system\n\n## Setting up Redis"}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/8674d55f-8b01-490b-88b8-b4550accd5b9
id: a8c35281-9beb-4989-bce1-80f9023223d0
encoding: FLOAT32
metadata:
{"source": "redis.md", "name": "redis.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a456d1c7-eff3-4370-a7b1-9177a8cc7526", "start_index": 948, "hash": "cdcdd2bfd54bc58d518b56cc11d5289ba920ee629d2d8709bb5b4dba3f75d7f8", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## Setting up Redis\n\nTo set up Redis for websocket support, you will need to create a `docker-compose.yml` file with the following contents:\n\n```yml\nversion: '3.9'\nservices:\n  redis:\n    image: docker.io/valkey/valkey:8.0.1-alpine\n    container_name: redis-valkey\n    volumes:\n      - redis-data:/data\n    command: \"valkey-server --save 30 1\"\n    healthcheck:\n      test: \"[ $$(valkey-cli ping) = 'PONG' ]\"\n      start_period: 5s\n      interval: 1s\n      timeout: 3s\n      retries: 5\n    restart: unless-stopped\n    cap_drop:\n      - ALL\n    cap_add:\n      - SETGID\n      - SETUID\n      - DAC_OVERRIDE\n    logging:\n      driver: \"json-file\"\n      options:\n        max-size: \"1m\"\n        max-file: \"1\"\n\nvolumes:\n  redis-data:\n```\n\nThis configuration sets up a Redis container named `redis-valkey` and mounts a volume for data persistence. The `healthcheck` directive ensures that the container is restarted if it fails to respond to the `ping` command.\n\n## Configuring Open WebUI"}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/8674d55f-8b01-490b-88b8-b4550accd5b9
id: 19ed586f-0fad-4551-9c4c-889ac1e735cf
encoding: FLOAT32
metadata:
{"source": "redis.md", "name": "redis.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a456d1c7-eff3-4370-a7b1-9177a8cc7526", "start_index": 1901, "hash": "cdcdd2bfd54bc58d518b56cc11d5289ba920ee629d2d8709bb5b4dba3f75d7f8", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## Configuring Open WebUI\n\nTo enable websocket support in Open WebUI, you will need to set the following environment variables for your Open WebUI instance:\n\n```bash\nENABLE_WEBSOCKET_SUPPORT=\"true\"\nWEBSOCKET_MANAGER=\"redis\"\nWEBSOCKET_REDIS_URL=\"redis://redis:6379/1\"\n```\n\nThese environment variables enable websocket support, specify Redis as the websocket manager, and define the Redis URL. Make sure to replace the `WEBSOCKET_REDIS_URL` value with the actual URL of your Redis instance.\n\n## Verification\n\nIf you have properly set up Redis and configured Open WebUI, you should see the following log message when starting your Open WebUI instance:\n\n`DEBUG:open_webui.socket.main:Using Redis to manage websockets.`\n\nThis confirms that Open WebUI is using Redis for websocket management. You can also use the `docker exec` command using Command Prompt to verify that the Redis instance is running and accepting connections:\n\n```bash\ndocker exec -it redis-valkey redis-cli -p 6379 ping\n```"}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/8674d55f-8b01-490b-88b8-b4550accd5b9
id: 82da583e-8556-421f-862d-50449cd768cf
encoding: FLOAT32
metadata:
{"source": "redis.md", "name": "redis.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a456d1c7-eff3-4370-a7b1-9177a8cc7526", "start_index": 2825, "hash": "cdcdd2bfd54bc58d518b56cc11d5289ba920ee629d2d8709bb5b4dba3f75d7f8", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "```bash\ndocker exec -it redis-valkey redis-cli -p 6379 ping\n```\n\nThis command should output `PONG` if the Redis instance is running correctly. If this command fails, you could try this command instead:\n\n```bash\ndocker exec -it redis-valkey valkey-cli -p 6379 ping\n```\n\n## Troubleshooting\n\nIf you encounter issues with Redis or websocket support in Open WebUI, you can refer to the following resources for troubleshooting:\n\n* [Redis Documentation](https://redis.io/docs)\n* [Open WebUI Documentation](https://open-webui.github.io/docs)\n* [Docker Composer Documentation](https://docs.docker.com/compose/overview/)\n\nBy following these steps and troubleshooting tips, you should be able to set up Redis with Open WebUI for websocket support and enable real-time communication and updates between clients and your application."}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 48464d24-ed92-48d6-aa5d-b8826bf6280e
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a456d1c7-eff3-4370-a7b1-9177a8cc7526", "hash": "cdcdd2bfd54bc58d518b56cc11d5289ba920ee629d2d8709bb5b4dba3f75d7f8", "name": "redis.md", "source": "redis.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 30\ntitle: \"\ud83d\udd17 Redis Websocket Support\"\n---\n\n:::warning\nThis tutorial is a community contribution and is not supported by the OpenWebUI team. It serves only as a demonstration on how to customize OpenWebUI for your specific use case. Want to contribute? Check out the contributing tutorial.\n:::\n\n# \ud83d\udd17 Redis Websocket Support\n\n## Overview\n\nThis documentation page outlines the steps required to integrate Redis with Open WebUI for websocket support. By following these steps, you will be able to enable websocket functionality in your Open WebUI instance, allowing for real-time communication and updates between clients and your application.\n\n### Prerequisites\n\n* A valid Open WebUI instance (running version 1.0 or higher)\n* A Redis container (we will use `docker.io/valkey/valkey:8.0.1-alpine` in this example, which is based on the latest Redis 7.x release)\n* Docker Composer (version 2.0 or higher) installed on your system\n\n## Setting up Redis"}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 6b6f5c6b-1d74-4beb-bfc5-1b3b579f3f95
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a456d1c7-eff3-4370-a7b1-9177a8cc7526", "hash": "cdcdd2bfd54bc58d518b56cc11d5289ba920ee629d2d8709bb5b4dba3f75d7f8", "name": "redis.md", "source": "redis.md", "start_index": 0, "chroma:document": "## Setting up Redis\n\nTo set up Redis for websocket support, you will need to create a `docker-compose.yml` file with the following contents:\n\n```yml\nversion: '3.9'\nservices:\n  redis:\n    image: docker.io/valkey/valkey:8.0.1-alpine\n    container_name: redis-valkey\n    volumes:\n      - redis-data:/data\n    command: \"valkey-server --save 30 1\"\n    healthcheck:\n      test: \"[ $$(valkey-cli ping) = 'PONG' ]\"\n      start_period: 5s\n      interval: 1s\n      timeout: 3s\n      retries: 5\n    restart: unless-stopped\n    cap_drop:\n      - ALL\n    cap_add:\n      - SETGID\n      - SETUID\n      - DAC_OVERRIDE\n    logging:\n      driver: \"json-file\"\n      options:\n        max-size: \"1m\"\n        max-file: \"1\"\n\nvolumes:\n  redis-data:\n```\n\nThis configuration sets up a Redis container named `redis-valkey` and mounts a volume for data persistence. The `healthcheck` directive ensures that the container is restarted if it fails to respond to the `ping` command.\n\n## Configuring Open WebUI"}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 12e7e8d4-8cd8-4545-a34b-2458a5b016e5
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a456d1c7-eff3-4370-a7b1-9177a8cc7526", "hash": "cdcdd2bfd54bc58d518b56cc11d5289ba920ee629d2d8709bb5b4dba3f75d7f8", "name": "redis.md", "source": "redis.md", "start_index": 0, "chroma:document": "## Configuring Open WebUI\n\nTo enable websocket support in Open WebUI, you will need to set the following environment variables for your Open WebUI instance:\n\n```bash\nENABLE_WEBSOCKET_SUPPORT=\"true\"\nWEBSOCKET_MANAGER=\"redis\"\nWEBSOCKET_REDIS_URL=\"redis://redis:6379/1\"\n```\n\nThese environment variables enable websocket support, specify Redis as the websocket manager, and define the Redis URL. Make sure to replace the `WEBSOCKET_REDIS_URL` value with the actual URL of your Redis instance.\n\n## Verification\n\nIf you have properly set up Redis and configured Open WebUI, you should see the following log message when starting your Open WebUI instance:\n\n`DEBUG:open_webui.socket.main:Using Redis to manage websockets.`\n\nThis confirms that Open WebUI is using Redis for websocket management. You can also use the `docker exec` command using Command Prompt to verify that the Redis instance is running and accepting connections:\n\n```bash\ndocker exec -it redis-valkey redis-cli -p 6379 ping\n```"}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: c9b1c5cd-22c4-45dd-adf3-0760876da1c4
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a456d1c7-eff3-4370-a7b1-9177a8cc7526", "hash": "cdcdd2bfd54bc58d518b56cc11d5289ba920ee629d2d8709bb5b4dba3f75d7f8", "name": "redis.md", "source": "redis.md", "start_index": 0, "chroma:document": "```bash\ndocker exec -it redis-valkey redis-cli -p 6379 ping\n```\n\nThis command should output `PONG` if the Redis instance is running correctly. If this command fails, you could try this command instead:\n\n```bash\ndocker exec -it redis-valkey valkey-cli -p 6379 ping\n```\n\n## Troubleshooting\n\nIf you encounter issues with Redis or websocket support in Open WebUI, you can refer to the following resources for troubleshooting:\n\n* [Redis Documentation](https://redis.io/docs)\n* [Open WebUI Documentation](https://open-webui.github.io/docs)\n* [Docker Composer Documentation](https://docs.docker.com/compose/overview/)\n\nBy following these steps and troubleshooting tips, you should be able to set up Redis with Open WebUI for websocket support and enable real-time communication and updates between clients and your application."}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/5e7be18f-9d58-4ef7-a43b-f725843433e2
id: 931f8354-e0d5-4c52-9204-fa3a4de6c558
encoding: FLOAT32
metadata:
{"source": "reduce-ram-usage.md", "name": "reduce-ram-usage.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "98adaf7b-03d0-45b3-bb5c-815bd074036c", "start_index": 0, "hash": "48d224e4482a2de46cf371242ae83492f70519677ca1de4642778499e0cda85e", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 10\ntitle: \"\u2702\ufe0f Reduce RAM Usage\"\n---\n\n# Reduce RAM Usage\n\nIf you are deploying this image in a RAM-constrained environment, there are a few things you can do to slim down the image.\n\nOn a Raspberry Pi 4 (arm64) with version v0.3.10, this was able to reduce idle memory consumption from >1GB to ~200MB (as observed with `docker container stats`).\n\n## TLDR\n\nSet the following environment variables (or the respective UI settings for an existing deployment): `RAG_EMBEDDING_ENGINE: ollama`, `AUDIO_STT_ENGINE: openai`.\n\n## Longer explanation\n\nMuch of the memory consumption is due to loaded ML models. Even if you are using an external language model (OpenAI or unbundled ollama), many models may be loaded for additional purposes.\n\nAs of v0.3.10 this includes:\n\n* Speech-to-text (whisper by default)\n* RAG embedding engine (defaults to local SentenceTransformers model)\n* Image generation engine (disabled by default)"}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/5e7be18f-9d58-4ef7-a43b-f725843433e2
id: ad6488cc-6416-4ca1-a565-8d529555fef7
encoding: FLOAT32
metadata:
{"source": "reduce-ram-usage.md", "name": "reduce-ram-usage.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "98adaf7b-03d0-45b3-bb5c-815bd074036c", "start_index": 938, "hash": "48d224e4482a2de46cf371242ae83492f70519677ca1de4642778499e0cda85e", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "The first 2 are enabled and set to local models by default. You can change the models in the admin panel (RAG: Documents category, set it to Ollama or OpenAI, Speech-to-text: Audio section, work with OpenAI or WebAPI).\nIf you are deploying a fresh Docker image, you can also set them with the following environment variables: `RAG_EMBEDDING_ENGINE: ollama`, `AUDIO_STT_ENGINE: openai`. Note that these environment variables have no effect if a `config.json` already exists."}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 07644119-23de-4a0c-8ccd-ec7056687868
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "98adaf7b-03d0-45b3-bb5c-815bd074036c", "hash": "48d224e4482a2de46cf371242ae83492f70519677ca1de4642778499e0cda85e", "name": "reduce-ram-usage.md", "source": "reduce-ram-usage.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 10\ntitle: \"\u2702\ufe0f Reduce RAM Usage\"\n---\n\n# Reduce RAM Usage\n\nIf you are deploying this image in a RAM-constrained environment, there are a few things you can do to slim down the image.\n\nOn a Raspberry Pi 4 (arm64) with version v0.3.10, this was able to reduce idle memory consumption from >1GB to ~200MB (as observed with `docker container stats`).\n\n## TLDR\n\nSet the following environment variables (or the respective UI settings for an existing deployment): `RAG_EMBEDDING_ENGINE: ollama`, `AUDIO_STT_ENGINE: openai`.\n\n## Longer explanation\n\nMuch of the memory consumption is due to loaded ML models. Even if you are using an external language model (OpenAI or unbundled ollama), many models may be loaded for additional purposes.\n\nAs of v0.3.10 this includes:\n\n* Speech-to-text (whisper by default)\n* RAG embedding engine (defaults to local SentenceTransformers model)\n* Image generation engine (disabled by default)"}


created_at: 2024-12-28 04:06:35
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 08eee808-ed19-4f48-b77a-7ed8e1cbbe75
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "98adaf7b-03d0-45b3-bb5c-815bd074036c", "hash": "48d224e4482a2de46cf371242ae83492f70519677ca1de4642778499e0cda85e", "name": "reduce-ram-usage.md", "source": "reduce-ram-usage.md", "start_index": 0, "chroma:document": "The first 2 are enabled and set to local models by default. You can change the models in the admin panel (RAG: Documents category, set it to Ollama or OpenAI, Speech-to-text: Audio section, work with OpenAI or WebAPI).\nIf you are deploying a fresh Docker image, you can also set them with the following environment variables: `RAG_EMBEDDING_ENGINE: ollama`, `AUDIO_STT_ENGINE: openai`. Note that these environment variables have no effect if a `config.json` already exists."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/9255ab91-e19f-461c-bb4f-2a811456a86b
id: f4ec82b2-ffe0-494d-baf1-c1854a2fdb40
encoding: FLOAT32
metadata:
{"source": "roadmap.mdx", "name": "roadmap.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "start_index": 0, "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 1400\ntitle: \"\ud83d\udee3\ufe0f Roadmap\"\n---\n\nimport { TopBanners } from \"@site/src/components/TopBanners\";\n\n<TopBanners />\n\n# Open WebUI Roadmap! \ud83c\udf1f\n\nAt Open WebUI, we're committed to continually enhancing our platform to provide the best experience for our users. Below, you'll find the structured roadmap for our ongoing and future developments, categorized into Interface, Information Retrieval, and Community.\n\n## Interface \ud83d\udda5\ufe0f\n\nOur roadmap for interface innovations aims to create a highly intuitive and accessible platform. These will not only improves user satisfaction but also enhance productivity by reducing the cognitive load on users."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/9255ab91-e19f-461c-bb4f-2a811456a86b
id: 3b8166e3-be88-494f-af02-fa7dd104bc9c
encoding: FLOAT32
metadata:
{"source": "roadmap.mdx", "name": "roadmap.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "start_index": 655, "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- \ud83d\udd27 **Streamlined Fine-tune Support**: Open WebUI will offer a seamless fine-tuning process by allowing users to automatically build a fine-tune dataset simply by using the interface and rating the responses. We will provide Python notebooks to help preprocess your dataset, making it ready for fine-tuning directly from the notebook. This approach will be super simple and elegantly integrates fine-tuning into user workflows.\n\n- \ud83d\udcc8 **Advanced User Tracking and Cost Management Tools**: Users will gain access to comprehensive tools designed for tracking application performance and user activities, as well as managing costs effectively. These tools will empower users with the data they need to make informed decisions, improve user experiences, and maintain budget control, optimizing the use of resources across their AI applications."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/9255ab91-e19f-461c-bb4f-2a811456a86b
id: 2debe493-08c9-409d-96f2-c640ac9772df
encoding: FLOAT32
metadata:
{"source": "roadmap.mdx", "name": "roadmap.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "start_index": 1495, "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- \ud83d\udcac **\"Channels\" Feature**: Channels will function like Discord/Slack chat rooms, facilitating real-time collaboration among users and AIs. These dedicated communication spaces can host human-to-human interactions or AI-assisted discussions, fostering dynamic and context-driven collaboration. As we transition towards multi-agent and proactive agent workflows, true asynchronous communication will be essential, and Open WebUI will provide a Bot SDK tutorial to empower users in building proactive AI agents that can initiate conversations and integrate seamlessly into the platform.\n\n- \ud83d\udc64 **User Page**: A personal User Page feature where users can create posts. The functionality will also include features like followers, likes, and comments. This allows users to effectively share their model configurations, prompts, and files with a broader community, creating a richer, more connected ecosystem around the platform."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/9255ab91-e19f-461c-bb4f-2a811456a86b
id: 394de8fd-8804-4c8d-b705-f9c9b6cd62a0
encoding: FLOAT32
metadata:
{"source": "roadmap.mdx", "name": "roadmap.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "start_index": 2419, "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- \ud83d\udcdd **AI Powered Notes**: Inspired by tools like Notion and Obsidian, we plan to introduce a robust note-taking feature that includes AI integration. From simple note-taking to full-fledged document creation, this tool will offer a seamless experience, all locally integrated within the platform.\n\n- \ud83e\udde0 **AI Workflow Tool**: A node-based tool to orchestrate and compose multiple aspects of AI systems. This tool will allow users to visually connect different AI modules and services, creating complex workflows with ease. It's designed to empower users to harness the full potential of AI without needing deep technical knowledge in AI programming."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/9255ab91-e19f-461c-bb4f-2a811456a86b
id: 868f98da-79c7-424e-a8d1-947a9ed2bae8
encoding: FLOAT32
metadata:
{"source": "roadmap.mdx", "name": "roadmap.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "start_index": 3068, "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- \ud83d\udd0a **Local Text-to-Speech Integration**: This feature will allow natural language processing to convert text into lifelike spoken audio, thus making the platform more accessible, especially for visually impaired users. This integration helps in consuming information without screen interaction, facilitating multitasking and improving user engagement.\n\n- \ud83d\udce3 **Wakeword Detection**: Incorporating hands-free operation through voice commands will not only enhance accessibility but also align with emerging trends in IoT and smart environments, making our platform future-ready.\n\n- \ud83d\udcbb **Better Code Execution**: Enhancing coding functionalities within the platform supports a broad range of development activities, making it a one-stop solution for developers, thereby attracting a wider tech audience and fostering a robust developer community."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/9255ab91-e19f-461c-bb4f-2a811456a86b
id: e9f56868-8757-4559-9d94-868079bae08f
encoding: FLOAT32
metadata:
{"source": "roadmap.mdx", "name": "roadmap.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "start_index": 3912, "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- \ud83e\udd16 **Code Interpreter Function**: A flexible code interpreter embedded into the platform can support multiple programming languages, which reduces the dependency on external tools and streamlines the development process, increasing efficiency.\n\n- \ud83d\udce6 **Packaged Single Binary Executable**: Simplifying deployment and ensuring compatibility across different platforms, we aim to offer our interface as a single binary executable. This approach will facilitate effortless installation and updates, significantly enhancing usability for all users, especially those with limited technical expertise.\n\n## Information Retrieval (RAG) \ud83d\udcda"}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/9255ab91-e19f-461c-bb4f-2a811456a86b
id: e6a62f61-4529-4a51-ae86-9261ecb2f3d2
encoding: FLOAT32
metadata:
{"source": "roadmap.mdx", "name": "roadmap.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "start_index": 4508, "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## Information Retrieval (RAG) \ud83d\udcda\n\nOpen WebUI currently provides an interface that enables the use of existing information retrieval (IR) models efficiency. However, we believe there is vast potential for improvement. We fully recognize the limitations of our current RAG (Retrieval-Augmented Generation) implementation in our WebUI, understanding that a one-size-fits-all approach does not effectively meet all users' needs. \n\nTo address this, we are committed to transforming our framework to be highly modular and extensively configurable. This new direction will enable users to tailor the information retrieval process to their specific requirements with ease, using a straightforward, interactive interface that allows for simple drag-and-drop customization. This refinement aims to significantly enhance user experience by providing a more adaptable and personalized IR setup.\n\nHere's our focused plan for advancing our information retrieval capabilities:"}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/9255ab91-e19f-461c-bb4f-2a811456a86b
id: 43b9e87d-f63a-46a0-b536-8ce6bac8265c
encoding: FLOAT32
metadata:
{"source": "roadmap.mdx", "name": "roadmap.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "start_index": 5392, "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Here's our focused plan for advancing our information retrieval capabilities:\n\n- \ud83c\udf10 **Customizable RAG Framework**: Envision a future where you can effortlessly tailor your IR setup via a user-friendly interface. This will include modular components that users can drag, drop, and configure without needing deep technical knowledge.\n\n- \ud83d\udd04 **Advanced Integration with SoTA Methods**: We aim to incorporate the latest developments in retrieval methods, enhancing accuracy and efficiency with advanced techniques and architectures.\n\n- \ud83d\udd0d **Dedicated R&D**: We're scaling up our research and development to discover and integrate novel retrieval methods that push the boundaries of current methods, in collaboration with leading research entities.\n\n## Community \ud83e\udd1d\n\nWe aim to create a vibrant community where everyone can contribute to and benefit from shared knowledge and developments:"}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/9255ab91-e19f-461c-bb4f-2a811456a86b
id: 5ab38443-e4a5-458f-ba62-136ebff90814
encoding: FLOAT32
metadata:
{"source": "roadmap.mdx", "name": "roadmap.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "start_index": 6273, "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- \ud83c\udfc6 **LLM Leaderboard**: A community-driven approach to evaluate and rank models ensures transparency and continuous improvement, leveraging real-world applications to benchmark performance instead of relying on standard datasets that might not reflect practical utility.\n\n- \ud83d\udc65 **Sub-Communities**: Encouraging niche communities to curate datasets and optimize prompts can lead to better-tuned models, as these communities have specific insights and detailed feedback that typically go unnoticed in broader datasets.\n\n\ud83d\udd17 **Community Whitepaper**: Explore our detailed strategy and join us in shaping the future of AI-driven platforms in our [whitepaper](https://openwebui.com/assets/files/whitepaper.pdf).\n\n\n# Vision for the Future \ud83d\udd2d\n\nOur relentless effort stems from a clear vision we hold dearly: enhancing your daily life, saving time and allowing for more focus on what truly matters."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/9255ab91-e19f-461c-bb4f-2a811456a86b
id: dabd24c0-3c90-4a56-b79e-c4211103fb81
encoding: FLOAT32
metadata:
{"source": "roadmap.mdx", "name": "roadmap.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "start_index": 7162, "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Imagine a world where you think, and it happens. You desire a cup of coffee made exactly the way you love, and it's brewed for you. A world where you, simply think of a comprehensive data analysis report in a particular format, and it's done at the speed of your thought. The core idea is to turn the time-consuming, routine tasks over to our AI interface, freeing up your time and attention.\n\nThis isn't a sci-fi future; together, we are working towards it right now. As our AI models gradually become more capable and intuitively understand your specific needs, your most mundane responsibilities become automated. Through this profound shift, our collective time allowance can be redistributed towards grand endeavours. Think space exploration, longevity research or simply extra moments with loved ones."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/9255ab91-e19f-461c-bb4f-2a811456a86b
id: d8ac0560-0cc4-4782-9eae-c8a0ea04f64f
encoding: FLOAT32
metadata:
{"source": "roadmap.mdx", "name": "roadmap.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "start_index": 7972, "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Creating this imagined future won't be a walk in the park, but with your help, we believe it's within our reach. Open WebUI is more than just tech - it's there to enhance your day, giving you more space for what's really important. Together, we're working on a brighter tomorrow. Thanks for joining us in this extraordinary journey.\n\n---\n\nJoin us as we push the boundaries of technology with these ambitious and transformative features in our roadmap! \ud83d\udca1\ud83d\ude80 Your participation and feedback are crucial as we strive to make Open WebUI a pioneering tool in technology advancement."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 92e25f41-7ea1-43e5-a0af-9f946197e505
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "name": "roadmap.mdx", "source": "roadmap.mdx", "start_index": 0, "chroma:document": "---\nsidebar_position: 1400\ntitle: \"\ud83d\udee3\ufe0f Roadmap\"\n---\n\nimport { TopBanners } from \"@site/src/components/TopBanners\";\n\n<TopBanners />\n\n# Open WebUI Roadmap! \ud83c\udf1f\n\nAt Open WebUI, we're committed to continually enhancing our platform to provide the best experience for our users. Below, you'll find the structured roadmap for our ongoing and future developments, categorized into Interface, Information Retrieval, and Community.\n\n## Interface \ud83d\udda5\ufe0f\n\nOur roadmap for interface innovations aims to create a highly intuitive and accessible platform. These will not only improves user satisfaction but also enhance productivity by reducing the cognitive load on users."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 842cf681-31cf-4d43-93c2-9d983838630f
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "name": "roadmap.mdx", "source": "roadmap.mdx", "start_index": 0, "chroma:document": "- \ud83d\udd27 **Streamlined Fine-tune Support**: Open WebUI will offer a seamless fine-tuning process by allowing users to automatically build a fine-tune dataset simply by using the interface and rating the responses. We will provide Python notebooks to help preprocess your dataset, making it ready for fine-tuning directly from the notebook. This approach will be super simple and elegantly integrates fine-tuning into user workflows.\n\n- \ud83d\udcc8 **Advanced User Tracking and Cost Management Tools**: Users will gain access to comprehensive tools designed for tracking application performance and user activities, as well as managing costs effectively. These tools will empower users with the data they need to make informed decisions, improve user experiences, and maintain budget control, optimizing the use of resources across their AI applications."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 8979537e-87be-4f23-b992-b611c1b19c0f
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "name": "roadmap.mdx", "source": "roadmap.mdx", "start_index": 0, "chroma:document": "- \ud83d\udcac **\"Channels\" Feature**: Channels will function like Discord/Slack chat rooms, facilitating real-time collaboration among users and AIs. These dedicated communication spaces can host human-to-human interactions or AI-assisted discussions, fostering dynamic and context-driven collaboration. As we transition towards multi-agent and proactive agent workflows, true asynchronous communication will be essential, and Open WebUI will provide a Bot SDK tutorial to empower users in building proactive AI agents that can initiate conversations and integrate seamlessly into the platform.\n\n- \ud83d\udc64 **User Page**: A personal User Page feature where users can create posts. The functionality will also include features like followers, likes, and comments. This allows users to effectively share their model configurations, prompts, and files with a broader community, creating a richer, more connected ecosystem around the platform."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 6e493c58-5216-4fd0-a82f-832b5386e281
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "name": "roadmap.mdx", "source": "roadmap.mdx", "start_index": 0, "chroma:document": "- \ud83d\udcdd **AI Powered Notes**: Inspired by tools like Notion and Obsidian, we plan to introduce a robust note-taking feature that includes AI integration. From simple note-taking to full-fledged document creation, this tool will offer a seamless experience, all locally integrated within the platform.\n\n- \ud83e\udde0 **AI Workflow Tool**: A node-based tool to orchestrate and compose multiple aspects of AI systems. This tool will allow users to visually connect different AI modules and services, creating complex workflows with ease. It's designed to empower users to harness the full potential of AI without needing deep technical knowledge in AI programming."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 2a0bd14c-1c13-4c56-8305-d1630fd82117
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "name": "roadmap.mdx", "source": "roadmap.mdx", "start_index": 0, "chroma:document": "- \ud83d\udd0a **Local Text-to-Speech Integration**: This feature will allow natural language processing to convert text into lifelike spoken audio, thus making the platform more accessible, especially for visually impaired users. This integration helps in consuming information without screen interaction, facilitating multitasking and improving user engagement.\n\n- \ud83d\udce3 **Wakeword Detection**: Incorporating hands-free operation through voice commands will not only enhance accessibility but also align with emerging trends in IoT and smart environments, making our platform future-ready.\n\n- \ud83d\udcbb **Better Code Execution**: Enhancing coding functionalities within the platform supports a broad range of development activities, making it a one-stop solution for developers, thereby attracting a wider tech audience and fostering a robust developer community."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 119057f5-82ef-463d-9ce8-afddc96c0a1f
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "name": "roadmap.mdx", "source": "roadmap.mdx", "start_index": 0, "chroma:document": "- \ud83e\udd16 **Code Interpreter Function**: A flexible code interpreter embedded into the platform can support multiple programming languages, which reduces the dependency on external tools and streamlines the development process, increasing efficiency.\n\n- \ud83d\udce6 **Packaged Single Binary Executable**: Simplifying deployment and ensuring compatibility across different platforms, we aim to offer our interface as a single binary executable. This approach will facilitate effortless installation and updates, significantly enhancing usability for all users, especially those with limited technical expertise.\n\n## Information Retrieval (RAG) \ud83d\udcda"}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: e544c065-11bb-4929-8b41-a12fdef248f0
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "name": "roadmap.mdx", "source": "roadmap.mdx", "start_index": 0, "chroma:document": "## Information Retrieval (RAG) \ud83d\udcda\n\nOpen WebUI currently provides an interface that enables the use of existing information retrieval (IR) models efficiency. However, we believe there is vast potential for improvement. We fully recognize the limitations of our current RAG (Retrieval-Augmented Generation) implementation in our WebUI, understanding that a one-size-fits-all approach does not effectively meet all users' needs. \n\nTo address this, we are committed to transforming our framework to be highly modular and extensively configurable. This new direction will enable users to tailor the information retrieval process to their specific requirements with ease, using a straightforward, interactive interface that allows for simple drag-and-drop customization. This refinement aims to significantly enhance user experience by providing a more adaptable and personalized IR setup.\n\nHere's our focused plan for advancing our information retrieval capabilities:"}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 67f87e14-434a-4cd6-9c64-e28d40c1b39b
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "name": "roadmap.mdx", "source": "roadmap.mdx", "start_index": 0, "chroma:document": "Here's our focused plan for advancing our information retrieval capabilities:\n\n- \ud83c\udf10 **Customizable RAG Framework**: Envision a future where you can effortlessly tailor your IR setup via a user-friendly interface. This will include modular components that users can drag, drop, and configure without needing deep technical knowledge.\n\n- \ud83d\udd04 **Advanced Integration with SoTA Methods**: We aim to incorporate the latest developments in retrieval methods, enhancing accuracy and efficiency with advanced techniques and architectures.\n\n- \ud83d\udd0d **Dedicated R&D**: We're scaling up our research and development to discover and integrate novel retrieval methods that push the boundaries of current methods, in collaboration with leading research entities.\n\n## Community \ud83e\udd1d\n\nWe aim to create a vibrant community where everyone can contribute to and benefit from shared knowledge and developments:"}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 01f66a3f-b95e-4e31-99d3-1f5d29d19f2e
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "name": "roadmap.mdx", "source": "roadmap.mdx", "start_index": 0, "chroma:document": "- \ud83c\udfc6 **LLM Leaderboard**: A community-driven approach to evaluate and rank models ensures transparency and continuous improvement, leveraging real-world applications to benchmark performance instead of relying on standard datasets that might not reflect practical utility.\n\n- \ud83d\udc65 **Sub-Communities**: Encouraging niche communities to curate datasets and optimize prompts can lead to better-tuned models, as these communities have specific insights and detailed feedback that typically go unnoticed in broader datasets.\n\n\ud83d\udd17 **Community Whitepaper**: Explore our detailed strategy and join us in shaping the future of AI-driven platforms in our [whitepaper](https://openwebui.com/assets/files/whitepaper.pdf).\n\n\n# Vision for the Future \ud83d\udd2d\n\nOur relentless effort stems from a clear vision we hold dearly: enhancing your daily life, saving time and allowing for more focus on what truly matters."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 44c40741-a41e-4a3e-867f-9a28656e659d
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "name": "roadmap.mdx", "source": "roadmap.mdx", "start_index": 0, "chroma:document": "Imagine a world where you think, and it happens. You desire a cup of coffee made exactly the way you love, and it's brewed for you. A world where you, simply think of a comprehensive data analysis report in a particular format, and it's done at the speed of your thought. The core idea is to turn the time-consuming, routine tasks over to our AI interface, freeing up your time and attention.\n\nThis isn't a sci-fi future; together, we are working towards it right now. As our AI models gradually become more capable and intuitively understand your specific needs, your most mundane responsibilities become automated. Through this profound shift, our collective time allowance can be redistributed towards grand endeavours. Think space exploration, longevity research or simply extra moments with loved ones."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 5cdda5c2-04c3-4e53-8e11-510a363809e2
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "de631bf5-d104-4971-af1c-f0871b123ae0", "hash": "a8be976185229d3f7afaeaec98472255c4b866985a8e9597e3b2f9aa59f48083", "name": "roadmap.mdx", "source": "roadmap.mdx", "start_index": 0, "chroma:document": "Creating this imagined future won't be a walk in the park, but with your help, we believe it's within our reach. Open WebUI is more than just tech - it's there to enhance your day, giving you more space for what's really important. Together, we're working on a brighter tomorrow. Thanks for joining us in this extraordinary journey.\n\n---\n\nJoin us as we push the boundaries of technology with these ambitious and transformative features in our roadmap! \ud83d\udca1\ud83d\ude80 Your participation and feedback are crucial as we strive to make Open WebUI a pioneering tool in technology advancement."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/e8b650ea-830b-4656-b7d1-a24dad47ba69
id: a5d80bb4-642b-400a-8e2b-cc7d72ee26f0
encoding: FLOAT32
metadata:
{"source": "SelfSigned.md", "name": "SelfSigned.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "f646d8b1-d742-41d0-af38-09bcdaddfabf", "start_index": 0, "hash": "91490a7320c5164aba8f29b38e3db5da2d69be7b6d67df9af01eabff6211ed5f", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Self-Signed Certificate\n\n\nUsing self-signed certificates is suitable for development or internal use where trust is not a critical concern.\n\n#### Steps\n\n1. **Create Directories for Nginx Files:**\n\n    ```bash\n    mkdir -p conf.d ssl\n    ```\n\n2. **Create Nginx Configuration File:**\n\n    **`conf.d/open-webui.conf`:**\n\n    ```nginx\n    server {\n        listen 443 ssl;\n        server_name your_domain_or_IP;\n\n        ssl_certificate /etc/nginx/ssl/nginx.crt;\n        ssl_certificate_key /etc/nginx/ssl/nginx.key;\n        ssl_protocols TLSv1.2 TLSv1.3;\n\n        location / {\n            proxy_pass http://host.docker.internal:3000;\n            proxy_set_header Host $host;\n            proxy_set_header X-Real-IP $remote_addr;\n            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n            proxy_set_header X-Forwarded-Proto $scheme;"}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/e8b650ea-830b-4656-b7d1-a24dad47ba69
id: 22aca462-5e98-4b23-93df-f8b8899c9f31
encoding: FLOAT32
metadata:
{"source": "SelfSigned.md", "name": "SelfSigned.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "f646d8b1-d742-41d0-af38-09bcdaddfabf", "start_index": 870, "hash": "91490a7320c5164aba8f29b38e3db5da2d69be7b6d67df9af01eabff6211ed5f", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "# (Optional) Disable proxy buffering for better streaming response from models\n            proxy_buffering off;\n        }\n    }\n    ```\n\n3. **Generate Self-Signed SSL Certificates:**\n\n    ```bash\n    openssl req -x509 -nodes -days 365 -newkey rsa:2048 \\\n    -keyout ssl/nginx.key \\\n    -out ssl/nginx.crt \\\n    -subj \"/CN=your_domain_or_IP\"\n    ```\n\n4. **Update Docker Compose Configuration:**\n\n    Add the Nginx service to your `docker-compose.yml`:\n\n    ```yaml\n    services:\n      nginx:\n        image: nginx:alpine\n        ports:\n          - \"443:443\"\n        volumes:\n          - ./conf.d:/etc/nginx/conf.d\n          - ./ssl:/etc/nginx/ssl\n        depends_on:\n          - open-webui\n    ```\n\n5. **Start Nginx Service:**\n\n    ```bash\n    docker compose up -d nginx\n    ```\n\n#### Access the WebUI\n\nAccess Open WebUI via HTTPS at:\n\n[https://your_domain_or_IP](https://your_domain_or_IP)\n\n---"}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: b482e955-2c77-4899-9173-68d6169317f2
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "f646d8b1-d742-41d0-af38-09bcdaddfabf", "hash": "91490a7320c5164aba8f29b38e3db5da2d69be7b6d67df9af01eabff6211ed5f", "name": "SelfSigned.md", "source": "SelfSigned.md", "start_index": 0, "chroma:document": "### Self-Signed Certificate\n\n\nUsing self-signed certificates is suitable for development or internal use where trust is not a critical concern.\n\n#### Steps\n\n1. **Create Directories for Nginx Files:**\n\n    ```bash\n    mkdir -p conf.d ssl\n    ```\n\n2. **Create Nginx Configuration File:**\n\n    **`conf.d/open-webui.conf`:**\n\n    ```nginx\n    server {\n        listen 443 ssl;\n        server_name your_domain_or_IP;\n\n        ssl_certificate /etc/nginx/ssl/nginx.crt;\n        ssl_certificate_key /etc/nginx/ssl/nginx.key;\n        ssl_protocols TLSv1.2 TLSv1.3;\n\n        location / {\n            proxy_pass http://host.docker.internal:3000;\n            proxy_set_header Host $host;\n            proxy_set_header X-Real-IP $remote_addr;\n            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n            proxy_set_header X-Forwarded-Proto $scheme;"}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: fcd668b8-d426-4f1c-8f46-e2db8bb147ae
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "f646d8b1-d742-41d0-af38-09bcdaddfabf", "hash": "91490a7320c5164aba8f29b38e3db5da2d69be7b6d67df9af01eabff6211ed5f", "name": "SelfSigned.md", "source": "SelfSigned.md", "start_index": 0, "chroma:document": "# (Optional) Disable proxy buffering for better streaming response from models\n            proxy_buffering off;\n        }\n    }\n    ```\n\n3. **Generate Self-Signed SSL Certificates:**\n\n    ```bash\n    openssl req -x509 -nodes -days 365 -newkey rsa:2048 \\\n    -keyout ssl/nginx.key \\\n    -out ssl/nginx.crt \\\n    -subj \"/CN=your_domain_or_IP\"\n    ```\n\n4. **Update Docker Compose Configuration:**\n\n    Add the Nginx service to your `docker-compose.yml`:\n\n    ```yaml\n    services:\n      nginx:\n        image: nginx:alpine\n        ports:\n          - \"443:443\"\n        volumes:\n          - ./conf.d:/etc/nginx/conf.d\n          - ./ssl:/etc/nginx/ssl\n        depends_on:\n          - open-webui\n    ```\n\n5. **Start Nginx Service:**\n\n    ```bash\n    docker compose up -d nginx\n    ```\n\n#### Access the WebUI\n\nAccess Open WebUI via HTTPS at:\n\n[https://your_domain_or_IP](https://your_domain_or_IP)\n\n---"}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/cb25e7d7-6b12-45cd-b2b0-81baf9b41801
id: a1eba266-d003-44bf-9d42-31d2beff85b6
encoding: FLOAT32
metadata:
{"source": "sponsorships.mdx", "name": "sponsorships.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "bdc8480b-5d93-4b9c-9af8-86519be4ec53", "start_index": 0, "hash": "686385b736aea5fc8b4b7f6c98ded8c7acece471b11b1e76b6813368959fe543", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 1800\ntitle: \"\ud83c\udf10 Sponsorships\"\n---\n\n[![](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/tjbck)\n\n## The Impact of Your Support\n\nAs Open WebUI grows, the tasks and challenges we face expand as well. [Tim](/team) is at the heart of this project, tirelessly working to ensure all aspects of Open WebUI not only function but thrive. Yet, imagine the additional improvements we could make with a little extra support.\n\nConsider the practical benefits your organization gains from Open WebUI. A modest contribution from users like you allows us to focus more on refining features and less on managing resources. Each helping hand makes a meaningful difference, aligning our daily realities with our ambitious goals."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/cb25e7d7-6b12-45cd-b2b0-81baf9b41801
id: cef51a7f-e4d0-4464-8baa-c89d86796034
encoding: FLOAT32
metadata:
{"source": "sponsorships.mdx", "name": "sponsorships.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "bdc8480b-5d93-4b9c-9af8-86519be4ec53", "start_index": 806, "hash": "686385b736aea5fc8b4b7f6c98ded8c7acece471b11b1e76b6813368959fe543", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "We're incredibly thankful to our current sponsors. Your commitment has brought us closer to realizing the full potential of Open WebUI. Every contribution, big or small, strengthens the project and lays the groundwork for its continued success.\n\nThank you for considering joining us in this practical yet visionary endeavor. Here, every bit of support is not only appreciated\u2014it's crucial for keeping our project vibrant, dynamic, and responsive to users' needs.\n\n## Sponsorship Policies\n\nAt Open WebUI, our community always comes first. Sponsors are welcome, but they must respect our community-first approach. This philosophy guides all our sponsorship policies.\n\n### Hard Rules\n\nThese are the non-negotiable rules for sponsors:\n\n- Sponsors will always be clearly identified as sponsors.\n- Aggressive sales tactics directed at our community members are strictly prohibited.\n- We don't sell personal information about our community members to sponsors (e.g., to add to their mailing list)."}


created_at: 2024-12-28 04:06:36
topic: persistent://default/default/cb25e7d7-6b12-45cd-b2b0-81baf9b41801
id: 099e9435-f951-4217-82de-454e417c19f3
encoding: FLOAT32
metadata:
{"source": "sponsorships.mdx", "name": "sponsorships.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "bdc8480b-5d93-4b9c-9af8-86519be4ec53", "start_index": 1798, "hash": "686385b736aea5fc8b4b7f6c98ded8c7acece471b11b1e76b6813368959fe543", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Soft Rules\n\nOur community members should not be treated as sales leads.\n\nWe expect sponsors to be exemplary community members. It's acceptable to subtly promote job openings at your company and showcase your product, but hard selling is not allowed. Additionally, do not ask community members to join your mailing list."}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: f7849612-7908-4c2b-b71a-6de529b832e7
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "bdc8480b-5d93-4b9c-9af8-86519be4ec53", "hash": "686385b736aea5fc8b4b7f6c98ded8c7acece471b11b1e76b6813368959fe543", "name": "sponsorships.mdx", "source": "sponsorships.mdx", "start_index": 0, "chroma:document": "---\nsidebar_position: 1800\ntitle: \"\ud83c\udf10 Sponsorships\"\n---\n\n[![](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/tjbck)\n\n## The Impact of Your Support\n\nAs Open WebUI grows, the tasks and challenges we face expand as well. [Tim](/team) is at the heart of this project, tirelessly working to ensure all aspects of Open WebUI not only function but thrive. Yet, imagine the additional improvements we could make with a little extra support.\n\nConsider the practical benefits your organization gains from Open WebUI. A modest contribution from users like you allows us to focus more on refining features and less on managing resources. Each helping hand makes a meaningful difference, aligning our daily realities with our ambitious goals."}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: fd52e5cb-25ab-4271-bba3-bd7bd4fba173
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "bdc8480b-5d93-4b9c-9af8-86519be4ec53", "hash": "686385b736aea5fc8b4b7f6c98ded8c7acece471b11b1e76b6813368959fe543", "name": "sponsorships.mdx", "source": "sponsorships.mdx", "start_index": 0, "chroma:document": "We're incredibly thankful to our current sponsors. Your commitment has brought us closer to realizing the full potential of Open WebUI. Every contribution, big or small, strengthens the project and lays the groundwork for its continued success.\n\nThank you for considering joining us in this practical yet visionary endeavor. Here, every bit of support is not only appreciated\u2014it's crucial for keeping our project vibrant, dynamic, and responsive to users' needs.\n\n## Sponsorship Policies\n\nAt Open WebUI, our community always comes first. Sponsors are welcome, but they must respect our community-first approach. This philosophy guides all our sponsorship policies.\n\n### Hard Rules\n\nThese are the non-negotiable rules for sponsors:\n\n- Sponsors will always be clearly identified as sponsors.\n- Aggressive sales tactics directed at our community members are strictly prohibited.\n- We don't sell personal information about our community members to sponsors (e.g., to add to their mailing list)."}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 065d021a-c18e-4c9f-9bc6-a51dd40c2365
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "bdc8480b-5d93-4b9c-9af8-86519be4ec53", "hash": "686385b736aea5fc8b4b7f6c98ded8c7acece471b11b1e76b6813368959fe543", "name": "sponsorships.mdx", "source": "sponsorships.mdx", "start_index": 0, "chroma:document": "### Soft Rules\n\nOur community members should not be treated as sales leads.\n\nWe expect sponsors to be exemplary community members. It's acceptable to subtly promote job openings at your company and showcase your product, but hard selling is not allowed. Additionally, do not ask community members to join your mailing list."}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/034dbadf-5031-478b-a018-18e640afc02c
id: 046238e0-2eba-46a9-9ba1-8b793254ce8e
encoding: FLOAT32
metadata:
{"source": "sso.md", "name": "sso.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "start_index": 0, "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 19\ntitle: \"\ud83d\udd12 SSO: Federated Authentication Support\"\n---\n\n# Federated Authentication Support\n\nOpen WebUI supports several forms of federated authentication:\n\n1. OAuth2\n    1. Google\n    1. Microsoft\n    1. OIDC\n1. Trusted Header\n\n## OAuth\n\nThere are several global configuration options for OAuth:\n\n1. `ENABLE_OAUTH_SIGNUP` - if `true`, allows accounts to be created when logging in with OAuth. Distinct from `ENABLE_SIGNUP`.\n1. `OAUTH_MERGE_ACCOUNTS_BY_EMAIL` - allows logging into an account that matches the email address provided by the OAuth provider.\n    - This is considered insecure as not all OAuth providers verify email addresses, and may allow accounts to be hijacked.\n\n### Google\n\nTo configure a Google OAuth client, please refer to [Google's documentation](https://support.google.com/cloud/answer/6158849) on how to create a Google OAuth client for a **web application**.\nThe allowed redirect URI should include `<open-webui>/oauth/google/callback`."}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/034dbadf-5031-478b-a018-18e640afc02c
id: 90d65110-bed7-4b4b-a64b-2a2d6afe52de
encoding: FLOAT32
metadata:
{"source": "sso.md", "name": "sso.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "start_index": 986, "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "The following environment variables are required:\n\n1. `GOOGLE_CLIENT_ID` - Google OAuth client ID\n1. `GOOGLE_CLIENT_SECRET` - Google OAuth client secret\n\n### Microsoft\n\nTo configure a Microsoft OAuth client, please refer to [Microsoft's documentation](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app) on how to create a Microsoft OAuth client for a **web application**.\nThe allowed redirect URI should include `<open-webui>/oauth/microsoft/callback`.\n\nSupport for Microsoft OAuth is currently limited to a single tenant, that is a single Entra organization or personal Microsoft accounts.\n\nThe following environment variables are required:\n\n1. `MICROSOFT_CLIENT_ID` - Microsoft OAuth client ID\n1. `MICROSOFT_CLIENT_SECRET` - Microsoft OAuth client secret\n1. `MICROSOFT_CLIENT_TENANT_ID` - Microsoft tenant ID - use `9188040d-6c67-4c5b-b112-36a304b66dad` for personal accounts\n\n### OIDC"}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/034dbadf-5031-478b-a018-18e640afc02c
id: d6afaae6-e7a8-4a83-9cdc-31811343f4b7
encoding: FLOAT32
metadata:
{"source": "sso.md", "name": "sso.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "start_index": 1897, "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### OIDC\n\nAny authentication provider that supports OIDC can be configured.\nThe `email` claim is required.\n`name` and `picture` claims are used if available.\nThe allowed redirect URI should include `<open-webui>/oauth/oidc/callback`.\n\nThe following environment variables are used:\n\n1. `OAUTH_CLIENT_ID` - OIDC client ID\n1. `OAUTH_CLIENT_SECRET` - OIDC client secret\n1. `OPENID_PROVIDER_URL` - OIDC well known URL, for example `https://accounts.google.com/.well-known/openid-configuration`\n1. `OAUTH_PROVIDER_NAME` - Name of the provider to show on the UI, defaults to SSO\n1. `OAUTH_SCOPES` - Scopes to request. Defaults to `openid email profile`\n\n### OAuth Role Management\n\nAny OAuth provider that can be configured to return roles in the access token can be used to manage roles in Open WebUI.\nTo use this feature set `ENABLE_OAUTH_ROLE_MANAGEMENT` to `true`.\nYou can configure the following environment variables to match the roles returned by the OAuth provider:"}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/034dbadf-5031-478b-a018-18e640afc02c
id: 874cb5e6-020e-490f-8e0a-b53ec1cd0ca9
encoding: FLOAT32
metadata:
{"source": "sso.md", "name": "sso.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "start_index": 2864, "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "1. `OAUTH_ROLES_CLAIM` - The claim that contains the roles. Defaults to `roles`. Can also be nested, for example `user.roles`.\n1. `OAUTH_ALLOWED_ROLES` - A comma-separated list of roles that are allowed to log in (receive open webui role `user`).\n1. `OAUTH_ADMIN_ROLES` - A comma-separated list of roles that are allowed to log in as an admin (receive open webui role `admin`).\n\n:::info\n\nIf changing the role of a logged in user, they will need to log out and log back in to receive the new role.\n\n:::\n\n## Trusted Header\n\nOpen WebUI is able to delegate authentication to an authenticating reverse proxy that passes in the user's details in HTTP headers.\nThere are several example configurations that are provided in this page.\n\n:::danger\n\nIncorrect configuration can allow users to authenticate as any user on your Open WebUI instance.\nMake sure to allow only the authenticating proxy access to Open WebUI, such as setting `HOST=127.0.0.1` to only listen on the loopback interface.\n\n:::"}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/034dbadf-5031-478b-a018-18e640afc02c
id: c8e152cd-4fc5-4a5f-a794-5a36175fbe98
encoding: FLOAT32
metadata:
{"source": "sso.md", "name": "sso.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "start_index": 3847, "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": ":::\n\n### Generic Configuration\n\nWhen the `WEBUI_AUTH_TRUSTED_EMAIL_HEADER` environment variable is set, Open WebUI will use the value of the header specified as the email address of the user, handling automatic registration and login.\n\nFor example, setting `WEBUI_AUTH_TRUSTED_EMAIL_HEADER=X-User-Email` and passing a HTTP header of `X-User-Email: example@example.com` would authenticate the request with the email `example@example.com`.\n\nOptionally, you can also define the `WEBUI_AUTH_TRUSTED_NAME_HEADER` to determine the name of any user being created using trusted headers. This has no effect if the user already exists.\n\n### Tailscale Serve\n\n[Tailscale Serve](https://tailscale.com/kb/1242/tailscale-serve) allows you to share a service within your tailnet, and Tailscale will set the header `Tailscale-User-Login` with the email address of the requester."}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/034dbadf-5031-478b-a018-18e640afc02c
id: 0201e8da-8c71-4fdd-90f3-283e44fff439
encoding: FLOAT32
metadata:
{"source": "sso.md", "name": "sso.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "start_index": 4710, "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Below is an example serve config with a corresponding Docker Compose file that starts a Tailscale sidecar, exposing Open WebUI to the tailnet with the tag `open-webui` and hostname `open-webui`, and can be reachable at `https://open-webui.TAILNET_NAME.ts.net`.\nYou will need to create an OAuth client with device write permission to pass into the Tailscale container as `TS_AUTHKEY`.\n\n```json title=\"tailscale/serve.json\"\n{\n    \"TCP\": {\n        \"443\": {\n            \"HTTPS\": true\n        }\n    },\n    \"Web\": {\n        \"${TS_CERT_DOMAIN}:443\": {\n            \"Handlers\": {\n                \"/\": {\n                    \"Proxy\": \"http://open-webui:8080\"\n                }\n            }\n        }\n    }\n}\n\n```"}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/034dbadf-5031-478b-a018-18e640afc02c
id: 90119d23-bef9-434f-bec7-5b471a5a8f67
encoding: FLOAT32
metadata:
{"source": "sso.md", "name": "sso.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "start_index": 5409, "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "```\n\n```yaml title=\"docker-compose.yaml\"\n---\nservices:\n  open-webui:\n    image: ghcr.io/open-webui/open-webui:main\n    volumes:\n      - open-webui:/app/backend/data\n    environment:\n      - HOST=127.0.0.1\n      - WEBUI_AUTH_TRUSTED_EMAIL_HEADER=Tailscale-User-Login\n      - WEBUI_AUTH_TRUSTED_NAME_HEADER=Tailscale-User-Name\n    restart: unless-stopped\n  tailscale:\n    image: tailscale/tailscale:latest\n    environment:\n      - TS_AUTH_ONCE=true\n      - TS_AUTHKEY=${TS_AUTHKEY}\n      - TS_EXTRA_ARGS=--advertise-tags=tag:open-webui\n      - TS_SERVE_CONFIG=/config/serve.json\n      - TS_STATE_DIR=/var/lib/tailscale\n      - TS_HOSTNAME=open-webui\n    volumes:\n      - tailscale:/var/lib/tailscale\n      - ./tailscale:/config\n      - /dev/net/tun:/dev/net/tun\n    cap_add:\n      - net_admin\n      - sys_module\n    restart: unless-stopped\n\nvolumes:\n  open-webui: {}\n  tailscale: {}\n```\n\n:::warning"}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/034dbadf-5031-478b-a018-18e640afc02c
id: 7ecc55da-cf32-49b6-8443-0c43153c0e28
encoding: FLOAT32
metadata:
{"source": "sso.md", "name": "sso.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "start_index": 6248, "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "volumes:\n  open-webui: {}\n  tailscale: {}\n```\n\n:::warning\n\nIf you run Tailscale in the same network context as Open WebUI, then by default users will be able to directly reach out to Open WebUI without going through the Serve proxy.\nYou will need use Tailscale's ACLs to restrict access to only port 443.\n\n:::\n\n### Cloudflare Tunnel with Cloudflare Access\n\n[Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/create-remote-tunnel/) can be used with [Cloudflare Access](https://developers.cloudflare.com/cloudflare-one/policies/access/) to protect Open WebUI with SSO.\nThis is barely documented by Cloudflare, but `Cf-Access-Authenticated-User-Email` is set with the email address of the authenticated user."}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/034dbadf-5031-478b-a018-18e640afc02c
id: 2166e426-518b-44f8-a72f-5ab0e15091cd
encoding: FLOAT32
metadata:
{"source": "sso.md", "name": "sso.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "start_index": 7014, "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Below is an example Docker Compose file that sets up a Cloudflare sidecar.\nConfiguration is done via the dashboard.\nFrom the dashboard, get a tunnel token, set the tunnel backend to `http://open-webui:8080`, and ensure that \"Protect with Access\" is checked and configured.\n\n```yaml title=\"docker-compose.yaml\"\n---\nservices:\n  open-webui:\n    image: ghcr.io/open-webui/open-webui:main\n    volumes:\n      - open-webui:/app/backend/data\n    environment:\n      - HOST=127.0.0.1\n      - WEBUI_AUTH_TRUSTED_EMAIL_HEADER=Cf-Access-Authenticated-User-Email\n    restart: unless-stopped\n  cloudflared:\n    image: cloudflare/cloudflared:latest\n    environment:\n      - TUNNEL_TOKEN=${TUNNEL_TOKEN}\n    command: tunnel run\n    restart: unless-stopped\n\nvolumes:\n  open-webui: {}\n\n```\n\n### oauth2-proxy\n\n[oauth2-proxy](https://oauth2-proxy.github.io/oauth2-proxy/) is an authenticating reverse proxy that implements social OAuth providers and OIDC support."}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/034dbadf-5031-478b-a018-18e640afc02c
id: 986a8dbf-44ad-440c-b1da-b8c81a67784b
encoding: FLOAT32
metadata:
{"source": "sso.md", "name": "sso.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "start_index": 7958, "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Given the large number of potential configurations, below is an example of a potential setup with Google OAuth.\nPlease refer to `oauth2-proxy`'s documentation for detailed setup and any potential security gotchas."}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/034dbadf-5031-478b-a018-18e640afc02c
id: fd731adb-e958-4d96-a927-ff949fc4564d
encoding: FLOAT32
metadata:
{"source": "sso.md", "name": "sso.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "start_index": 8173, "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "```yaml title=\"docker-compose.yaml\"\nservices:\n  open-webui:\n    image: ghcr.io/open-webui/open-webui:main\n    volumes:\n      - open-webui:/app/backend/data\n    environment:\n      - 'HOST=127.0.0.1'\n      - 'WEBUI_AUTH_TRUSTED_EMAIL_HEADER=X-Forwarded-Email'\n      - 'WEBUI_AUTH_TRUSTED_NAME_HEADER=X-Forwarded-User'\n    restart: unless-stopped\n  oauth2-proxy:\n    image: quay.io/oauth2-proxy/oauth2-proxy:v7.6.0\n    environment:\n      OAUTH2_PROXY_HTTP_ADDRESS: 0.0.0.0:4180\n      OAUTH2_PROXY_UPSTREAMS: http://open-webui:8080/\n      OAUTH2_PROXY_PROVIDER: google\n      OAUTH2_PROXY_CLIENT_ID: REPLACEME_OAUTH_CLIENT_ID\n      OAUTH2_PROXY_CLIENT_SECRET: REPLACEME_OAUTH_CLIENT_ID\n      OAUTH2_PROXY_EMAIL_DOMAINS: REPLACEME_ALLOWED_EMAIL_DOMAINS\n      OAUTH2_PROXY_REDIRECT_URL: REPLACEME_OAUTH_CALLBACK_URL\n      OAUTH2_PROXY_COOKIE_SECRET: REPLACEME_COOKIE_SECRET\n      OAUTH2_PROXY_COOKIE_SECURE: \"false\"\n    restart: unless-stopped\n    ports:\n      - 4180:4180/tcp\n```\n\n\n### Authentik"}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/034dbadf-5031-478b-a018-18e640afc02c
id: 04d59115-4c47-4c0f-b96d-cb4fdeed8c44
encoding: FLOAT32
metadata:
{"source": "sso.md", "name": "sso.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "start_index": 9149, "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Authentik\n\nTo configure a [Authentik](https://goauthentik.io/) OAuth client, please refer to [documentation](https://docs.goauthentik.io/docs/applications) on how to create an application and `OAuth2/OpenID Provider`.\nThe allowed redirect URI should include `<open-webui>/oauth/oidc/callback`.\n\nWhile creating provider, please note `App-name`, `Client-ID` and `Client-Secret` and use it for open-webui environment variables:\n\n```\n      - 'ENABLE_OAUTH_SIGNUP=true'\n      - 'OAUTH_MERGE_ACCOUNTS_BY_EMAIL=true'\n      - 'OAUTH_PROVIDER_NAME=Authentik'\n      - 'OPENID_PROVIDER_URL=https://<authentik-url>/application/o/<App-name>/.well-known/openid-configuration'\n      - 'OAUTH_CLIENT_ID=<Client-ID>'\n      - 'OAUTH_CLIENT_SECRET=<Client-Secret>'\n      - 'OAUTH_SCOPES=openid email profile'\n      - 'OPENID_REDIRECT_URI=https://<open-webui>/oauth/oidc/callback'\n```\n\n### Authelia"}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/034dbadf-5031-478b-a018-18e640afc02c
id: 6043e87b-f3a5-40e8-87ed-8db8e0371aec
encoding: FLOAT32
metadata:
{"source": "sso.md", "name": "sso.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "start_index": 10019, "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Authelia\n\n[Authelia](https://www.authelia.com/) can be configured to return a header for use with trusted header authentication.\nDocumentation is available [here](https://www.authelia.com/integration/trusted-header-sso/introduction/).\n\nNo example configs are provided due to the complexity of deploying Authelia."}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 4f2c60db-4574-44cd-b238-57dd4f8bf041
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "name": "sso.md", "source": "sso.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 19\ntitle: \"\ud83d\udd12 SSO: Federated Authentication Support\"\n---\n\n# Federated Authentication Support\n\nOpen WebUI supports several forms of federated authentication:\n\n1. OAuth2\n    1. Google\n    1. Microsoft\n    1. OIDC\n1. Trusted Header\n\n## OAuth\n\nThere are several global configuration options for OAuth:\n\n1. `ENABLE_OAUTH_SIGNUP` - if `true`, allows accounts to be created when logging in with OAuth. Distinct from `ENABLE_SIGNUP`.\n1. `OAUTH_MERGE_ACCOUNTS_BY_EMAIL` - allows logging into an account that matches the email address provided by the OAuth provider.\n    - This is considered insecure as not all OAuth providers verify email addresses, and may allow accounts to be hijacked.\n\n### Google\n\nTo configure a Google OAuth client, please refer to [Google's documentation](https://support.google.com/cloud/answer/6158849) on how to create a Google OAuth client for a **web application**.\nThe allowed redirect URI should include `<open-webui>/oauth/google/callback`."}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: de013502-9b6a-43cf-b5a0-f22fb2116290
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "name": "sso.md", "source": "sso.md", "start_index": 0, "chroma:document": "The following environment variables are required:\n\n1. `GOOGLE_CLIENT_ID` - Google OAuth client ID\n1. `GOOGLE_CLIENT_SECRET` - Google OAuth client secret\n\n### Microsoft\n\nTo configure a Microsoft OAuth client, please refer to [Microsoft's documentation](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app) on how to create a Microsoft OAuth client for a **web application**.\nThe allowed redirect URI should include `<open-webui>/oauth/microsoft/callback`.\n\nSupport for Microsoft OAuth is currently limited to a single tenant, that is a single Entra organization or personal Microsoft accounts.\n\nThe following environment variables are required:\n\n1. `MICROSOFT_CLIENT_ID` - Microsoft OAuth client ID\n1. `MICROSOFT_CLIENT_SECRET` - Microsoft OAuth client secret\n1. `MICROSOFT_CLIENT_TENANT_ID` - Microsoft tenant ID - use `9188040d-6c67-4c5b-b112-36a304b66dad` for personal accounts\n\n### OIDC"}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: c4613d4b-9138-4976-953c-32250885f0f2
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "name": "sso.md", "source": "sso.md", "start_index": 0, "chroma:document": "### OIDC\n\nAny authentication provider that supports OIDC can be configured.\nThe `email` claim is required.\n`name` and `picture` claims are used if available.\nThe allowed redirect URI should include `<open-webui>/oauth/oidc/callback`.\n\nThe following environment variables are used:\n\n1. `OAUTH_CLIENT_ID` - OIDC client ID\n1. `OAUTH_CLIENT_SECRET` - OIDC client secret\n1. `OPENID_PROVIDER_URL` - OIDC well known URL, for example `https://accounts.google.com/.well-known/openid-configuration`\n1. `OAUTH_PROVIDER_NAME` - Name of the provider to show on the UI, defaults to SSO\n1. `OAUTH_SCOPES` - Scopes to request. Defaults to `openid email profile`\n\n### OAuth Role Management\n\nAny OAuth provider that can be configured to return roles in the access token can be used to manage roles in Open WebUI.\nTo use this feature set `ENABLE_OAUTH_ROLE_MANAGEMENT` to `true`.\nYou can configure the following environment variables to match the roles returned by the OAuth provider:"}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 710b8bc9-4886-4bcc-97c3-53a4f2c12545
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "name": "sso.md", "source": "sso.md", "start_index": 0, "chroma:document": "1. `OAUTH_ROLES_CLAIM` - The claim that contains the roles. Defaults to `roles`. Can also be nested, for example `user.roles`.\n1. `OAUTH_ALLOWED_ROLES` - A comma-separated list of roles that are allowed to log in (receive open webui role `user`).\n1. `OAUTH_ADMIN_ROLES` - A comma-separated list of roles that are allowed to log in as an admin (receive open webui role `admin`).\n\n:::info\n\nIf changing the role of a logged in user, they will need to log out and log back in to receive the new role.\n\n:::\n\n## Trusted Header\n\nOpen WebUI is able to delegate authentication to an authenticating reverse proxy that passes in the user's details in HTTP headers.\nThere are several example configurations that are provided in this page.\n\n:::danger\n\nIncorrect configuration can allow users to authenticate as any user on your Open WebUI instance.\nMake sure to allow only the authenticating proxy access to Open WebUI, such as setting `HOST=127.0.0.1` to only listen on the loopback interface.\n\n:::"}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 9ea766ae-0667-4e2a-8773-27fe815fa64a
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "name": "sso.md", "source": "sso.md", "start_index": 0, "chroma:document": ":::\n\n### Generic Configuration\n\nWhen the `WEBUI_AUTH_TRUSTED_EMAIL_HEADER` environment variable is set, Open WebUI will use the value of the header specified as the email address of the user, handling automatic registration and login.\n\nFor example, setting `WEBUI_AUTH_TRUSTED_EMAIL_HEADER=X-User-Email` and passing a HTTP header of `X-User-Email: example@example.com` would authenticate the request with the email `example@example.com`.\n\nOptionally, you can also define the `WEBUI_AUTH_TRUSTED_NAME_HEADER` to determine the name of any user being created using trusted headers. This has no effect if the user already exists.\n\n### Tailscale Serve\n\n[Tailscale Serve](https://tailscale.com/kb/1242/tailscale-serve) allows you to share a service within your tailnet, and Tailscale will set the header `Tailscale-User-Login` with the email address of the requester."}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: feb83031-191d-4672-864e-222ee50310cf
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "name": "sso.md", "source": "sso.md", "start_index": 0, "chroma:document": "Below is an example serve config with a corresponding Docker Compose file that starts a Tailscale sidecar, exposing Open WebUI to the tailnet with the tag `open-webui` and hostname `open-webui`, and can be reachable at `https://open-webui.TAILNET_NAME.ts.net`.\nYou will need to create an OAuth client with device write permission to pass into the Tailscale container as `TS_AUTHKEY`.\n\n```json title=\"tailscale/serve.json\"\n{\n    \"TCP\": {\n        \"443\": {\n            \"HTTPS\": true\n        }\n    },\n    \"Web\": {\n        \"${TS_CERT_DOMAIN}:443\": {\n            \"Handlers\": {\n                \"/\": {\n                    \"Proxy\": \"http://open-webui:8080\"\n                }\n            }\n        }\n    }\n}\n\n```"}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 400b9b9c-fbee-40c5-9c36-7fe94cca24af
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "name": "sso.md", "source": "sso.md", "start_index": 0, "chroma:document": "```\n\n```yaml title=\"docker-compose.yaml\"\n---\nservices:\n  open-webui:\n    image: ghcr.io/open-webui/open-webui:main\n    volumes:\n      - open-webui:/app/backend/data\n    environment:\n      - HOST=127.0.0.1\n      - WEBUI_AUTH_TRUSTED_EMAIL_HEADER=Tailscale-User-Login\n      - WEBUI_AUTH_TRUSTED_NAME_HEADER=Tailscale-User-Name\n    restart: unless-stopped\n  tailscale:\n    image: tailscale/tailscale:latest\n    environment:\n      - TS_AUTH_ONCE=true\n      - TS_AUTHKEY=${TS_AUTHKEY}\n      - TS_EXTRA_ARGS=--advertise-tags=tag:open-webui\n      - TS_SERVE_CONFIG=/config/serve.json\n      - TS_STATE_DIR=/var/lib/tailscale\n      - TS_HOSTNAME=open-webui\n    volumes:\n      - tailscale:/var/lib/tailscale\n      - ./tailscale:/config\n      - /dev/net/tun:/dev/net/tun\n    cap_add:\n      - net_admin\n      - sys_module\n    restart: unless-stopped\n\nvolumes:\n  open-webui: {}\n  tailscale: {}\n```\n\n:::warning"}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 54e91ba8-0f5f-49a9-9231-f56f021d7e60
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "name": "sso.md", "source": "sso.md", "start_index": 0, "chroma:document": "volumes:\n  open-webui: {}\n  tailscale: {}\n```\n\n:::warning\n\nIf you run Tailscale in the same network context as Open WebUI, then by default users will be able to directly reach out to Open WebUI without going through the Serve proxy.\nYou will need use Tailscale's ACLs to restrict access to only port 443.\n\n:::\n\n### Cloudflare Tunnel with Cloudflare Access\n\n[Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/create-remote-tunnel/) can be used with [Cloudflare Access](https://developers.cloudflare.com/cloudflare-one/policies/access/) to protect Open WebUI with SSO.\nThis is barely documented by Cloudflare, but `Cf-Access-Authenticated-User-Email` is set with the email address of the authenticated user."}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 4c5173cd-6553-4136-9772-b1b8e53c99d0
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "name": "sso.md", "source": "sso.md", "start_index": 0, "chroma:document": "Below is an example Docker Compose file that sets up a Cloudflare sidecar.\nConfiguration is done via the dashboard.\nFrom the dashboard, get a tunnel token, set the tunnel backend to `http://open-webui:8080`, and ensure that \"Protect with Access\" is checked and configured.\n\n```yaml title=\"docker-compose.yaml\"\n---\nservices:\n  open-webui:\n    image: ghcr.io/open-webui/open-webui:main\n    volumes:\n      - open-webui:/app/backend/data\n    environment:\n      - HOST=127.0.0.1\n      - WEBUI_AUTH_TRUSTED_EMAIL_HEADER=Cf-Access-Authenticated-User-Email\n    restart: unless-stopped\n  cloudflared:\n    image: cloudflare/cloudflared:latest\n    environment:\n      - TUNNEL_TOKEN=${TUNNEL_TOKEN}\n    command: tunnel run\n    restart: unless-stopped\n\nvolumes:\n  open-webui: {}\n\n```\n\n### oauth2-proxy\n\n[oauth2-proxy](https://oauth2-proxy.github.io/oauth2-proxy/) is an authenticating reverse proxy that implements social OAuth providers and OIDC support."}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 2f4c0b62-12bb-48b4-80b6-3a2828f4419d
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "name": "sso.md", "source": "sso.md", "start_index": 0, "chroma:document": "Given the large number of potential configurations, below is an example of a potential setup with Google OAuth.\nPlease refer to `oauth2-proxy`'s documentation for detailed setup and any potential security gotchas."}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: fc4ba92b-a4ff-4c51-af3a-d3deab99fc0c
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "name": "sso.md", "source": "sso.md", "start_index": 0, "chroma:document": "```yaml title=\"docker-compose.yaml\"\nservices:\n  open-webui:\n    image: ghcr.io/open-webui/open-webui:main\n    volumes:\n      - open-webui:/app/backend/data\n    environment:\n      - 'HOST=127.0.0.1'\n      - 'WEBUI_AUTH_TRUSTED_EMAIL_HEADER=X-Forwarded-Email'\n      - 'WEBUI_AUTH_TRUSTED_NAME_HEADER=X-Forwarded-User'\n    restart: unless-stopped\n  oauth2-proxy:\n    image: quay.io/oauth2-proxy/oauth2-proxy:v7.6.0\n    environment:\n      OAUTH2_PROXY_HTTP_ADDRESS: 0.0.0.0:4180\n      OAUTH2_PROXY_UPSTREAMS: http://open-webui:8080/\n      OAUTH2_PROXY_PROVIDER: google\n      OAUTH2_PROXY_CLIENT_ID: REPLACEME_OAUTH_CLIENT_ID\n      OAUTH2_PROXY_CLIENT_SECRET: REPLACEME_OAUTH_CLIENT_ID\n      OAUTH2_PROXY_EMAIL_DOMAINS: REPLACEME_ALLOWED_EMAIL_DOMAINS\n      OAUTH2_PROXY_REDIRECT_URL: REPLACEME_OAUTH_CALLBACK_URL\n      OAUTH2_PROXY_COOKIE_SECRET: REPLACEME_COOKIE_SECRET\n      OAUTH2_PROXY_COOKIE_SECURE: \"false\"\n    restart: unless-stopped\n    ports:\n      - 4180:4180/tcp\n```\n\n\n### Authentik"}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 86675650-e731-4cb1-9329-5bacc436773c
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "name": "sso.md", "source": "sso.md", "start_index": 0, "chroma:document": "### Authentik\n\nTo configure a [Authentik](https://goauthentik.io/) OAuth client, please refer to [documentation](https://docs.goauthentik.io/docs/applications) on how to create an application and `OAuth2/OpenID Provider`.\nThe allowed redirect URI should include `<open-webui>/oauth/oidc/callback`.\n\nWhile creating provider, please note `App-name`, `Client-ID` and `Client-Secret` and use it for open-webui environment variables:\n\n```\n      - 'ENABLE_OAUTH_SIGNUP=true'\n      - 'OAUTH_MERGE_ACCOUNTS_BY_EMAIL=true'\n      - 'OAUTH_PROVIDER_NAME=Authentik'\n      - 'OPENID_PROVIDER_URL=https://<authentik-url>/application/o/<App-name>/.well-known/openid-configuration'\n      - 'OAUTH_CLIENT_ID=<Client-ID>'\n      - 'OAUTH_CLIENT_SECRET=<Client-Secret>'\n      - 'OAUTH_SCOPES=openid email profile'\n      - 'OPENID_REDIRECT_URI=https://<open-webui>/oauth/oidc/callback'\n```\n\n### Authelia"}


created_at: 2024-12-28 04:06:37
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 999ac660-711b-4246-9812-0d93b7ed8aae
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "a27a216f-aa3c-46e6-bdc0-34e65ad9c86f", "hash": "a6e25a050d16159cc5c4f19d68fb3ea057d39d4f2294e7ba9a4470272a4c91d4", "name": "sso.md", "source": "sso.md", "start_index": 0, "chroma:document": "### Authelia\n\n[Authelia](https://www.authelia.com/) can be configured to return a header for use with trusted header authentication.\nDocumentation is available [here](https://www.authelia.com/integration/trusted-header-sso/introduction/).\n\nNo example configs are provided due to the complexity of deploying Authelia."}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/88ba61be-6cf6-41e3-b666-2f276891f8a8
id: a9c9d3c1-ab76-4a81-b9cf-be2b64a3cb85
encoding: FLOAT32
metadata:
{"source": "tasks.md", "name": "tasks.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "8439fdc9-4c71-4f4f-ad7e-4830ebd1f918", "start_index": 0, "hash": "10ee052e3dcbf983ea751c5a6355c67b6a05bbfd5d692a9d292ae1c34c58e8f4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 7\ntitle: \"\ud83d\udcdd Task Model\"\n---\n\nCOMING SOON!"}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: ab7a592f-60ba-4fc9-afc7-6243f849404b
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "8439fdc9-4c71-4f4f-ad7e-4830ebd1f918", "hash": "10ee052e3dcbf983ea751c5a6355c67b6a05bbfd5d692a9d292ae1c34c58e8f4", "name": "tasks.md", "source": "tasks.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 7\ntitle: \"\ud83d\udcdd Task Model\"\n---\n\nCOMING SOON!"}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/a7885e51-42f2-4f23-918c-0c2adb2e691f
id: 8ffb3eb7-0aec-4786-81ee-a13a1e415dbf
encoding: FLOAT32
metadata:
{"source": "team.mdx", "name": "team.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5048382e-68e6-45a4-92ec-5743d16aa0ed", "start_index": 0, "hash": "ea5ba1a9698628749a608892225446bb8567cfcc3367f8378b15f549cf29cc23", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 2200\ntitle: \"\ud83d\udc65 Our Team\"\n---\n\nimport { TopBanners } from \"@site/src/components/TopBanners\";\n\n<TopBanners />\n\n## \ud83c\udf1f Meet Our Team!\n\nOur team is led by the dedicated creator and founder, [Tim J. Baek](https://github.com/tjbck). Although Tim is currently the only official member of the team, we are incredibly fortunate to have a community of **[amazing contributors](https://github.com/open-webui/open-webui/graphs/contributors)** who find this project valuable and actively participate in its continued success.\n\n### \ud83d\udc93 Our Contributors\n\n<a href=\"https://github.com/open-webui/open-webui/graphs/contributors\">\n  <img\n    src=\"https://contrib.rocks/image?repo=open-webui/open-webui\"\n    alt=\"Contributors\"\n  />\n</a>\n\n### Important Note:"}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/a7885e51-42f2-4f23-918c-0c2adb2e691f
id: d50f72eb-905c-4d43-a72e-09e0e2ab4b01
encoding: FLOAT32
metadata:
{"source": "team.mdx", "name": "team.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5048382e-68e6-45a4-92ec-5743d16aa0ed", "start_index": 736, "hash": "ea5ba1a9698628749a608892225446bb8567cfcc3367f8378b15f549cf29cc23", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Important Note:\n\nTo keep things smooth and organized, please do not contact or `@` mention anyone other than the official maintainer. If you have any questions or need assistance, `@tjbck` is your go-to person. You can also reach out via our official email, hello@openwebui.com. \ud83d\udce8\n\nYour understanding and cooperation are appreciated! \ud83d\udcaa\n\n\nLet's keep building something awesome together! \ud83d\ude80"}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 2e8580ad-d778-4113-8ff9-9b05767e634f
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5048382e-68e6-45a4-92ec-5743d16aa0ed", "hash": "ea5ba1a9698628749a608892225446bb8567cfcc3367f8378b15f549cf29cc23", "name": "team.mdx", "source": "team.mdx", "start_index": 0, "chroma:document": "---\nsidebar_position: 2200\ntitle: \"\ud83d\udc65 Our Team\"\n---\n\nimport { TopBanners } from \"@site/src/components/TopBanners\";\n\n<TopBanners />\n\n## \ud83c\udf1f Meet Our Team!\n\nOur team is led by the dedicated creator and founder, [Tim J. Baek](https://github.com/tjbck). Although Tim is currently the only official member of the team, we are incredibly fortunate to have a community of **[amazing contributors](https://github.com/open-webui/open-webui/graphs/contributors)** who find this project valuable and actively participate in its continued success.\n\n### \ud83d\udc93 Our Contributors\n\n<a href=\"https://github.com/open-webui/open-webui/graphs/contributors\">\n  <img\n    src=\"https://contrib.rocks/image?repo=open-webui/open-webui\"\n    alt=\"Contributors\"\n  />\n</a>\n\n### Important Note:"}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: c1129b1c-82e3-4c77-8d9d-ede9e76ebdf7
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5048382e-68e6-45a4-92ec-5743d16aa0ed", "hash": "ea5ba1a9698628749a608892225446bb8567cfcc3367f8378b15f549cf29cc23", "name": "team.mdx", "source": "team.mdx", "start_index": 0, "chroma:document": "### Important Note:\n\nTo keep things smooth and organized, please do not contact or `@` mention anyone other than the official maintainer. If you have any questions or need assistance, `@tjbck` is your go-to person. You can also reach out via our official email, hello@openwebui.com. \ud83d\udce8\n\nYour understanding and cooperation are appreciated! \ud83d\udcaa\n\n\nLet's keep building something awesome together! \ud83d\ude80"}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/73456240-51cd-4e07-9fce-d02812e7e80a
id: 2748a7d1-045a-47ef-a5b1-1f1c8cc088db
encoding: FLOAT32
metadata:
{"source": "tutorials.md", "name": "tutorials.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "e4cfb2b4-6321-4f4b-8897-c7ae85181586", "start_index": 0, "hash": "517a954df41adab8646b3e6bd100dc3aec83a9b1f6028c383dacf79c5911bedf", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 7\ntitle: \"\ud83d\udcd6 Tutorials\"\n---\n\n# Tutorials\n\n## Tutorials Welcome\n\nAre you a content creator with a blog post or YouTube video about your pipeline setup? Get in touch\nwith us, as we'd love to feature it here!\n\n## Featured Tutorials\n\n[Monitoring Open WebUI with Filters](https://medium.com/@0xthresh/monitor-open-webui-with-datadog-llm-observability-620ef3a598c6) (Medium article by @0xthresh)\n\n- A detailed guide to monitoring the Open WebUI using DataDog LLM observability.\n  \n[Building Customized Text-To-SQL Pipelines](https://www.youtube.com/watch?v=y7frgUWrcT4) (YouTube video by Jordan Nanos)\n\n- Learn how to develop tailored text-to-sql pipelines, unlocking the power of data analysis and extraction.\n\n[Demo and Code Review for Text-To-SQL with Open-WebUI](https://www.youtube.com/watch?v=iLVyEgxGbg4) (YouTube video by Jordan Nanos)\n\n- A hands-on demonstration and code review on utilizing text-to-sql tools powered by the Open WebUI."}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: d4ade033-e9cb-441e-a254-7e85bf699870
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "e4cfb2b4-6321-4f4b-8897-c7ae85181586", "hash": "517a954df41adab8646b3e6bd100dc3aec83a9b1f6028c383dacf79c5911bedf", "name": "tutorials.md", "source": "tutorials.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 7\ntitle: \"\ud83d\udcd6 Tutorials\"\n---\n\n# Tutorials\n\n## Tutorials Welcome\n\nAre you a content creator with a blog post or YouTube video about your pipeline setup? Get in touch\nwith us, as we'd love to feature it here!\n\n## Featured Tutorials\n\n[Monitoring Open WebUI with Filters](https://medium.com/@0xthresh/monitor-open-webui-with-datadog-llm-observability-620ef3a598c6) (Medium article by @0xthresh)\n\n- A detailed guide to monitoring the Open WebUI using DataDog LLM observability.\n  \n[Building Customized Text-To-SQL Pipelines](https://www.youtube.com/watch?v=y7frgUWrcT4) (YouTube video by Jordan Nanos)\n\n- Learn how to develop tailored text-to-sql pipelines, unlocking the power of data analysis and extraction.\n\n[Demo and Code Review for Text-To-SQL with Open-WebUI](https://www.youtube.com/watch?v=iLVyEgxGbg4) (YouTube video by Jordan Nanos)\n\n- A hands-on demonstration and code review on utilizing text-to-sql tools powered by the Open WebUI."}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/ba8760ce-36f0-4e68-b96c-c420a8f98af3
id: 68a81dce-bf25-4a38-bc63-81cc102e05cc
encoding: FLOAT32
metadata:
{"source": "updating.mdx", "name": "updating.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "1ecd1d7d-9ffc-42cd-9cb8-7f52fdafeef3", "start_index": 0, "hash": "9a23895f7c25a1ea87e53ad650026f3adb4bcab453e53b77226efbc3904b5b7d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 300 \ntitle: \"\ud83d\udd04 Updating Open WebUI\"\n---\n\n\n\n## Why isn't my Open WebUI updating?\n\nTo update your local Docker installation of Open WebUI to the latest version available, you can either use **Watchtower** or manually update the container. Follow either of the steps provided below to be guided through updating your existing Open WebUI image.\n\n### Manual Update\n\n1. **Stop and remove the current container**:\n\n   This will stop the running container and remove it, but it won't delete the data stored in the Docker volume. (Replace `open-webui` with your container's name throughout the updating process if it's different for you.)\n\n```bash\ndocker rm -f open-webui\n```\n\n2. **Pull the latest Docker image**:\n\n   This will update the Docker image, but it won't update the running container or its data.\n\n```bash\ndocker pull ghcr.io/open-webui/open-webui:main\n```"}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/ba8760ce-36f0-4e68-b96c-c420a8f98af3
id: b023610b-6464-4d7a-8c84-e53a7f06d702
encoding: FLOAT32
metadata:
{"source": "updating.mdx", "name": "updating.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "1ecd1d7d-9ffc-42cd-9cb8-7f52fdafeef3", "start_index": 822, "hash": "9a23895f7c25a1ea87e53ad650026f3adb4bcab453e53b77226efbc3904b5b7d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "```bash\ndocker pull ghcr.io/open-webui/open-webui:main\n```\n\n\n:::info\n**Remove any existing data in the Docker volume (NOT RECOMMENDED UNLESS ABSOLUTELY NECCESSARY!)**. Skip this step entirely if not needed and move on to the last step:\n\n   If you want to start with a clean slate, you can remove the existing data in the Docker volume. Be careful, as this will delete all your chat histories and other data.\n\n   The data is stored in a Docker volume named `open-webui`. You can remove it with the following command:\n\n```bash\ndocker volume rm open-webui\n```\n:::\n\n3. **Start the container again with the updated image and existing volume attached**:\n\n   If you didn't remove the existing data, this will start the container with the updated image and the existing data. If you removed the existing data, this will start the container with the updated image and a new, empty volume. **For Nvidia GPU support, add `--gpus all` to the docker run command**"}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/ba8760ce-36f0-4e68-b96c-c420a8f98af3
id: 1d983edb-73ea-45b8-8785-6bc45e608598
encoding: FLOAT32
metadata:
{"source": "updating.mdx", "name": "updating.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "1ecd1d7d-9ffc-42cd-9cb8-7f52fdafeef3", "start_index": 1774, "hash": "9a23895f7c25a1ea87e53ad650026f3adb4bcab453e53b77226efbc3904b5b7d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "```bash\ndocker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main\n```\n\n## Automatically Updating Open WebUI with Watchtower\n\nYou can use [Watchtower](https://containrrr.dev/watchtower/) to automate the update process for Open WebUI. Here are three options:\n\n### Option 1: One-time Update\n\nYou can run Watchtower as a one-time update to stop the current container, pull the latest image, and start a new container with the updated image and existing volume attached (**For Nvidia GPU support, add `--gpus all` to the docker run command**):\n\n```bash\ndocker run --rm --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once open-webui\n```\n\n### Option 2: Running Watchtower as a Separate Container\n\nYou can run Watchtower as a separate container that watches and updates your Open WebUI container:"}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/ba8760ce-36f0-4e68-b96c-c420a8f98af3
id: bcf4c801-74c2-41b6-8086-35f8164dde68
encoding: FLOAT32
metadata:
{"source": "updating.mdx", "name": "updating.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "1ecd1d7d-9ffc-42cd-9cb8-7f52fdafeef3", "start_index": 2550, "hash": "9a23895f7c25a1ea87e53ad650026f3adb4bcab453e53b77226efbc3904b5b7d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "You can run Watchtower as a separate container that watches and updates your Open WebUI container:\n\n```bash\ndocker run -d --name watchtower \\\n  --volume /var/run/docker.sock:/var/run/docker.sock \\\n  containrrr/watchtower -i 300 open-webui\n```\n\nThis will start Watchtower in detached mode, watching your Open WebUI container for updates every 5 minutes.\n\n### Option 3: Integrating Watchtower with a `docker-compose.yml` File\n\nYou can also integrate Watchtower with your `docker-compose.yml` file to automate updates for Open WebUI (**For Nvidia GPU support, add `--gpus all` to the docker run command**):\n\n```yml\nversion: '3'\nservices:\n  open-webui:\n    image: ghcr.io/open-webui/open-webui:main\n    ports:\n      - \"3000:8080\"\n    volumes:\n      - open-webui:/app/backend/data\n\n  watchtower:\n    image: containrrr/watchtower\n    volumes:\n      - /var/run/docker.sock:/var/run/docker.sock\n    command: --interval 300 open-webui\n    depends_on:\n      - open-webui\n\nvolumes:\n  open-webui:\n```"}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/ba8760ce-36f0-4e68-b96c-c420a8f98af3
id: 0902b672-2702-4c75-a8a8-1b1bb7030a47
encoding: FLOAT32
metadata:
{"source": "updating.mdx", "name": "updating.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "1ecd1d7d-9ffc-42cd-9cb8-7f52fdafeef3", "start_index": 3512, "hash": "9a23895f7c25a1ea87e53ad650026f3adb4bcab453e53b77226efbc3904b5b7d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "volumes:\n  open-webui:\n```\n\nIn this example, Watchtower is integrated with the `docker-compose.yml` file and watches the Open WebUI container for updates every 5 minutes.\n\n## Persistent Data in Docker Volumes\n\nThe data is stored in a Docker volume named `open-webui`. The path to the volume is not directly accessible, but you can inspect the volume with the following command:\n\n```bash\ndocker volume inspect open-webui\n```\n\nThis will show you the details of the volume, including the mountpoint, which is usually located in `/var/lib/docker/volumes/open-webui/_data`."}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 28b699a0-fffc-435b-9961-eeff69ed1cbb
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "1ecd1d7d-9ffc-42cd-9cb8-7f52fdafeef3", "hash": "9a23895f7c25a1ea87e53ad650026f3adb4bcab453e53b77226efbc3904b5b7d", "name": "updating.mdx", "source": "updating.mdx", "start_index": 0, "chroma:document": "---\nsidebar_position: 300 \ntitle: \"\ud83d\udd04 Updating Open WebUI\"\n---\n\n\n\n## Why isn't my Open WebUI updating?\n\nTo update your local Docker installation of Open WebUI to the latest version available, you can either use **Watchtower** or manually update the container. Follow either of the steps provided below to be guided through updating your existing Open WebUI image.\n\n### Manual Update\n\n1. **Stop and remove the current container**:\n\n   This will stop the running container and remove it, but it won't delete the data stored in the Docker volume. (Replace `open-webui` with your container's name throughout the updating process if it's different for you.)\n\n```bash\ndocker rm -f open-webui\n```\n\n2. **Pull the latest Docker image**:\n\n   This will update the Docker image, but it won't update the running container or its data.\n\n```bash\ndocker pull ghcr.io/open-webui/open-webui:main\n```"}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 0d19dcb8-28f5-4008-a06c-f178c1e8e169
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "1ecd1d7d-9ffc-42cd-9cb8-7f52fdafeef3", "hash": "9a23895f7c25a1ea87e53ad650026f3adb4bcab453e53b77226efbc3904b5b7d", "name": "updating.mdx", "source": "updating.mdx", "start_index": 0, "chroma:document": "```bash\ndocker pull ghcr.io/open-webui/open-webui:main\n```\n\n\n:::info\n**Remove any existing data in the Docker volume (NOT RECOMMENDED UNLESS ABSOLUTELY NECCESSARY!)**. Skip this step entirely if not needed and move on to the last step:\n\n   If you want to start with a clean slate, you can remove the existing data in the Docker volume. Be careful, as this will delete all your chat histories and other data.\n\n   The data is stored in a Docker volume named `open-webui`. You can remove it with the following command:\n\n```bash\ndocker volume rm open-webui\n```\n:::\n\n3. **Start the container again with the updated image and existing volume attached**:\n\n   If you didn't remove the existing data, this will start the container with the updated image and the existing data. If you removed the existing data, this will start the container with the updated image and a new, empty volume. **For Nvidia GPU support, add `--gpus all` to the docker run command**"}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 7d149a12-4653-423e-b882-66498d4aa99d
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "1ecd1d7d-9ffc-42cd-9cb8-7f52fdafeef3", "hash": "9a23895f7c25a1ea87e53ad650026f3adb4bcab453e53b77226efbc3904b5b7d", "name": "updating.mdx", "source": "updating.mdx", "start_index": 0, "chroma:document": "```bash\ndocker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main\n```\n\n## Automatically Updating Open WebUI with Watchtower\n\nYou can use [Watchtower](https://containrrr.dev/watchtower/) to automate the update process for Open WebUI. Here are three options:\n\n### Option 1: One-time Update\n\nYou can run Watchtower as a one-time update to stop the current container, pull the latest image, and start a new container with the updated image and existing volume attached (**For Nvidia GPU support, add `--gpus all` to the docker run command**):\n\n```bash\ndocker run --rm --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once open-webui\n```\n\n### Option 2: Running Watchtower as a Separate Container\n\nYou can run Watchtower as a separate container that watches and updates your Open WebUI container:"}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: a5281b32-8517-4923-9505-01b2761639be
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "1ecd1d7d-9ffc-42cd-9cb8-7f52fdafeef3", "hash": "9a23895f7c25a1ea87e53ad650026f3adb4bcab453e53b77226efbc3904b5b7d", "name": "updating.mdx", "source": "updating.mdx", "start_index": 0, "chroma:document": "You can run Watchtower as a separate container that watches and updates your Open WebUI container:\n\n```bash\ndocker run -d --name watchtower \\\n  --volume /var/run/docker.sock:/var/run/docker.sock \\\n  containrrr/watchtower -i 300 open-webui\n```\n\nThis will start Watchtower in detached mode, watching your Open WebUI container for updates every 5 minutes.\n\n### Option 3: Integrating Watchtower with a `docker-compose.yml` File\n\nYou can also integrate Watchtower with your `docker-compose.yml` file to automate updates for Open WebUI (**For Nvidia GPU support, add `--gpus all` to the docker run command**):\n\n```yml\nversion: '3'\nservices:\n  open-webui:\n    image: ghcr.io/open-webui/open-webui:main\n    ports:\n      - \"3000:8080\"\n    volumes:\n      - open-webui:/app/backend/data\n\n  watchtower:\n    image: containrrr/watchtower\n    volumes:\n      - /var/run/docker.sock:/var/run/docker.sock\n    command: --interval 300 open-webui\n    depends_on:\n      - open-webui\n\nvolumes:\n  open-webui:\n```"}


created_at: 2024-12-28 04:06:38
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: b73bfed5-d033-4159-b2f0-1561bff61021
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "1ecd1d7d-9ffc-42cd-9cb8-7f52fdafeef3", "hash": "9a23895f7c25a1ea87e53ad650026f3adb4bcab453e53b77226efbc3904b5b7d", "name": "updating.mdx", "source": "updating.mdx", "start_index": 0, "chroma:document": "volumes:\n  open-webui:\n```\n\nIn this example, Watchtower is integrated with the `docker-compose.yml` file and watches the Open WebUI container for updates every 5 minutes.\n\n## Persistent Data in Docker Volumes\n\nThe data is stored in a Docker volume named `open-webui`. The path to the volume is not directly accessible, but you can inspect the volume with the following command:\n\n```bash\ndocker volume inspect open-webui\n```\n\nThis will show you the details of the volume, including the mountpoint, which is usually located in `/var/lib/docker/volumes/open-webui/_data`."}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/e608a50e-296d-498d-8160-dd189c5fef8f
id: 3e8633d8-74ad-4279-8704-c1b7a3d2a9b1
encoding: FLOAT32
metadata:
{"source": "url-params.md", "name": "url-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "9179a9f3-8390-4481-b08b-22b5fda41f3f", "start_index": 0, "hash": "43e4d5f2c7ba54a95b1cd1d6214c70bccddc42441e0299e3c4786ce859e4bcb2", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 5\ntitle: \"\ud83d\udd17 URL Parameters\"\n---\n\nIn Open WebUI, chat sessions can be customized through various URL parameters. These parameters allow you to set specific configurations, enable features, and define model settings on a per-chat basis. This approach provides flexibility and control over individual chat sessions directly from the URL.\n\n## URL Parameter Overview\n\nThe following table lists the available URL parameters, their function, and example usage."}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/e608a50e-296d-498d-8160-dd189c5fef8f
id: 5c9a1512-ee8b-4b7f-b9e7-6dcf0bba1c91
encoding: FLOAT32
metadata:
{"source": "url-params.md", "name": "url-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "9179a9f3-8390-4481-b08b-22b5fda41f3f", "start_index": 477, "hash": "43e4d5f2c7ba54a95b1cd1d6214c70bccddc42441e0299e3c4786ce859e4bcb2", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "| **Parameter**      | **Description**                                                                  | **Example**                          |\n|-----------------------|----------------------------------------------------------------------------------|--------------------------------------------------------|\n| `models`           | Specifies the models to be used, as a comma-separated list.                     | `/?models=model1,model2`         |\n| `model`            | Specifies a single model to be used for the chat session.                       | `/?model=model1`                 |\n| `youtube`          | Specifies a YouTube video ID to be transcribed within the chat.                 | `/?youtube=VIDEO_ID`             |\n| `web-search`       | Enables web search functionality if set to `true`.                              | `/?web-search=true`              |"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/e608a50e-296d-498d-8160-dd189c5fef8f
id: 7b4e29f7-1aaf-432b-8a4a-ff6c33ea0463
encoding: FLOAT32
metadata:
{"source": "url-params.md", "name": "url-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "9179a9f3-8390-4481-b08b-22b5fda41f3f", "start_index": 1348, "hash": "43e4d5f2c7ba54a95b1cd1d6214c70bccddc42441e0299e3c4786ce859e4bcb2", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "| `tools` or `tool-ids` | Specifies a comma-separated list of tool IDs to activate in the chat.          | `/?tools=tool1,tool2`            |\n| `call`             | Enables a call overlay if set to `true`.                                        | `/?call=true`                    |\n| `q`                | Sets an initial query or prompt for the chat.                                   | `/?q=Hello%20there`              |\n| `temporary-chat`   | Marks the chat as temporary if set to `true`, for one-time sessions.            | `/?temporary-chat=true`          |"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/e608a50e-296d-498d-8160-dd189c5fef8f
id: 75ebe9b9-832e-4eb9-80e9-f89dfeb434ba
encoding: FLOAT32
metadata:
{"source": "url-params.md", "name": "url-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "9179a9f3-8390-4481-b08b-22b5fda41f3f", "start_index": 1911, "hash": "43e4d5f2c7ba54a95b1cd1d6214c70bccddc42441e0299e3c4786ce859e4bcb2", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### 1. **Models and Model Selection**\n\n- **Description**: The `models` and `model` parameters allow you to specify which [language models](/features/workspace/models.md) should be used for a particular chat session.\n- **How to Set**: You can use either `models` for multiple models or `model` for a single model.\n- **Example**:\n  - `/?models=model1,model2` \u2013 This initializes the chat with `model1` and `model2`.\n  - `/?model=model1` \u2013 This sets `model1` as the sole model for the chat.\n\n### 2. **YouTube Transcription**\n\n- **Description**: The `youtube` parameter takes a YouTube video ID, enabling the chat to transcribe the specified video.\n- **How to Set**: Use the YouTube video ID as the value for this parameter.\n- **Example**: `/?youtube=VIDEO_ID`\n- **Behavior**: This triggers transcription functionality within the chat for the provided YouTube video.\n\n### 3. **Web Search**"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/e608a50e-296d-498d-8160-dd189c5fef8f
id: 301256f4-8b96-4866-9988-dcbc3a9b6b7e
encoding: FLOAT32
metadata:
{"source": "url-params.md", "name": "url-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "9179a9f3-8390-4481-b08b-22b5fda41f3f", "start_index": 2774, "hash": "43e4d5f2c7ba54a95b1cd1d6214c70bccddc42441e0299e3c4786ce859e4bcb2", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### 3. **Web Search**\n\n- **Description**: Enabling `web-search` allows the chat session to access [web search](/tutorials/integrations/web_search) functionality.\n- **How to Set**: Set this parameter to `true` to enable web search.\n- **Example**: `/?web-search=true`\n- **Behavior**: If enabled, the chat can retrieve web search results as part of its responses.\n\n### 4. **Tool Selection**\n\n- **Description**: The `tools` or `tool-ids` parameters specify which [tools](/features/plugin/tools) to activate within the chat.\n- **How to Set**: Provide a comma-separated list of tool IDs as the parameter's value.\n- **Example**: `/?tools=tool1,tool2` or `/?tool-ids=tool1,tool2`\n- **Behavior**: Each tool ID is matched and activated within the session for user interaction.\n\n### 5. **Call Overlay**"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/e608a50e-296d-498d-8160-dd189c5fef8f
id: b9522e85-065e-490a-bbf3-f861004ef810
encoding: FLOAT32
metadata:
{"source": "url-params.md", "name": "url-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "9179a9f3-8390-4481-b08b-22b5fda41f3f", "start_index": 3542, "hash": "43e4d5f2c7ba54a95b1cd1d6214c70bccddc42441e0299e3c4786ce859e4bcb2", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### 5. **Call Overlay**\n\n- **Description**: The `call` parameter enables a video or call overlay in the chat interface.\n- **How to Set**: Set the parameter to `true` to enable the call overlay.\n- **Example**: `/?call=true`\n- **Behavior**: Activates a call interface overlay, allowing features such as live transcription and video input.\n\n### 6. **Initial Query Prompt**\n\n- **Description**: The `q` parameter allows setting an initial query or prompt for the chat.\n- **How to Set**: Specify the query or prompt text as the parameter value.\n- **Example**: `/?q=Hello%20there`\n- **Behavior**: The chat starts with the specified prompt, automatically submitting it as the first message.\n\n### 7. **Temporary Chat Sessions**"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/e608a50e-296d-498d-8160-dd189c5fef8f
id: e0ddc9e1-7156-4a18-917a-96afc6adaeea
encoding: FLOAT32
metadata:
{"source": "url-params.md", "name": "url-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "9179a9f3-8390-4481-b08b-22b5fda41f3f", "start_index": 4226, "hash": "43e4d5f2c7ba54a95b1cd1d6214c70bccddc42441e0299e3c4786ce859e4bcb2", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### 7. **Temporary Chat Sessions**\n\n- **Description**: The `temporary-chat` parameter marks the chat as a temporary session. This may limit features such as saving chat history or applying persistent settings.\n- **How to Set**: Set this parameter to `true` for a temporary chat session.\n- **Example**: `/?temporary-chat=true`\n- **Behavior**: This initiates a disposable chat session without saving history or applying advanced configurations.\n\n<details>\n<summary>Example Use Case</summary>\n:::tip **Temporary Chat Session**\nSuppose a user wants to initiate a quick chat session without saving the history. They can do so by setting `temporary-chat=true` in the URL. This provides a disposable chat environment ideal for one-time interactions.\n:::\n</details>\n\n## Using Multiple Parameters Together\n\nThese URL parameters can be combined to create highly customized chat sessions. For example:"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/e608a50e-296d-498d-8160-dd189c5fef8f
id: aba8ff2f-272b-4685-8336-aabf70433cd9
encoding: FLOAT32
metadata:
{"source": "url-params.md", "name": "url-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "9179a9f3-8390-4481-b08b-22b5fda41f3f", "start_index": 5024, "hash": "43e4d5f2c7ba54a95b1cd1d6214c70bccddc42441e0299e3c4786ce859e4bcb2", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "These URL parameters can be combined to create highly customized chat sessions. For example:\n\n```bash\n/chat?models=model1,model2&youtube=VIDEO_ID&web-search=true&tools=tool1,tool2&call=true&q=Hello%20there&temporary-chat=true\n```\n\nThis URL will:\n\n- Initialize the chat with `model1` and `model2`.\n- Enable YouTube transcription, web search, and specified tools.\n- Display a call overlay.\n- Set an initial prompt of \"Hello there.\"\n- Mark the chat as temporary, avoiding any history saving."}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 249f04d8-65f6-4877-8a02-5a7a05f36b3e
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "9179a9f3-8390-4481-b08b-22b5fda41f3f", "hash": "43e4d5f2c7ba54a95b1cd1d6214c70bccddc42441e0299e3c4786ce859e4bcb2", "name": "url-params.md", "source": "url-params.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 5\ntitle: \"\ud83d\udd17 URL Parameters\"\n---\n\nIn Open WebUI, chat sessions can be customized through various URL parameters. These parameters allow you to set specific configurations, enable features, and define model settings on a per-chat basis. This approach provides flexibility and control over individual chat sessions directly from the URL.\n\n## URL Parameter Overview\n\nThe following table lists the available URL parameters, their function, and example usage."}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: fd8bfab5-d4c3-4578-941d-3c81bb16ffbd
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "9179a9f3-8390-4481-b08b-22b5fda41f3f", "hash": "43e4d5f2c7ba54a95b1cd1d6214c70bccddc42441e0299e3c4786ce859e4bcb2", "name": "url-params.md", "source": "url-params.md", "start_index": 0, "chroma:document": "| **Parameter**      | **Description**                                                                  | **Example**                          |\n|-----------------------|----------------------------------------------------------------------------------|--------------------------------------------------------|\n| `models`           | Specifies the models to be used, as a comma-separated list.                     | `/?models=model1,model2`         |\n| `model`            | Specifies a single model to be used for the chat session.                       | `/?model=model1`                 |\n| `youtube`          | Specifies a YouTube video ID to be transcribed within the chat.                 | `/?youtube=VIDEO_ID`             |\n| `web-search`       | Enables web search functionality if set to `true`.                              | `/?web-search=true`              |"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 20b334b6-4ea3-4426-a648-4f27cfdb6acc
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "9179a9f3-8390-4481-b08b-22b5fda41f3f", "hash": "43e4d5f2c7ba54a95b1cd1d6214c70bccddc42441e0299e3c4786ce859e4bcb2", "name": "url-params.md", "source": "url-params.md", "start_index": 0, "chroma:document": "| `tools` or `tool-ids` | Specifies a comma-separated list of tool IDs to activate in the chat.          | `/?tools=tool1,tool2`            |\n| `call`             | Enables a call overlay if set to `true`.                                        | `/?call=true`                    |\n| `q`                | Sets an initial query or prompt for the chat.                                   | `/?q=Hello%20there`              |\n| `temporary-chat`   | Marks the chat as temporary if set to `true`, for one-time sessions.            | `/?temporary-chat=true`          |"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: a2ea4bf0-96fc-4b6c-be9e-50ad22570c11
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "9179a9f3-8390-4481-b08b-22b5fda41f3f", "hash": "43e4d5f2c7ba54a95b1cd1d6214c70bccddc42441e0299e3c4786ce859e4bcb2", "name": "url-params.md", "source": "url-params.md", "start_index": 0, "chroma:document": "### 1. **Models and Model Selection**\n\n- **Description**: The `models` and `model` parameters allow you to specify which [language models](/features/workspace/models.md) should be used for a particular chat session.\n- **How to Set**: You can use either `models` for multiple models or `model` for a single model.\n- **Example**:\n  - `/?models=model1,model2` \u2013 This initializes the chat with `model1` and `model2`.\n  - `/?model=model1` \u2013 This sets `model1` as the sole model for the chat.\n\n### 2. **YouTube Transcription**\n\n- **Description**: The `youtube` parameter takes a YouTube video ID, enabling the chat to transcribe the specified video.\n- **How to Set**: Use the YouTube video ID as the value for this parameter.\n- **Example**: `/?youtube=VIDEO_ID`\n- **Behavior**: This triggers transcription functionality within the chat for the provided YouTube video.\n\n### 3. **Web Search**"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 251baed5-8794-438d-9bad-38b03dfeed0f
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "9179a9f3-8390-4481-b08b-22b5fda41f3f", "hash": "43e4d5f2c7ba54a95b1cd1d6214c70bccddc42441e0299e3c4786ce859e4bcb2", "name": "url-params.md", "source": "url-params.md", "start_index": 0, "chroma:document": "### 3. **Web Search**\n\n- **Description**: Enabling `web-search` allows the chat session to access [web search](/tutorials/integrations/web_search) functionality.\n- **How to Set**: Set this parameter to `true` to enable web search.\n- **Example**: `/?web-search=true`\n- **Behavior**: If enabled, the chat can retrieve web search results as part of its responses.\n\n### 4. **Tool Selection**\n\n- **Description**: The `tools` or `tool-ids` parameters specify which [tools](/features/plugin/tools) to activate within the chat.\n- **How to Set**: Provide a comma-separated list of tool IDs as the parameter's value.\n- **Example**: `/?tools=tool1,tool2` or `/?tool-ids=tool1,tool2`\n- **Behavior**: Each tool ID is matched and activated within the session for user interaction.\n\n### 5. **Call Overlay**"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 2a3ffeb0-6567-4815-a8da-2c5d72436fb4
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "9179a9f3-8390-4481-b08b-22b5fda41f3f", "hash": "43e4d5f2c7ba54a95b1cd1d6214c70bccddc42441e0299e3c4786ce859e4bcb2", "name": "url-params.md", "source": "url-params.md", "start_index": 0, "chroma:document": "### 5. **Call Overlay**\n\n- **Description**: The `call` parameter enables a video or call overlay in the chat interface.\n- **How to Set**: Set the parameter to `true` to enable the call overlay.\n- **Example**: `/?call=true`\n- **Behavior**: Activates a call interface overlay, allowing features such as live transcription and video input.\n\n### 6. **Initial Query Prompt**\n\n- **Description**: The `q` parameter allows setting an initial query or prompt for the chat.\n- **How to Set**: Specify the query or prompt text as the parameter value.\n- **Example**: `/?q=Hello%20there`\n- **Behavior**: The chat starts with the specified prompt, automatically submitting it as the first message.\n\n### 7. **Temporary Chat Sessions**"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: eaa3ffe4-c269-4e72-9012-7411eab782eb
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "9179a9f3-8390-4481-b08b-22b5fda41f3f", "hash": "43e4d5f2c7ba54a95b1cd1d6214c70bccddc42441e0299e3c4786ce859e4bcb2", "name": "url-params.md", "source": "url-params.md", "start_index": 0, "chroma:document": "### 7. **Temporary Chat Sessions**\n\n- **Description**: The `temporary-chat` parameter marks the chat as a temporary session. This may limit features such as saving chat history or applying persistent settings.\n- **How to Set**: Set this parameter to `true` for a temporary chat session.\n- **Example**: `/?temporary-chat=true`\n- **Behavior**: This initiates a disposable chat session without saving history or applying advanced configurations.\n\n<details>\n<summary>Example Use Case</summary>\n:::tip **Temporary Chat Session**\nSuppose a user wants to initiate a quick chat session without saving the history. They can do so by setting `temporary-chat=true` in the URL. This provides a disposable chat environment ideal for one-time interactions.\n:::\n</details>\n\n## Using Multiple Parameters Together\n\nThese URL parameters can be combined to create highly customized chat sessions. For example:"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: cf2bffb3-ee69-45c7-85ea-963f98359818
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "9179a9f3-8390-4481-b08b-22b5fda41f3f", "hash": "43e4d5f2c7ba54a95b1cd1d6214c70bccddc42441e0299e3c4786ce859e4bcb2", "name": "url-params.md", "source": "url-params.md", "start_index": 0, "chroma:document": "These URL parameters can be combined to create highly customized chat sessions. For example:\n\n```bash\n/chat?models=model1,model2&youtube=VIDEO_ID&web-search=true&tools=tool1,tool2&call=true&q=Hello%20there&temporary-chat=true\n```\n\nThis URL will:\n\n- Initialize the chat with `model1` and `model2`.\n- Enable YouTube transcription, web search, and specified tools.\n- Display a call overlay.\n- Set an initial prompt of \"Hello there.\"\n- Mark the chat as temporary, avoiding any history saving."}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/9aad5974-b81f-41ee-a2b7-babaf24b9932
id: da649b21-7389-4a19-80c7-25600a7987e9
encoding: FLOAT32
metadata:
{"source": "usergroup-perms.md", "name": "usergroup-perms.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "63da15cd-4a7d-4f9b-bbb5-2a8cc61cb655", "start_index": 0, "hash": "2b5916dcf53283e98787f1eea1129f9ca28e68d83e63dfd9619005fb0a9ef752", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 0\ntitle: \"\u2611\ufe0f User Group Permissions\"\n---\n\nCOMING SOON!"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 2b6106aa-a337-4c93-8d59-f85ddf93d2d3
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "63da15cd-4a7d-4f9b-bbb5-2a8cc61cb655", "hash": "2b5916dcf53283e98787f1eea1129f9ca28e68d83e63dfd9619005fb0a9ef752", "name": "usergroup-perms.md", "source": "usergroup-perms.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 0\ntitle: \"\u2611\ufe0f User Group Permissions\"\n---\n\nCOMING SOON!"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/f9e71807-922b-4ba3-a103-41660b9eb684
id: 288728b3-b513-494a-a5e0-e1e85854aae2
encoding: FLOAT32
metadata:
{"source": "valves.md", "name": "valves.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "4389a084-726e-48a5-8765-bc0809612c63", "start_index": 0, "hash": "b26d6910a8f9ee5bcc0cdc901de1f22cd2605d668c74eaea7e5ae6f404a4d26e", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 3\ntitle: \"\u2699\ufe0f Valves\"\n---\n\n# Valves\n\nValves are input variables that are set per pipeline. Valves are set as a subclass of the `Pipeline` class, and initialized as part of the `__init__` method of the `Pipeline` class.\n\nWhen adding valves to your pipeline, include a way to ensure that valves can be reconfigured by admins in the web UI. There are a few options for this:\n\n- Use `os.getenv()` to set an environment variable to use for the pipeline, and a default value to use if the environment variable isn't set. An example can be seen below:\n\n```\nself.valves = self.Valves(\n    **{\n        \"LLAMAINDEX_OLLAMA_BASE_URL\": os.getenv(\"LLAMAINDEX_OLLAMA_BASE_URL\", \"http://localhost:11434\"),\n        \"LLAMAINDEX_MODEL_NAME\": os.getenv(\"LLAMAINDEX_MODEL_NAME\", \"llama3\"),\n        \"LLAMAINDEX_EMBEDDING_MODEL_NAME\": os.getenv(\"LLAMAINDEX_EMBEDDING_MODEL_NAME\", \"nomic-embed-text\"),\n    }\n)\n```"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/f9e71807-922b-4ba3-a103-41660b9eb684
id: af81e3fb-9400-469d-9003-6c96e10c6f21
encoding: FLOAT32
metadata:
{"source": "valves.md", "name": "valves.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "4389a084-726e-48a5-8765-bc0809612c63", "start_index": 912, "hash": "b26d6910a8f9ee5bcc0cdc901de1f22cd2605d668c74eaea7e5ae6f404a4d26e", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- Set the valve to the `Optional` type, which will allow the pipeline to load even if no value is set for the valve.\n\n```\nclass Pipeline:\n    class Valves(BaseModel):\n        target_user_roles: List[str] = [\"user\"]\n        max_turns: Optional[int] = None\n```\n\nIf you don't leave a way for valves to be updated in the web UI, you'll see the following error in the Pipelines server log after trying to add a pipeline to the web UI:\n`WARNING:root:No Pipeline class found in <pipeline name>`"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: cd48fcb7-c13a-4591-bb57-604cf91332dc
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "4389a084-726e-48a5-8765-bc0809612c63", "hash": "b26d6910a8f9ee5bcc0cdc901de1f22cd2605d668c74eaea7e5ae6f404a4d26e", "name": "valves.md", "source": "valves.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 3\ntitle: \"\u2699\ufe0f Valves\"\n---\n\n# Valves\n\nValves are input variables that are set per pipeline. Valves are set as a subclass of the `Pipeline` class, and initialized as part of the `__init__` method of the `Pipeline` class.\n\nWhen adding valves to your pipeline, include a way to ensure that valves can be reconfigured by admins in the web UI. There are a few options for this:\n\n- Use `os.getenv()` to set an environment variable to use for the pipeline, and a default value to use if the environment variable isn't set. An example can be seen below:\n\n```\nself.valves = self.Valves(\n    **{\n        \"LLAMAINDEX_OLLAMA_BASE_URL\": os.getenv(\"LLAMAINDEX_OLLAMA_BASE_URL\", \"http://localhost:11434\"),\n        \"LLAMAINDEX_MODEL_NAME\": os.getenv(\"LLAMAINDEX_MODEL_NAME\", \"llama3\"),\n        \"LLAMAINDEX_EMBEDDING_MODEL_NAME\": os.getenv(\"LLAMAINDEX_EMBEDDING_MODEL_NAME\", \"nomic-embed-text\"),\n    }\n)\n```"}


created_at: 2024-12-28 04:06:39
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: e726dda7-994b-4786-8c28-3746f1cac144
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "4389a084-726e-48a5-8765-bc0809612c63", "hash": "b26d6910a8f9ee5bcc0cdc901de1f22cd2605d668c74eaea7e5ae6f404a4d26e", "name": "valves.md", "source": "valves.md", "start_index": 0, "chroma:document": "- Set the valve to the `Optional` type, which will allow the pipeline to load even if no value is set for the valve.\n\n```\nclass Pipeline:\n    class Valves(BaseModel):\n        target_user_roles: List[str] = [\"user\"]\n        max_turns: Optional[int] = None\n```\n\nIf you don't leave a way for valves to be updated in the web UI, you'll see the following error in the Pipelines server log after trying to add a pipeline to the web UI:\n`WARNING:root:No Pipeline class found in <pipeline name>`"}


created_at: 2024-12-28 04:06:40
topic: persistent://default/default/2411047d-3f20-41df-ba01-6c42d1d6caf0
id: 7499f401-6848-4046-8a1a-cb1fed5bf0a8
encoding: FLOAT32
metadata:
{"source": "Venv.md", "name": "Venv.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "d5570d12-8b55-4d45-8e2c-06a22fd85f20", "start_index": 1, "hash": "db3a83ee4c8020278273fd802b7261378e3f1925a854598b72ef249b37424c8d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "# Using Virtual Environments\n\nCreate isolated Python environments using `venv`.\n\n## Steps\n\n1. **Create a Virtual Environment:**\n\n   ```bash\n   python3 -m venv venv\n   ```\n\n2. **Activate the Virtual Environment:**\n\n   - On Linux/macOS:\n\n     ```bash\n     source venv/bin/activate\n     ```\n\n   - On Windows:\n\n     ```bash\n     venv\\Scripts\\activate\n     ```\n\n3. **Install Open WebUI:**\n\n   ```bash\n   pip install open-webui\n   ```\n\n4. **Start the Server:**\n\n   ```bash\n   open-webui serve\n   ```"}


created_at: 2024-12-28 04:06:40
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: aa4b9679-20a7-44fa-a31f-ea5f63e11ad6
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "d5570d12-8b55-4d45-8e2c-06a22fd85f20", "hash": "db3a83ee4c8020278273fd802b7261378e3f1925a854598b72ef249b37424c8d", "name": "Venv.md", "source": "Venv.md", "start_index": 0, "chroma:document": "# Using Virtual Environments\n\nCreate isolated Python environments using `venv`.\n\n## Steps\n\n1. **Create a Virtual Environment:**\n\n   ```bash\n   python3 -m venv venv\n   ```\n\n2. **Activate the Virtual Environment:**\n\n   - On Linux/macOS:\n\n     ```bash\n     source venv/bin/activate\n     ```\n\n   - On Windows:\n\n     ```bash\n     venv\\Scripts\\activate\n     ```\n\n3. **Install Open WebUI:**\n\n   ```bash\n   pip install open-webui\n   ```\n\n4. **Start the Server:**\n\n   ```bash\n   open-webui serve\n   ```"}


created_at: 2024-12-28 04:06:40
topic: persistent://default/default/e5baeb02-4645-4ce8-a60b-7ec0e337b546
id: 66eb918f-be15-4095-b095-8e0e31ec7056
encoding: FLOAT32
metadata:
{"source": "videocall.md", "name": "videocall.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "f8fe8ffd-8ef8-4b1c-a9a6-c598a77c7c1e", "start_index": 0, "hash": "110a73d3642ae26a228eb54f1d5269a7b25227bd743dd65b4f3c11a49c021e58", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 10\ntitle: \"\ud83d\udcf9 Video Call\"\n---\n\nCOMING SOON!\n\n\ud83d\udcf9 Video Call Feature: Enable video calls with supported vision models like LlaVA and GPT-4o, adding a visual dimension to your communications.\n\n    Both Camera & Microphone access is required using a secure connection over HTTPS for this feature to work."}


created_at: 2024-12-28 04:06:40
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: be86db90-bbc2-4d8c-adde-06a7ba5a1201
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "f8fe8ffd-8ef8-4b1c-a9a6-c598a77c7c1e", "hash": "110a73d3642ae26a228eb54f1d5269a7b25227bd743dd65b4f3c11a49c021e58", "name": "videocall.md", "source": "videocall.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 10\ntitle: \"\ud83d\udcf9 Video Call\"\n---\n\nCOMING SOON!\n\n\ud83d\udcf9 Video Call Feature: Enable video calls with supported vision models like LlaVA and GPT-4o, adding a visual dimension to your communications.\n\n    Both Camera & Microphone access is required using a secure connection over HTTPS for this feature to work."}


created_at: 2024-12-28 04:06:40
topic: persistent://default/default/463a4c92-4922-4f81-9e56-b60bea6d2bad
id: d5735ce1-cab9-4fac-9767-e06436993f1c
encoding: FLOAT32
metadata:
{"source": "voicecall.md", "name": "voicecall.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "f73be74c-db69-42cf-a051-2dc43fbb085b", "start_index": 0, "hash": "4bd988924cfc2ec48632d5d69b0380c0167470adb88e84da797d9cb759c70f72", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 9\ntitle: \"\ud83c\udf99\ufe0f Hands-Free Voice Call\"\n---\n\nCOMING SOON!\n\n\ud83c\udf99\ufe0f Hands-Free Voice Call Feature: Initiate voice calls without needing to use your hands, making interactions more seamless.\n\n    Microphone access is required using a secure connection over HTTPS for this feature to work."}


created_at: 2024-12-28 04:06:40
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: dc4255c0-f4ae-44ce-9d02-0e984eb0d2df
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "f73be74c-db69-42cf-a051-2dc43fbb085b", "hash": "4bd988924cfc2ec48632d5d69b0380c0167470adb88e84da797d9cb759c70f72", "name": "voicecall.md", "source": "voicecall.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 9\ntitle: \"\ud83c\udf99\ufe0f Hands-Free Voice Call\"\n---\n\nCOMING SOON!\n\n\ud83c\udf99\ufe0f Hands-Free Voice Call Feature: Initiate voice calls without needing to use your hands, making interactions more seamless.\n\n    Microphone access is required using a secure connection over HTTPS for this feature to work."}


created_at: 2024-12-28 04:06:40
topic: persistent://default/default/0522bbef-439b-4e40-b612-fdda5cadfd8e
id: de3dfe97-cfa0-46e1-8a92-801e4ab3184a
encoding: FLOAT32
metadata:
{"source": "webapi.md", "name": "webapi.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "84237fed-9b3b-495f-9e2b-28d2f5cf0668", "start_index": 0, "hash": "c21ce6ba5611afdebb370ccb4afa757d84099383b1554a91336f353a57646855", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 2\ntitle: \"\ud83d\udde8\ufe0f Web API\"\n---\n\nComing soon!"}


created_at: 2024-12-28 04:06:40
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 743c9378-d26a-471d-a3bf-68af332b8aa4
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "84237fed-9b3b-495f-9e2b-28d2f5cf0668", "hash": "c21ce6ba5611afdebb370ccb4afa757d84099383b1554a91336f353a57646855", "name": "webapi.md", "source": "webapi.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 2\ntitle: \"\ud83d\udde8\ufe0f Web API\"\n---\n\nComing soon!"}


created_at: 2024-12-28 04:06:40
topic: persistent://default/default/9bb00f92-4667-4f92-a2be-10580996b5cb
id: 396b0f37-40d4-41d4-941e-5e01ce33a172
encoding: FLOAT32
metadata:
{"source": "webhooks.md", "name": "webhooks.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "40d0e2b9-8a50-4ccd-9549-b77df0dd76a6", "start_index": 0, "hash": "68c62e3a3bb6f9aa69d15b1c54f5d8c92af59f948b3371e6531474f845e6280e", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 17\ntitle: \"\ud83e\ude9d Webhook Integrations\"\n---\n\nOverview\n--------\n\nOpen WebUI provides a webhook feature that allows you to receive notifications automatically whenever new users sign up to your instance. This is done by providing a webhook URL to Open WebUI, which will then send notifications to that URL when a new user account is created.\n\nConfiguring Webhooks in Open WebUI\n---------------------------------\n\nYou will need to obtain a webhook URL from an external service that supports webhooks, such as a Discord channel or a Slack workspace. This URL will be used to receive notifications from Open WebUI.\n\nTo configure webhooks in Open WebUI, you have two options:\n\n### Option 1: Configure through the Admin Interface"}


created_at: 2024-12-28 04:06:40
topic: persistent://default/default/9bb00f92-4667-4f92-a2be-10580996b5cb
id: c943ef69-87b0-41d6-8032-82ff5b0ef4c8
encoding: FLOAT32
metadata:
{"source": "webhooks.md", "name": "webhooks.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "40d0e2b9-8a50-4ccd-9549-b77df0dd76a6", "start_index": 688, "hash": "68c62e3a3bb6f9aa69d15b1c54f5d8c92af59f948b3371e6531474f845e6280e", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Option 1: Configure through the Admin Interface\n\n1. Log in to your Open WebUI instance as an administrator.\n2. Navigate to the `Admin Panel`.\n3. Click the `Settings` tab located at the top.\n4. From there, navigate to the `General` sectionn of the setting in the admin panel.\n5. Locate the `Webhook URL` field and enter the webhook URL.\n6. Save the changes.\n\n### Option 2: Configure through Environment Variables\n\nAlternatively, you can configure the webhook URL by setting the `WEBHOOK_URL` environment variable. For more information on environment variables in Open WebUI, see [Environment Variable Configuration](https://docs.openwebui.com/getting-started/advanced-topics/env-configuration/#webhook_url).\n\n### Step 3: Verify the Webhook\n\nTo verify that the webhook is working correctly, create a new user account in Open WebUI. If the webhook is configured correctly, you should receive a notification at the specified webhook URL.\n\nWebhook Payload Format\n----------------------"}


created_at: 2024-12-28 04:06:40
topic: persistent://default/default/9bb00f92-4667-4f92-a2be-10580996b5cb
id: a2b517aa-4dc7-47e8-9f28-826095305368
encoding: FLOAT32
metadata:
{"source": "webhooks.md", "name": "webhooks.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "40d0e2b9-8a50-4ccd-9549-b77df0dd76a6", "start_index": 1627, "hash": "68c62e3a3bb6f9aa69d15b1c54f5d8c92af59f948b3371e6531474f845e6280e", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Webhook Payload Format\n----------------------\n\nThe webhook payload sent by Open WebUI is in plain text and contains a simple notification message about the new user account. The payload format is as follows:\n\n```\nNew user signed up: <username>\n```\n\nFor example, if a user named \"Tim\" signs up, the payload sent would be:\n\n```\nNew user signed up: Tim\n```\n\nTroubleshooting\n--------------\n\n* Make sure the webhook URL is correct and properly formatted.\n* Verify that the webhook service is enabled and configured correctly.\n* Check the Open WebUI logs for any errors related to the webhook.\n* Verify the connection hasn't been interrupted or blocked by a firewall or proxy.\n* The webhook server could be temporarily unavailable or experiencing high latency.\n* If provided through the webhook service, verify if the Webhook API key is invalid, expired, or revoked.\n\nNote: The webhook feature in Open WebUI is still evolving, and we plan to add more features and event types in the future."}


created_at: 2024-12-28 04:06:40
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: f1dbd3bc-9adb-44fa-984f-55ba1e5f0d42
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "40d0e2b9-8a50-4ccd-9549-b77df0dd76a6", "hash": "68c62e3a3bb6f9aa69d15b1c54f5d8c92af59f948b3371e6531474f845e6280e", "name": "webhooks.md", "source": "webhooks.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 17\ntitle: \"\ud83e\ude9d Webhook Integrations\"\n---\n\nOverview\n--------\n\nOpen WebUI provides a webhook feature that allows you to receive notifications automatically whenever new users sign up to your instance. This is done by providing a webhook URL to Open WebUI, which will then send notifications to that URL when a new user account is created.\n\nConfiguring Webhooks in Open WebUI\n---------------------------------\n\nYou will need to obtain a webhook URL from an external service that supports webhooks, such as a Discord channel or a Slack workspace. This URL will be used to receive notifications from Open WebUI.\n\nTo configure webhooks in Open WebUI, you have two options:\n\n### Option 1: Configure through the Admin Interface"}


created_at: 2024-12-28 04:06:40
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 7a8c97c7-98e8-4212-8258-7a24d27964f3
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "40d0e2b9-8a50-4ccd-9549-b77df0dd76a6", "hash": "68c62e3a3bb6f9aa69d15b1c54f5d8c92af59f948b3371e6531474f845e6280e", "name": "webhooks.md", "source": "webhooks.md", "start_index": 0, "chroma:document": "### Option 1: Configure through the Admin Interface\n\n1. Log in to your Open WebUI instance as an administrator.\n2. Navigate to the `Admin Panel`.\n3. Click the `Settings` tab located at the top.\n4. From there, navigate to the `General` sectionn of the setting in the admin panel.\n5. Locate the `Webhook URL` field and enter the webhook URL.\n6. Save the changes.\n\n### Option 2: Configure through Environment Variables\n\nAlternatively, you can configure the webhook URL by setting the `WEBHOOK_URL` environment variable. For more information on environment variables in Open WebUI, see [Environment Variable Configuration](https://docs.openwebui.com/getting-started/advanced-topics/env-configuration/#webhook_url).\n\n### Step 3: Verify the Webhook\n\nTo verify that the webhook is working correctly, create a new user account in Open WebUI. If the webhook is configured correctly, you should receive a notification at the specified webhook URL.\n\nWebhook Payload Format\n----------------------"}


created_at: 2024-12-28 04:06:40
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: b1b74e0a-0523-4fda-a42c-4f8f5de58daf
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "40d0e2b9-8a50-4ccd-9549-b77df0dd76a6", "hash": "68c62e3a3bb6f9aa69d15b1c54f5d8c92af59f948b3371e6531474f845e6280e", "name": "webhooks.md", "source": "webhooks.md", "start_index": 0, "chroma:document": "Webhook Payload Format\n----------------------\n\nThe webhook payload sent by Open WebUI is in plain text and contains a simple notification message about the new user account. The payload format is as follows:\n\n```\nNew user signed up: <username>\n```\n\nFor example, if a user named \"Tim\" signs up, the payload sent would be:\n\n```\nNew user signed up: Tim\n```\n\nTroubleshooting\n--------------\n\n* Make sure the webhook URL is correct and properly formatted.\n* Verify that the webhook service is enabled and configured correctly.\n* Check the Open WebUI logs for any errors related to the webhook.\n* Verify the connection hasn't been interrupted or blocked by a firewall or proxy.\n* The webhook server could be temporarily unavailable or experiencing high latency.\n* If provided through the webhook service, verify if the Webhook API key is invalid, expired, or revoked.\n\nNote: The webhook feature in Open WebUI is still evolving, and we plan to add more features and event types in the future."}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: 13916ea6-a94d-4a7b-86a4-fdf949ca8507
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 0, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 5\ntitle: \"\ud83c\udf10 Web Search\"\n---\n\n:::warning\nThis tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial.\n:::\n\n## \ud83c\udf10 Web Search\n\nThis guide provides instructions on how to set up web search capabilities in Open WebUI using various search engines.\n\n## SearXNG (Docker)\n\n> \"**SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled.**\"\n\n## 1. SearXNG Configuration\n\nTo configure SearXNG optimally for use with Open WebUI, follow these steps:\n\n**Step 1: `git clone` SearXNG Docker and navigate to the folder:**\n\n1. Create a New Directory `searxng-docker`"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: 0219e50a-4a10-4096-bbfd-fc0a03962d92
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 798, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "1. Create a New Directory `searxng-docker`\n\n Clone the searxng-docker repository. This folder will contain your SearXNG configuration files. Refer to the [SearXNG documentation](https://docs.searxng.org/) for configuration instructions.\n\n```bash\ngit clone https://github.com/searxng/searxng-docker.git\n```\n\nNavigate to the `searxng-docker` repository:\n\n```bash\ncd searxng-docker\n```\n\n**Step 2: Locate and and modify the `.env` file:**\n\n1. Uncomment `SEARXNG_HOSTNAME` from the `.env` file and set it accordingly:\n\n```bash\n# By default listen on https://localhost\n# To change this:\n# * uncomment SEARXNG_HOSTNAME, and replace <host> by the SearXNG hostname\n# * uncomment LETSENCRYPT_EMAIL, and replace <email> by your email (require to create a Let's Encrypt certificate)\n\nSEARXNG_HOSTNAME=localhost:8080/\n# LETSENCRYPT_EMAIL=<email>"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: e5a4e106-7b78-4a05-908b-f01be483d658
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 1570, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "SEARXNG_HOSTNAME=localhost:8080/\n# LETSENCRYPT_EMAIL=<email>\n\n# Optional:\n# If you run a very small or a very large instance, you might want to change the amount of used uwsgi workers and threads per worker\n# More workers (= processes) means that more search requests can be handled at the same time, but it also causes more resource usage\n\n# SEARXNG_UWSGI_WORKERS=4\n# SEARXNG_UWSGI_THREADS=4\n```\n\n**Step 3: Modify the `docker-compose.yaml` file**\n\n3. Remove the `localhost` restriction by modifying the `docker-compose.yaml` file:\n\n```bash\nsed -i \"s/127.0.0.1:8080/0.0.0.0:8080/\"\n```\n\n**Step 4: Grant Necessary Permissions**\n\n4. Allow the container to create new config files by running the following command in the root directory:\n\n```bash\nsudo chmod a+rwx searxng-docker/searxng\n```\n\n**Step 5: Create a Non-Restrictive `limiter.toml` File**\n\n5. Create a non-restrictive `searxng-docker/searxng/limiter.toml` config file:\n\n<details>\n<summary>searxng-docker/searxng/limiter.toml</summary>"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: 7f6829c0-f8d8-44e6-a738-deac64c05406
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 2495, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "<details>\n<summary>searxng-docker/searxng/limiter.toml</summary>\n\n```bash\n# This configuration file updates the default configuration file\n# See https://github.com/searxng/searxng/blob/master/searx/botdetection/limiter.toml\n\n[botdetection.ip_limit]\n# activate link_token method in the ip_limit method\nlink_token = false\n\n[botdetection.ip_lists]\nblock_ip = []\npass_ip = []\n```\n\n</details>\n\n**Step 6: Remove the Default `settings.yml` File**\n\n6. Delete the default `searxng-docker/searxng/settings.yml` file if it exists, as it will be regenerated on the first launch of SearXNG:\n\n```bash\nrm searxng-docker/searxng/settings.yml\n```\n\n**Step 7: Create a Fresh `settings.yml` File**"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: 300cac8b-b217-480c-adb9-17af9938f208
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 3074, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "```bash\nrm searxng-docker/searxng/settings.yml\n```\n\n**Step 7: Create a Fresh `settings.yml` File**\n\n:::note\nOn the first run, you must remove `cap_drop: - ALL` from the `docker-compose.yaml` file for the `searxng` service to successfully create `/etc/searxng/uwsgi`.ini. This is necessary because the `cap_drop: - ALL` directive removes all capabilities, including those required for the creation of the `uwsgi.ini` file. After the first run, you should re-add `cap_drop: - ALL` to the `docker-compose.yaml` file for security reasons.\n:::\n\n7. Bring up the container momentarily to generate a fresh settings.yml file:\n\n```bash\ndocker compose up -d ; sleep 10 ; docker compose down\n```\n\n**Step 8: Add Formats and Update Port Number**\n\n8. Add HTML and JSON formats to the `searxng-docker/searxng/settings.yml` file:\n\n```bash\nsed -i 's/formats: \\[\\\"html\\\"\\/]/formats: [\\\"html\\\", \\\"json\\\"]/' searxng-docker/searxng/settings.yml\n```\n\nGenerate a secret key for your SearXNG instance:"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: 7429def9-0550-419d-8d0b-6936787ac3cc
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 4002, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Generate a secret key for your SearXNG instance:\n\n```bash\nsed -i \"s|ultrasecretkey|$(openssl rand -hex 32)|g\" searxng-docker/searxng/settings.yml\n```\n\nWindows users can use the following powershell script to generate the secret key:\n\n```powershell\n$randomBytes = New-Object byte[] 32\n(New-Object Security.Cryptography.RNGCryptoServiceProvider).GetBytes($randomBytes)\n$secretKey = -join ($randomBytes | ForEach-Object { \"{0:x2}\" -f $_ })\n(Get-Content searxng-docker/searxng/settings.yml) -replace 'ultrasecretkey', $secretKey | Set-Content searxng-docker/searxng/settings.yml\n```\n\nUpdate the port number in the `server` section to match the one you set earlier (in this case, `8080`):\n\n```bash\nsed -i 's/port: 8080/port: 8080/' searxng-docker/searxng/settings.yml\n```\n\nChange the `bind_address` as desired:\n\n```bash\nsed -i 's/bind_address: \"0.0.0.0\"/bind_address: \"127.0.0.1\"/' searxng-docker/searxng/settings.yml\n```\n\n#### Configuration Files\n\n#### searxng-docker/searxng/settings.yml (Extract)"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: d010ec4d-2a2f-47fb-a575-758f776bd3e5
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 4920, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### Configuration Files\n\n#### searxng-docker/searxng/settings.yml (Extract)\n\nThe default `settings.yml` file contains many engine settings. Below is an extract of what the default `settings.yml` file might look like:\n\n<details>\n<summary>searxng-docker/searxng/settings.yml</summary>\n\n```yaml\n# see https://docs.searxng.org/admin/settings/settings.html#settings-use-default-settings\nuse_default_settings: true\n\nserver:\n  # base_url is defined in the SEARXNG_BASE_URL environment variable, see .env and docker-compose.yml\n  secret_key: \"ultrasecretkey\"  # change this!\n  limiter: true  # can be disabled for a private instance\n  image_proxy: true\n  port: 8080\n  bind_address: \"0.0.0.0\"\n\nui:\n  static_use_hash: true"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: e31ae62a-7341-4685-9a92-4c7ff2b707dc
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 5606, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "ui:\n  static_use_hash: true\n\nsearch:\n  safe_search: 0\n  autocomplete: \"\"\n  default_lang: \"\"\n  formats:\n    - html\n    - json # json is required\n  # remove format to deny access, use lower case.\n  # formats: [html, csv, json, rss]\nredis:\n  # URL to connect redis database. Is overwritten by ${SEARXNG_REDIS_URL}.\n  # https://docs.searxng.org/admin/settings/settings_redis.html#settings-redis\n  url: redis://redis:6379/0\n```\n\nThe port in the settings.yml file for SearXNG should match that of the port number in your docker-compose.yml file for SearXNG.\n\n</details>\n\n**Step 9: Update `uwsgi.ini` File**\n\n9. Ensure your `searxng-docker/searxng/uwsgi.ini` file matches the following:\n\n<details>\n<summary>searxng-docker/searxng/uwsgi.ini</summary>\n\n```ini\n[uwsgi]\n# Who will run the code\nuid = searxng\ngid = searxng\n\n# Number of workers (usually CPU count)\n# default value: %k (= number of CPU core, see Dockerfile)\nworkers = %k"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: 3c1cd72e-d3f5-45b3-aea3-3a49532399f2
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 6531, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "# Number of threads per worker\n# default value: 4 (see Dockerfile)\nthreads = 4\n\n# The right granted on the created socket\nchmod-socket = 666\n\n# Plugin to use and interpreter config\nsingle-interpreter = true\nmaster = true\nplugin = python3\nlazy-apps = true\nenable-threads = 4\n\n# Module to import\nmodule = searx.webapp\n\n# Virtualenv and python path\npythonpath = /usr/local/searxng/\nchdir = /usr/local/searxng/searx/\n\n# automatically set processes name to something meaningful\nauto-procname = true\n\n# Disable request logging for privacy\ndisable-logging = true\nlog-5xx = true\n\n# Set the max size of a request (request-body excluded)\nbuffer-size = 8192\n\n# No keep alive\n# See https://github.com/searx/searx-docker/issues/24\nadd-header = Connection: close\n\n# uwsgi serves the static files\nstatic-map = /static=/usr/local/searxng/searx/static\n# expires set to one day\nstatic-expires = /* 86400\nstatic-gzip-all = True\noffload-threads = 4\n```\n\n</details>\n\n## 2. Alternative Setup"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: 26685dab-9ffe-4b12-94ee-70b55daeb213
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 7465, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "</details>\n\n## 2. Alternative Setup\n\nAlternatively, if you don't want to modify the default configuration, you can simply create an empty `searxng-docker` folder and follow the rest of the setup instructions.\n\n### Docker Compose Setup\n\nAdd the following environment variables to your Open WebUI `docker-compose.yaml` file:\n\n```yaml\nservices:\n  open-webui:\n    environment:\n      ENABLE_RAG_WEB_SEARCH: True\n      RAG_WEB_SEARCH_ENGINE: \"searxng\"\n      RAG_WEB_SEARCH_RESULT_COUNT: 3\n      RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 10\n      SEARXNG_QUERY_URL: \"http://searxng:8080/search?q=<query>\"\n```\n\nCreate a `.env` file for SearXNG:\n\n```\n# SearXNG\nSEARXNG_HOSTNAME=localhost:8080/\n```\n\nNext, add the following to SearXNG's `docker-compose.yaml` file:"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: ba02307e-73b2-4769-92c2-1452eecf1937
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 8149, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Next, add the following to SearXNG's `docker-compose.yaml` file:\n\n```yaml\nservices:\n  searxng:\n    container_name: searxng\n    image: searxng/searxng:latest\n    ports:\n      - \"8080:8080\"\n    volumes:\n      - ./searxng:/etc/searxng:rw\n    env_file:\n      - .env\n    restart: unless-stopped\n    cap_drop:\n      - ALL\n    cap_add:\n      - CHOWN\n      - SETGID\n      - SETUID\n      - DAC_OVERRIDE\n    logging:\n      driver: \"json-file\"\n      options:\n        max-size: \"1m\"\n        max-file: \"1\"\n```\n\nYour stack is ready to be launched with:\n\n```bash\ndocker compose up -d\n```"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: a9ba6034-e2cb-4d73-a1ff-872c6692bf47
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 8647, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Your stack is ready to be launched with:\n\n```bash\ndocker compose up -d\n```\n\n:::note\nOn the first run, you must remove `cap_drop: - ALL` from the `docker-compose.yaml` file for the `searxng` service to successfully create `/etc/searxng/uwsgi`.ini. This is necessary because the `cap_drop: - ALL` directive removes all capabilities, including those required for the creation of the `uwsgi.ini` file. After the first run, you should re-add `cap_drop: - ALL` to the `docker-compose.yaml` file for security reasons.\n:::\n\nAlternatively, you can run SearXNG directly using `docker run`:\n\n```bash\ndocker run --name searxng --env-file .env -v ./searxng:/etc/searxng:rw -p 8080:8080 --restart unless-stopped --cap-drop ALL --cap-add CHOWN --cap-add SETGID --cap-add SETUID --cap-add DAC_OVERRIDE --log-driver json-file --log-opt max-size=1m,max-file=1 searxng/searxng:latest\n```\n\n## 3. Confirm Connectivity"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: c8f98797-f27d-459c-b130-b2a6b68bd712
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 9517, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## 3. Confirm Connectivity\n\nConfirm connectivity to SearXNG from your Open WebUI container instance in your command line interface:\n\n```bash\ndocker exec -it open-webui curl http://host.docker.internal:8080/search?q=this+is+a+test+query&format=json\n```\n\n## 4. GUI Configuration\n\n1. Navigate to: `Admin Panel` -> `Settings` -> `Web Search`\n2. Toggle `Enable Web Search`\n3. Set `Web Search Engine` from dropdown menu to `searxng`\n4. Set `Searxng Query URL` to one of the following examples:"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: b938b18f-a65c-4619-a65a-731a2e8e711d
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 10006, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "* `http://searxng:8080/search?q=<query>` (using the container name and exposed port, suitable for Docker-based setups)\n* `http://host.docker.internal:8080/search?q=<query>` (using the `host.docker.internal` DNS name and the host port, suitable for Docker-based setups)\n* `http://<searxng.local>/search?q=<query>` (using a local domain name, suitable for local network access)\n* `https://<search.domain.com>/search?q=<query>` (using a custom domain name for a self-hosted SearXNG instance, suitable for public or private access)\n\n**Do note the `/search?q=<query>` part is mandatory.**\n5. Adjust the `Search Result Count` and `Concurrent Requests` values accordingly\n6. Save changes\n\n![SearXNG GUI Configuration](/img/tutorial_searxng_config.png)\n\n## 5. Using Web Search in a Chat\n\nTo access Web Search, Click on the + next to the message input field.\n\nHere you can toggle Web Search On/Off.\n\n![Web Search UI Toggle](/img/web_search_toggle.png)"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: 15055c24-3cf3-48b8-b81f-73adb0f9a588
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 10857, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Here you can toggle Web Search On/Off.\n\n![Web Search UI Toggle](/img/web_search_toggle.png)\n\nBy following these steps, you will have successfully set up SearXNG with Open WebUI, enabling you to perform web searches using the SearXNG engine.\n\n#### Note\n\nYou will have to explicitly toggle this On/Off in a chat.\n\nThis is enabled on a per session basis eg. reloading the page, changing to another chat will toggle off.\n\n## Google PSE API\n\n### Setup"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: 7c24ab0d-c800-48d1-89c1-4a6e474d4a67
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 11275, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## Google PSE API\n\n### Setup\n\n1. Go to Google Developers, use [Programmable Search Engine](https://developers.google.com/custom-search), and log on or create account.\n2. Go to [control panel](https://programmablesearchengine.google.com/controlpanel/all) and click `Add` button\n3. Enter a search engine name, set the other properties to suit your needs, verify you're not a robot and click `Create` button.\n4. Generate `API key` and get the `Search engine ID`. (Available after the engine is created)\n5. With `API key` and `Search engine ID`, open `Open WebUI Admin panel` and click `Settings` tab, and then click `Web Search`\n6. Enable `Web search` and Set `Web Search Engine` to `google_pse`\n7. Fill `Google PSE API Key` with the `API key` and `Google PSE Engine Id` (# 4)\n8. Click `Save`\n\n![Open WebUI Admin panel](/img/tutorial_google_pse1.png)\n\n#### Note\n\nYou have to enable `Web search` in the prompt field, using plus (`+`) button.\nSearch the web ;-)"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: bf1ce01e-0e34-4992-af74-e3966db814b0
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 12135, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "You have to enable `Web search` in the prompt field, using plus (`+`) button.\nSearch the web ;-)\n\n![enable Web search](/img/tutorial_google_pse2.png)\n\n## Brave API\n\n### Docker Compose Setup\n\nAdd the following environment variables to your Open WebUI `docker-compose.yaml` file:\n\n```yaml\nservices:\n  open-webui:\n    environment:\n      ENABLE_RAG_WEB_SEARCH: True\n      RAG_WEB_SEARCH_ENGINE: \"brave\"\n      BRAVE_SEARCH_API_KEY: \"YOUR_API_KEY\"\n      RAG_WEB_SEARCH_RESULT_COUNT: 3\n      RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 10\n```\n\n## Mojeek Search API\n\n### Setup\n\n1. Please visit [Mojeek Search API page](https://www.mojeek.com/services/search/web-search-api/) to obtain an `API key`\n2. With `API key`, open `Open WebUI Admin panel` and click `Settings` tab, and then click `Web Search`\n3. Enable `Web search` and Set `Web Search Engine` to `mojeek`\n4. Fill `Mojeek Search API Key` with the `API key`\n5. Click `Save`\n\n### Docker Compose Setup"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: 2e563e5d-68fd-4fae-a57e-949623caf948
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 13051, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Docker Compose Setup\n\nAdd the following environment variables to your Open WebUI `docker-compose.yaml` file:\n\n```yaml\nservices:\n  open-webui:\n    environment:\n      ENABLE_RAG_WEB_SEARCH: True\n      RAG_WEB_SEARCH_ENGINE: \"mojeek\"\n      BRAVE_SEARCH_API_KEY: \"YOUR_MOJEEK_API_KEY\"\n      RAG_WEB_SEARCH_RESULT_COUNT: 3\n      RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 10\n```\n\n## SearchApi API\n\n[SearchApi](https://searchapi.io) is a collection of real-time SERP APIs. Any existing or upcoming SERP engine that returns `organic_results` is supported. The default web search engine is `google`, but it can be changed to `bing`, `baidu`, `google_news`, `bing_news`, `google_scholar`, `google_patents`, and others.\n\n### Setup"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: 5a2d5975-8c61-4e85-b5a7-2f09857e8a72
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 13759, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Setup\n\n1. Go to [SearchApi](https://searchapi.io), and log on or create a new account.\n2. Go to `Dashboard` and copy the API key.\n3. With `API key`, open `Open WebUI Admin panel` and click `Settings` tab, and then click `Web Search`.\n4. Enable `Web search` and set `Web Search Engine` to `searchapi`.\n5. Fill `SearchApi API Key` with the `API key` that you copied in step 2 from [SearchApi](https://www.searchapi.io/) dashboard.\n6. [Optional] Enter the `SearchApi engine` name you want to query. Example, `google`, `bing`, `baidu`, `google_news`, `bing_news`, `google_videos`, `google_scholar` and `google_patents.` By default, it is set to `google`.\n7. Click `Save`.\n\n![Open WebUI Admin panel](/img/tutorial_searchapi_search.png)\n\n#### Note\n\nYou have to enable `Web search` in the prompt field, using plus (`+`) button to search the web using [SearchApi](https://www.searchapi.io/) engines.\n\n![enable Web search](/img/enable_web_search.png)\n\n## Kagi API\n\nComing Soon\n\n### Setup"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: 1f4c3c33-78b7-44c3-890e-03c052c62f63
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 14656, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "![enable Web search](/img/enable_web_search.png)\n\n## Kagi API\n\nComing Soon\n\n### Setup\n\n## Serpstack API\n\nComing Soon\n\n### Setup\n\n## Serper API\n\nComing Soon\n\n### Setup\n\n## Serply API\n\nComing Soon\n\n### Setup\n\n## DuckDuckGo API\n\n### Setup\n\nNo setup is required to use DuckDuckGo API for Open WebUI's built in web search! DuckDuckGo works out of the box in Open WebUI.\n\n:::note\nThere is a possibility of your web searches being rate limited.\n:::\n\n## Tavily API\n\nComing Soon\n\n### Setup\n\n## Jina API\n\nComing Soon\n\n### Setup\n\n## Bing API\n\n### Setup"}


created_at: 2024-12-28 04:06:41
topic: persistent://default/default/08089d62-1b27-4070-96c3-ef85c500d449
id: c0e42d22-dc7c-4fea-9a5c-ee8acc29cba9
encoding: FLOAT32
metadata:
{"source": "web_search.md", "name": "web_search.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "start_index": 15099, "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## Tavily API\n\nComing Soon\n\n### Setup\n\n## Jina API\n\nComing Soon\n\n### Setup\n\n## Bing API\n\n### Setup\n\n1. Navigate to the [AzurePortal](https://portal.azure.com/#create/Microsoft.BingSearch) and create a new resource. After creation, you'll be redirected to the resource overview page. From there, select \"Click here to manage keys.\" ![click here to manage keys](https://github.com/user-attachments/assets/dd2a3c67-d6a7-4198-ba54-67a3c8acff6d)\n2. On the key management page, locate Key1 or Key2 and copy your desired key.\n3. Open the Open WebUI Admin Panel, switch to the Settings tab, and then select Web Search.\n4. Enable the Web search option and set the Web Search Engine to bing.\n5. Fill `SearchApi API Key` with the `API key` that you copied in step 2 from [AzurePortal](https://portal.azure.com/#create/Microsoft.BingSearch) dashboard.\n6. Click `Save`."}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 32ffa9d1-f993-4b8d-b132-ca3e795d3f13
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 5\ntitle: \"\ud83c\udf10 Web Search\"\n---\n\n:::warning\nThis tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial.\n:::\n\n## \ud83c\udf10 Web Search\n\nThis guide provides instructions on how to set up web search capabilities in Open WebUI using various search engines.\n\n## SearXNG (Docker)\n\n> \"**SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled.**\"\n\n## 1. SearXNG Configuration\n\nTo configure SearXNG optimally for use with Open WebUI, follow these steps:\n\n**Step 1: `git clone` SearXNG Docker and navigate to the folder:**\n\n1. Create a New Directory `searxng-docker`"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 5c0cb7b3-37c7-48d3-9056-f57eab32de99
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "1. Create a New Directory `searxng-docker`\n\n Clone the searxng-docker repository. This folder will contain your SearXNG configuration files. Refer to the [SearXNG documentation](https://docs.searxng.org/) for configuration instructions.\n\n```bash\ngit clone https://github.com/searxng/searxng-docker.git\n```\n\nNavigate to the `searxng-docker` repository:\n\n```bash\ncd searxng-docker\n```\n\n**Step 2: Locate and and modify the `.env` file:**\n\n1. Uncomment `SEARXNG_HOSTNAME` from the `.env` file and set it accordingly:\n\n```bash\n# By default listen on https://localhost\n# To change this:\n# * uncomment SEARXNG_HOSTNAME, and replace <host> by the SearXNG hostname\n# * uncomment LETSENCRYPT_EMAIL, and replace <email> by your email (require to create a Let's Encrypt certificate)\n\nSEARXNG_HOSTNAME=localhost:8080/\n# LETSENCRYPT_EMAIL=<email>"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: abc20d4c-91ec-44b8-82ac-13d76bd46119
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "SEARXNG_HOSTNAME=localhost:8080/\n# LETSENCRYPT_EMAIL=<email>\n\n# Optional:\n# If you run a very small or a very large instance, you might want to change the amount of used uwsgi workers and threads per worker\n# More workers (= processes) means that more search requests can be handled at the same time, but it also causes more resource usage\n\n# SEARXNG_UWSGI_WORKERS=4\n# SEARXNG_UWSGI_THREADS=4\n```\n\n**Step 3: Modify the `docker-compose.yaml` file**\n\n3. Remove the `localhost` restriction by modifying the `docker-compose.yaml` file:\n\n```bash\nsed -i \"s/127.0.0.1:8080/0.0.0.0:8080/\"\n```\n\n**Step 4: Grant Necessary Permissions**\n\n4. Allow the container to create new config files by running the following command in the root directory:\n\n```bash\nsudo chmod a+rwx searxng-docker/searxng\n```\n\n**Step 5: Create a Non-Restrictive `limiter.toml` File**\n\n5. Create a non-restrictive `searxng-docker/searxng/limiter.toml` config file:\n\n<details>\n<summary>searxng-docker/searxng/limiter.toml</summary>"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: c18ae422-907f-47c2-a226-54ed1f9fa5aa
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "<details>\n<summary>searxng-docker/searxng/limiter.toml</summary>\n\n```bash\n# This configuration file updates the default configuration file\n# See https://github.com/searxng/searxng/blob/master/searx/botdetection/limiter.toml\n\n[botdetection.ip_limit]\n# activate link_token method in the ip_limit method\nlink_token = false\n\n[botdetection.ip_lists]\nblock_ip = []\npass_ip = []\n```\n\n</details>\n\n**Step 6: Remove the Default `settings.yml` File**\n\n6. Delete the default `searxng-docker/searxng/settings.yml` file if it exists, as it will be regenerated on the first launch of SearXNG:\n\n```bash\nrm searxng-docker/searxng/settings.yml\n```\n\n**Step 7: Create a Fresh `settings.yml` File**"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 6f58610e-970d-4e85-a4ab-417aed150492
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "```bash\nrm searxng-docker/searxng/settings.yml\n```\n\n**Step 7: Create a Fresh `settings.yml` File**\n\n:::note\nOn the first run, you must remove `cap_drop: - ALL` from the `docker-compose.yaml` file for the `searxng` service to successfully create `/etc/searxng/uwsgi`.ini. This is necessary because the `cap_drop: - ALL` directive removes all capabilities, including those required for the creation of the `uwsgi.ini` file. After the first run, you should re-add `cap_drop: - ALL` to the `docker-compose.yaml` file for security reasons.\n:::\n\n7. Bring up the container momentarily to generate a fresh settings.yml file:\n\n```bash\ndocker compose up -d ; sleep 10 ; docker compose down\n```\n\n**Step 8: Add Formats and Update Port Number**\n\n8. Add HTML and JSON formats to the `searxng-docker/searxng/settings.yml` file:\n\n```bash\nsed -i 's/formats: \\[\\\"html\\\"\\/]/formats: [\\\"html\\\", \\\"json\\\"]/' searxng-docker/searxng/settings.yml\n```\n\nGenerate a secret key for your SearXNG instance:"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 59bb74c0-1032-426a-bb10-0bd146543091
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "Generate a secret key for your SearXNG instance:\n\n```bash\nsed -i \"s|ultrasecretkey|$(openssl rand -hex 32)|g\" searxng-docker/searxng/settings.yml\n```\n\nWindows users can use the following powershell script to generate the secret key:\n\n```powershell\n$randomBytes = New-Object byte[] 32\n(New-Object Security.Cryptography.RNGCryptoServiceProvider).GetBytes($randomBytes)\n$secretKey = -join ($randomBytes | ForEach-Object { \"{0:x2}\" -f $_ })\n(Get-Content searxng-docker/searxng/settings.yml) -replace 'ultrasecretkey', $secretKey | Set-Content searxng-docker/searxng/settings.yml\n```\n\nUpdate the port number in the `server` section to match the one you set earlier (in this case, `8080`):\n\n```bash\nsed -i 's/port: 8080/port: 8080/' searxng-docker/searxng/settings.yml\n```\n\nChange the `bind_address` as desired:\n\n```bash\nsed -i 's/bind_address: \"0.0.0.0\"/bind_address: \"127.0.0.1\"/' searxng-docker/searxng/settings.yml\n```\n\n#### Configuration Files\n\n#### searxng-docker/searxng/settings.yml (Extract)"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: b6792f62-d5af-4723-9468-724c38972118
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "#### Configuration Files\n\n#### searxng-docker/searxng/settings.yml (Extract)\n\nThe default `settings.yml` file contains many engine settings. Below is an extract of what the default `settings.yml` file might look like:\n\n<details>\n<summary>searxng-docker/searxng/settings.yml</summary>\n\n```yaml\n# see https://docs.searxng.org/admin/settings/settings.html#settings-use-default-settings\nuse_default_settings: true\n\nserver:\n  # base_url is defined in the SEARXNG_BASE_URL environment variable, see .env and docker-compose.yml\n  secret_key: \"ultrasecretkey\"  # change this!\n  limiter: true  # can be disabled for a private instance\n  image_proxy: true\n  port: 8080\n  bind_address: \"0.0.0.0\"\n\nui:\n  static_use_hash: true"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 1972859d-43b6-405b-a7a5-933bc42f18c3
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "ui:\n  static_use_hash: true\n\nsearch:\n  safe_search: 0\n  autocomplete: \"\"\n  default_lang: \"\"\n  formats:\n    - html\n    - json # json is required\n  # remove format to deny access, use lower case.\n  # formats: [html, csv, json, rss]\nredis:\n  # URL to connect redis database. Is overwritten by ${SEARXNG_REDIS_URL}.\n  # https://docs.searxng.org/admin/settings/settings_redis.html#settings-redis\n  url: redis://redis:6379/0\n```\n\nThe port in the settings.yml file for SearXNG should match that of the port number in your docker-compose.yml file for SearXNG.\n\n</details>\n\n**Step 9: Update `uwsgi.ini` File**\n\n9. Ensure your `searxng-docker/searxng/uwsgi.ini` file matches the following:\n\n<details>\n<summary>searxng-docker/searxng/uwsgi.ini</summary>\n\n```ini\n[uwsgi]\n# Who will run the code\nuid = searxng\ngid = searxng\n\n# Number of workers (usually CPU count)\n# default value: %k (= number of CPU core, see Dockerfile)\nworkers = %k"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 771aa24f-0661-415a-8086-2c164ad04ce5
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "# Number of threads per worker\n# default value: 4 (see Dockerfile)\nthreads = 4\n\n# The right granted on the created socket\nchmod-socket = 666\n\n# Plugin to use and interpreter config\nsingle-interpreter = true\nmaster = true\nplugin = python3\nlazy-apps = true\nenable-threads = 4\n\n# Module to import\nmodule = searx.webapp\n\n# Virtualenv and python path\npythonpath = /usr/local/searxng/\nchdir = /usr/local/searxng/searx/\n\n# automatically set processes name to something meaningful\nauto-procname = true\n\n# Disable request logging for privacy\ndisable-logging = true\nlog-5xx = true\n\n# Set the max size of a request (request-body excluded)\nbuffer-size = 8192\n\n# No keep alive\n# See https://github.com/searx/searx-docker/issues/24\nadd-header = Connection: close\n\n# uwsgi serves the static files\nstatic-map = /static=/usr/local/searxng/searx/static\n# expires set to one day\nstatic-expires = /* 86400\nstatic-gzip-all = True\noffload-threads = 4\n```\n\n</details>\n\n## 2. Alternative Setup"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 9fe835d2-cf34-4aa8-99c1-88aef6e9eff6
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "</details>\n\n## 2. Alternative Setup\n\nAlternatively, if you don't want to modify the default configuration, you can simply create an empty `searxng-docker` folder and follow the rest of the setup instructions.\n\n### Docker Compose Setup\n\nAdd the following environment variables to your Open WebUI `docker-compose.yaml` file:\n\n```yaml\nservices:\n  open-webui:\n    environment:\n      ENABLE_RAG_WEB_SEARCH: True\n      RAG_WEB_SEARCH_ENGINE: \"searxng\"\n      RAG_WEB_SEARCH_RESULT_COUNT: 3\n      RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 10\n      SEARXNG_QUERY_URL: \"http://searxng:8080/search?q=<query>\"\n```\n\nCreate a `.env` file for SearXNG:\n\n```\n# SearXNG\nSEARXNG_HOSTNAME=localhost:8080/\n```\n\nNext, add the following to SearXNG's `docker-compose.yaml` file:"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 130c03ea-2b72-4b8f-bd79-67db5aff7c2d
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "Next, add the following to SearXNG's `docker-compose.yaml` file:\n\n```yaml\nservices:\n  searxng:\n    container_name: searxng\n    image: searxng/searxng:latest\n    ports:\n      - \"8080:8080\"\n    volumes:\n      - ./searxng:/etc/searxng:rw\n    env_file:\n      - .env\n    restart: unless-stopped\n    cap_drop:\n      - ALL\n    cap_add:\n      - CHOWN\n      - SETGID\n      - SETUID\n      - DAC_OVERRIDE\n    logging:\n      driver: \"json-file\"\n      options:\n        max-size: \"1m\"\n        max-file: \"1\"\n```\n\nYour stack is ready to be launched with:\n\n```bash\ndocker compose up -d\n```"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 0652efa3-61ec-46b3-bf57-757d37557ccc
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "Your stack is ready to be launched with:\n\n```bash\ndocker compose up -d\n```\n\n:::note\nOn the first run, you must remove `cap_drop: - ALL` from the `docker-compose.yaml` file for the `searxng` service to successfully create `/etc/searxng/uwsgi`.ini. This is necessary because the `cap_drop: - ALL` directive removes all capabilities, including those required for the creation of the `uwsgi.ini` file. After the first run, you should re-add `cap_drop: - ALL` to the `docker-compose.yaml` file for security reasons.\n:::\n\nAlternatively, you can run SearXNG directly using `docker run`:\n\n```bash\ndocker run --name searxng --env-file .env -v ./searxng:/etc/searxng:rw -p 8080:8080 --restart unless-stopped --cap-drop ALL --cap-add CHOWN --cap-add SETGID --cap-add SETUID --cap-add DAC_OVERRIDE --log-driver json-file --log-opt max-size=1m,max-file=1 searxng/searxng:latest\n```\n\n## 3. Confirm Connectivity"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 48d1f903-8eef-4758-a6af-778a74a90322
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "## 3. Confirm Connectivity\n\nConfirm connectivity to SearXNG from your Open WebUI container instance in your command line interface:\n\n```bash\ndocker exec -it open-webui curl http://host.docker.internal:8080/search?q=this+is+a+test+query&format=json\n```\n\n## 4. GUI Configuration\n\n1. Navigate to: `Admin Panel` -> `Settings` -> `Web Search`\n2. Toggle `Enable Web Search`\n3. Set `Web Search Engine` from dropdown menu to `searxng`\n4. Set `Searxng Query URL` to one of the following examples:"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: c5eb59cb-54d2-42be-836d-3791d60b5e78
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "* `http://searxng:8080/search?q=<query>` (using the container name and exposed port, suitable for Docker-based setups)\n* `http://host.docker.internal:8080/search?q=<query>` (using the `host.docker.internal` DNS name and the host port, suitable for Docker-based setups)\n* `http://<searxng.local>/search?q=<query>` (using a local domain name, suitable for local network access)\n* `https://<search.domain.com>/search?q=<query>` (using a custom domain name for a self-hosted SearXNG instance, suitable for public or private access)\n\n**Do note the `/search?q=<query>` part is mandatory.**\n5. Adjust the `Search Result Count` and `Concurrent Requests` values accordingly\n6. Save changes\n\n![SearXNG GUI Configuration](/img/tutorial_searxng_config.png)\n\n## 5. Using Web Search in a Chat\n\nTo access Web Search, Click on the + next to the message input field.\n\nHere you can toggle Web Search On/Off.\n\n![Web Search UI Toggle](/img/web_search_toggle.png)"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 3575d8d5-f572-4997-ad4a-1107840761c5
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "Here you can toggle Web Search On/Off.\n\n![Web Search UI Toggle](/img/web_search_toggle.png)\n\nBy following these steps, you will have successfully set up SearXNG with Open WebUI, enabling you to perform web searches using the SearXNG engine.\n\n#### Note\n\nYou will have to explicitly toggle this On/Off in a chat.\n\nThis is enabled on a per session basis eg. reloading the page, changing to another chat will toggle off.\n\n## Google PSE API\n\n### Setup"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 55b6b329-4b71-4e1a-aa8e-0dcc505f059b
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "## Google PSE API\n\n### Setup\n\n1. Go to Google Developers, use [Programmable Search Engine](https://developers.google.com/custom-search), and log on or create account.\n2. Go to [control panel](https://programmablesearchengine.google.com/controlpanel/all) and click `Add` button\n3. Enter a search engine name, set the other properties to suit your needs, verify you're not a robot and click `Create` button.\n4. Generate `API key` and get the `Search engine ID`. (Available after the engine is created)\n5. With `API key` and `Search engine ID`, open `Open WebUI Admin panel` and click `Settings` tab, and then click `Web Search`\n6. Enable `Web search` and Set `Web Search Engine` to `google_pse`\n7. Fill `Google PSE API Key` with the `API key` and `Google PSE Engine Id` (# 4)\n8. Click `Save`\n\n![Open WebUI Admin panel](/img/tutorial_google_pse1.png)\n\n#### Note\n\nYou have to enable `Web search` in the prompt field, using plus (`+`) button.\nSearch the web ;-)"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: d078370b-bc99-4475-a26d-f8c869d4bc11
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "You have to enable `Web search` in the prompt field, using plus (`+`) button.\nSearch the web ;-)\n\n![enable Web search](/img/tutorial_google_pse2.png)\n\n## Brave API\n\n### Docker Compose Setup\n\nAdd the following environment variables to your Open WebUI `docker-compose.yaml` file:\n\n```yaml\nservices:\n  open-webui:\n    environment:\n      ENABLE_RAG_WEB_SEARCH: True\n      RAG_WEB_SEARCH_ENGINE: \"brave\"\n      BRAVE_SEARCH_API_KEY: \"YOUR_API_KEY\"\n      RAG_WEB_SEARCH_RESULT_COUNT: 3\n      RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 10\n```\n\n## Mojeek Search API\n\n### Setup\n\n1. Please visit [Mojeek Search API page](https://www.mojeek.com/services/search/web-search-api/) to obtain an `API key`\n2. With `API key`, open `Open WebUI Admin panel` and click `Settings` tab, and then click `Web Search`\n3. Enable `Web search` and Set `Web Search Engine` to `mojeek`\n4. Fill `Mojeek Search API Key` with the `API key`\n5. Click `Save`\n\n### Docker Compose Setup"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: e2759bf2-28a1-4a98-8f38-7c4361e1b57b
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "### Docker Compose Setup\n\nAdd the following environment variables to your Open WebUI `docker-compose.yaml` file:\n\n```yaml\nservices:\n  open-webui:\n    environment:\n      ENABLE_RAG_WEB_SEARCH: True\n      RAG_WEB_SEARCH_ENGINE: \"mojeek\"\n      BRAVE_SEARCH_API_KEY: \"YOUR_MOJEEK_API_KEY\"\n      RAG_WEB_SEARCH_RESULT_COUNT: 3\n      RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 10\n```\n\n## SearchApi API\n\n[SearchApi](https://searchapi.io) is a collection of real-time SERP APIs. Any existing or upcoming SERP engine that returns `organic_results` is supported. The default web search engine is `google`, but it can be changed to `bing`, `baidu`, `google_news`, `bing_news`, `google_scholar`, `google_patents`, and others.\n\n### Setup"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 5014b312-60d0-4ff1-b1a9-b84d1101c7e8
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "### Setup\n\n1. Go to [SearchApi](https://searchapi.io), and log on or create a new account.\n2. Go to `Dashboard` and copy the API key.\n3. With `API key`, open `Open WebUI Admin panel` and click `Settings` tab, and then click `Web Search`.\n4. Enable `Web search` and set `Web Search Engine` to `searchapi`.\n5. Fill `SearchApi API Key` with the `API key` that you copied in step 2 from [SearchApi](https://www.searchapi.io/) dashboard.\n6. [Optional] Enter the `SearchApi engine` name you want to query. Example, `google`, `bing`, `baidu`, `google_news`, `bing_news`, `google_videos`, `google_scholar` and `google_patents.` By default, it is set to `google`.\n7. Click `Save`.\n\n![Open WebUI Admin panel](/img/tutorial_searchapi_search.png)\n\n#### Note\n\nYou have to enable `Web search` in the prompt field, using plus (`+`) button to search the web using [SearchApi](https://www.searchapi.io/) engines.\n\n![enable Web search](/img/enable_web_search.png)\n\n## Kagi API\n\nComing Soon\n\n### Setup"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: d2347bc3-cce2-4445-893d-c2f87cf78f09
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "![enable Web search](/img/enable_web_search.png)\n\n## Kagi API\n\nComing Soon\n\n### Setup\n\n## Serpstack API\n\nComing Soon\n\n### Setup\n\n## Serper API\n\nComing Soon\n\n### Setup\n\n## Serply API\n\nComing Soon\n\n### Setup\n\n## DuckDuckGo API\n\n### Setup\n\nNo setup is required to use DuckDuckGo API for Open WebUI's built in web search! DuckDuckGo works out of the box in Open WebUI.\n\n:::note\nThere is a possibility of your web searches being rate limited.\n:::\n\n## Tavily API\n\nComing Soon\n\n### Setup\n\n## Jina API\n\nComing Soon\n\n### Setup\n\n## Bing API\n\n### Setup"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 265a06ea-5397-4b96-92c8-edf6c2909543
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "521ce520-8a18-4245-b85c-63271aee9d95", "hash": "161a05d0324f33c14f476b7054fb0404283fbeda566ecf8c4fd82a38bcef8d2d", "name": "web_search.md", "source": "web_search.md", "start_index": 0, "chroma:document": "## Tavily API\n\nComing Soon\n\n### Setup\n\n## Jina API\n\nComing Soon\n\n### Setup\n\n## Bing API\n\n### Setup\n\n1. Navigate to the [AzurePortal](https://portal.azure.com/#create/Microsoft.BingSearch) and create a new resource. After creation, you'll be redirected to the resource overview page. From there, select \"Click here to manage keys.\" ![click here to manage keys](https://github.com/user-attachments/assets/dd2a3c67-d6a7-4198-ba54-67a3c8acff6d)\n2. On the key management page, locate Key1 or Key2 and copy your desired key.\n3. Open the Open WebUI Admin Panel, switch to the Settings tab, and then select Web Search.\n4. Enable the Web search option and set the Web Search Engine to bing.\n5. Fill `SearchApi API Key` with the `API key` that you copied in step 2 from [AzurePortal](https://portal.azure.com/#create/Microsoft.BingSearch) dashboard.\n6. Click `Save`."}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/40ae928f-c86b-4ea1-9a61-2e59ff605808
id: 86b30672-1e63-4732-97a0-a33490aecdac
encoding: FLOAT32
metadata:
{"source": "whisper-local.md", "name": "whisper-local.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "55188e07-6d28-46ed-8127-4af8c58e0b7c", "start_index": 0, "hash": "039b99dbf643d2583a85c191892aa550b91dc0652a0ff2644f043fc9d3d12117", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 0\ntitle: \"\ud83d\udde8\ufe0f Whisper (Local)\"\n---\n\nComing soon!"}


created_at: 2024-12-28 04:06:42
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: bb1db5f7-b2e7-4f9f-874b-5d5f17459bbe
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "55188e07-6d28-46ed-8127-4af8c58e0b7c", "hash": "039b99dbf643d2583a85c191892aa550b91dc0652a0ff2644f043fc9d3d12117", "name": "whisper-local.md", "source": "whisper-local.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 0\ntitle: \"\ud83d\udde8\ufe0f Whisper (Local)\"\n---\n\nComing soon!"}


