# migrations

dir: embeddings_queue
filename: 00001-embeddings.sqlite.sql
hash: d3755dfd232be8e8301f4d7fcfb3a486
sql:
CREATE TABLE embeddings_queue (
    seq_id INTEGER PRIMARY KEY,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    operation INTEGER NOT NULL,
    topic TEXT NOT NULL,
    id TEXT NOT NULL,
    vector BLOB,
    encoding TEXT,
    metadata TEXT
);


dir: sysdb
filename: 00001-collections.sqlite.sql
hash: 38352d725ad1c16074fac420b22b4633
sql:
CREATE TABLE collections (
    id TEXT PRIMARY KEY,
    name TEXT NOT NULL,
    topic TEXT NOT NULL,
    UNIQUE (name)
);

CREATE TABLE collection_metadata (
    collection_id TEXT REFERENCES collections(id) ON DELETE CASCADE,
    key TEXT NOT NULL,
    str_value TEXT,
    int_value INTEGER,
    float_value REAL,
    PRIMARY KEY (collection_id, key)
);


dir: sysdb
filename: 00002-segments.sqlite.sql
hash: 2913cb6a503055a95f625448037e8912
sql:
CREATE TABLE segments (
    id TEXT PRIMARY KEY,
    type TEXT NOT NULL,
    scope TEXT NOT NULL,
    topic TEXT,
    collection TEXT REFERENCES collection(id)
);

CREATE TABLE segment_metadata (
    segment_id TEXT  REFERENCES segments(id) ON DELETE CASCADE,
    key TEXT NOT NULL,
    str_value TEXT,
    int_value INTEGER,
    float_value REAL,
    PRIMARY KEY (segment_id, key)
);


dir: sysdb
filename: 00004-tenants-databases.sqlite.sql
hash: 048867ce8fcdefe4023c7110e4433591
sql:
CREATE TABLE IF NOT EXISTS tenants (
    id TEXT PRIMARY KEY,
    UNIQUE (id)
);

CREATE TABLE IF NOT EXISTS databases (
    id TEXT PRIMARY KEY, -- unique globally
    name TEXT NOT NULL, -- unique per tenant
    tenant_id TEXT NOT NULL REFERENCES tenants(id) ON DELETE CASCADE,
    UNIQUE (tenant_id, name) -- Ensure that a tenant has only one database with a given name
);

CREATE TABLE IF NOT EXISTS collections_tmp (
    id TEXT PRIMARY KEY, -- unique globally
    name TEXT NOT NULL, -- unique per database
    topic TEXT NOT NULL,
    dimension INTEGER,
    database_id TEXT NOT NULL REFERENCES databases(id) ON DELETE CASCADE,
    UNIQUE (name, database_id)
);

-- Create default tenant and database
INSERT OR REPLACE INTO tenants (id) VALUES ('default_tenant'); -- The default tenant id is 'default_tenant' others are UUIDs
INSERT OR REPLACE INTO databases (id, name, tenant_id) VALUES ('00000000-0000-0000-0000-000000000000', 'default_database', 'default_tenant');

INSERT OR REPLACE INTO collections_tmp (id, name, topic, dimension, database_id)
    SELECT id, name, topic, dimension, '00000000-0000-0000-0000-000000000000' FROM collections;
DROP TABLE collections;
ALTER TABLE collections_tmp RENAME TO collections;


dir: sysdb
filename: 00005-remove-topic.sqlite.sql
hash: b1367c826b8fba5f96f27befdc1d42d2
sql:
-- Remove the topic column from the Collections and Segments tables

ALTER TABLE collections DROP COLUMN topic;
ALTER TABLE segments DROP COLUMN topic;


dir: sysdb
filename: 00006-collection-segment-metadata.sqlite.sql
hash: 4eea7468935bf25d4604a0fed2366116
sql:
-- SQLite does not support adding check with alter table, as a result, adding a check
-- involve creating a new table and copying the data over. It is over kill with adding
-- a boolean type column. The application write to the table needs to ensure the data
-- integrity.
ALTER TABLE collection_metadata ADD COLUMN bool_value INTEGER;
ALTER TABLE segment_metadata ADD COLUMN bool_value INTEGER;


dir: sysdb
filename: 00007-collection-config.sqlite.sql
hash: 1c7e63bba346a42a18b6ab7f1c989bed
sql:
-- Stores collection configuration dictionaries.
ALTER TABLE collections ADD COLUMN config_json_str TEXT;


dir: sysdb
filename: 00008-maintenance-log.sqlite.sql
hash: 0a0e7e93111a01789addf64961c6127c
sql:
-- Records when database maintenance operations are performed.
-- At time of creation, this table is only used to record vacuum operations.
CREATE TABLE maintenance_log (
  id INT PRIMARY KEY,
  timestamp INT NOT NULL,
  operation TEXT NOT NULL
);


dir: sysdb
filename: 00009-segment-collection-not-null.sqlite.sql
hash: 054355aef9e63702bf54ea29e61563f1
sql:
-- This makes segments.collection non-nullable.
CREATE TABLE segments_temp (
    id TEXT PRIMARY KEY,
    type TEXT NOT NULL,
    scope TEXT NOT NULL,
    collection TEXT REFERENCES collection(id) NOT NULL
);

INSERT INTO segments_temp SELECT * FROM segments;
DROP TABLE segments;
ALTER TABLE segments_temp RENAME TO segments;


dir: metadb
filename: 00001-embedding-metadata.sqlite.sql
hash: 2b4cf52c4bb2676e21d6860a4409f856
sql:
CREATE TABLE embeddings (
    id INTEGER PRIMARY KEY,
    segment_id TEXT NOT NULL,
    embedding_id TEXT NOT NULL,
    seq_id BLOB NOT NULL,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    UNIQUE (segment_id, embedding_id)
);

CREATE TABLE embedding_metadata (
    id INTEGER REFERENCES embeddings(id),
    key TEXT NOT NULL,
    string_value TEXT,
    int_value INTEGER,
    float_value REAL,
    PRIMARY KEY (id, key)
);

CREATE TABLE max_seq_id (
    segment_id TEXT PRIMARY KEY,
    seq_id BLOB NOT NULL
);

CREATE VIRTUAL TABLE embedding_fulltext USING fts5(id, string_value);


dir: metadb
filename: 00002-embedding-metadata.sqlite.sql
hash: 12a570f7121b3a8ce750a2a7c36da20f
sql:
-- SQLite does not support adding check with alter table, as a result, adding a check
-- involve creating a new table and copying the data over. It is over kill with adding
-- a boolean type column. The application write to the table needs to ensure the data
-- integrity.
ALTER TABLE embedding_metadata ADD COLUMN bool_value INTEGER


dir: metadb
filename: 00003-full-text-tokenize.sqlite.sql
hash: f97ad6334aeaa8f419f01110b648b97a
sql:
CREATE VIRTUAL TABLE embedding_fulltext_search USING fts5(string_value, tokenize='trigram');
INSERT INTO embedding_fulltext_search (rowid, string_value) SELECT rowid, string_value FROM embedding_metadata;
DROP TABLE embedding_fulltext;


dir: metadb
filename: 00004-metadata-indices.sqlite.sql
hash: fb36603a45ee2cd0254cef3ef86585e8
sql:
CREATE INDEX IF NOT EXISTS embedding_metadata_int_value ON embedding_metadata (key, int_value) WHERE int_value IS NOT NULL;
CREATE INDEX IF NOT EXISTS embedding_metadata_float_value ON embedding_metadata (key, float_value) WHERE float_value IS NOT NULL;
CREATE INDEX IF NOT EXISTS embedding_metadata_string_value ON embedding_metadata (key, string_value) WHERE string_value IS NOT NULL;


# embeddings_queue

created_at: 2024-12-28 04:06:10
topic: persistent://default/default/d30b042c-1609-4957-8338-e92c8b275043
id: 47c84c01-8c67-4309-bf5b-25c78d725b24
encoding: FLOAT32
metadata:
{"source": "actions.md", "name": "actions.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "2f44a99b-3fcc-431a-a67d-14a77fe79961", "start_index": 0, "hash": "2328f56f387b9d92046d5fc3de41936a9bb0a0cf80c269e002129a4ac1eb7aca", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 6\ntitle: \"\ud83c\udfac Actions\"\n---\n\nAction functions allow you to write custom buttons to the message toolbar for end users to interact\nwith. This feature enables more interactive messaging, enabling users to grant permission before a\ntask is performed, generate visualizations of structured data, download an audio snippet of chats,\nand many other use cases.\n\nA scaffold of Action code can be found [in the community section](https://openwebui.com/f/hub/custom_action/).\n\nAn example of a graph visualization Action can be seen in the video below.\n\n<p align=\"center\">\n  <a href=\"#\">\n    <img src=\"/img/pipelines/graph-viz-action.gif\" alt=\"Graph Visualization Action\" />\n  </a>\n</p>"}


created_at: 2024-12-28 04:06:10
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 52ecbdd8-c8d4-4380-9381-abc6eb47bf88
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "2f44a99b-3fcc-431a-a67d-14a77fe79961", "hash": "2328f56f387b9d92046d5fc3de41936a9bb0a0cf80c269e002129a4ac1eb7aca", "name": "actions.md", "source": "actions.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 6\ntitle: \"\ud83c\udfac Actions\"\n---\n\nAction functions allow you to write custom buttons to the message toolbar for end users to interact\nwith. This feature enables more interactive messaging, enabling users to grant permission before a\ntask is performed, generate visualizations of structured data, download an audio snippet of chats,\nand many other use cases.\n\nA scaffold of Action code can be found [in the community section](https://openwebui.com/f/hub/custom_action/).\n\nAn example of a graph visualization Action can be seen in the video below.\n\n<p align=\"center\">\n  <a href=\"#\">\n    <img src=\"/img/pipelines/graph-viz-action.gif\" alt=\"Graph Visualization Action\" />\n  </a>\n</p>"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/bf48077f-64b9-4efb-a0f4-86aa40163bbf
id: 51bd5b53-7d59-427c-90b6-51dde92a0227
encoding: FLOAT32
metadata:
{"source": "apache.md", "name": "apache.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "start_index": 0, "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 7\ntitle: \"\ud83d\uddc4\ufe0f Hosting UI and Models separately\"\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:::"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/bf48077f-64b9-4efb-a0f4-86aa40163bbf
id: 55489957-3357-4877-b7df-30d2a7dd6e73
encoding: FLOAT32
metadata:
{"source": "apache.md", "name": "apache.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "start_index": 325, "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": ":::note\nIf you plan to expose this to the wide area network, consider implementing security like a [network firewall](https://github.com/chr0mag/geoipsets), [web application firewall](https://github.com/owasp-modsecurity/ModSecurity), and [threat intelligence](https://github.com/crowdsecurity/crowdsec).\nAdditionally, it's strongly recommended to enable HSTS possibly like `Header always set Strict-Transport-Security \"max-age=31536000; includeSubDomains\"` within your **HTTPS** configuration and a redirect of some kind to your **HTTPS URL** within your **HTTP** configuration. For free SSL certification, [Let's Encrypt](https://letsencrypt.org/) is a good option coupled with [Certbot](https://github.com/certbot/certbot) management.\n:::\n\nSometimes, its beneficial to host Ollama, separate from the UI, but retain the RAG and RBAC support features shared across users:\n\n## UI Configuration\n\nFor the UI configuration, you can set up the Apache VirtualHost as follows:"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/bf48077f-64b9-4efb-a0f4-86aa40163bbf
id: 53405f4e-4f3b-46a0-a71d-eee0f00d6f1b
encoding: FLOAT32
metadata:
{"source": "apache.md", "name": "apache.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "start_index": 1199, "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## UI Configuration\n\nFor the UI configuration, you can set up the Apache VirtualHost as follows:\n\n```\n# Assuming you have a website hosting this UI at \"server.com\"\n<VirtualHost 192.168.1.100:80>\n    ServerName server.com\n    DocumentRoot /home/server/public_html\n\n    ProxyPass / http://server.com:3000/ nocanon\n    ProxyPassReverse / http://server.com:3000/\n\n    RewriteEngine on\n    RewriteCond %{HTTP:Upgrade} websocket [NC]\n    RewriteCond %{HTTP:Connection} upgrade [NC]\n    RewriteRule ^/?(.*) \"ws://server.com:3000/$1\" [P,L]\n</VirtualHost>\n```\n\nEnable the site first before you can request SSL:"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/bf48077f-64b9-4efb-a0f4-86aa40163bbf
id: 5c879967-b6fa-4aa4-895d-1a32cf603342
encoding: FLOAT32
metadata:
{"source": "apache.md", "name": "apache.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "start_index": 1751, "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Enable the site first before you can request SSL:\n\n:::warning\nUse of the `nocanon` option may [affect the security of your backend](https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxypass). It's recommended to enable this only if required by your configuration.\n_Normally, mod_proxy will canonicalise ProxyPassed URLs. But this may be incompatible with some backends, particularly those that make use of PATH_INFO. The optional nocanon keyword suppresses this and passes the URL path \"raw\" to the backend. Note that this keyword may affect the security of your backend, as it removes the normal limited protection against URL-based attacks provided by the proxy._\n:::\n\n`a2ensite server.com.conf` # this will enable the site. a2ensite is short for \"Apache 2 Enable Site\"\n\n```\n# For SSL\n<VirtualHost 192.168.1.100:443>\n    ServerName server.com\n    DocumentRoot /home/server/public_html\n\n    ProxyPass / http://server.com:3000/ nocanon\n    ProxyPassReverse / http://server.com:3000/"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/bf48077f-64b9-4efb-a0f4-86aa40163bbf
id: e2ff1605-c348-4905-93b9-84adc307e293
encoding: FLOAT32
metadata:
{"source": "apache.md", "name": "apache.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "start_index": 2648, "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "ProxyPass / http://server.com:3000/ nocanon\n    ProxyPassReverse / http://server.com:3000/\n\n    RewriteEngine on\n    RewriteCond %{HTTP:Upgrade} websocket [NC]\n    RewriteCond %{HTTP:Connection} upgrade [NC]\n    RewriteRule ^/?(.*) \"ws://server.com:3000/$1\" [P,L]\n\n    SSLEngine on\n    SSLCertificateFile /etc/ssl/virtualmin/170514456861234/ssl.cert\n    SSLCertificateKeyFile /etc/ssl/virtualmin/170514456861234/ssl.key\n    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1\n\n    SSLProxyEngine on\n    SSLCACertificateFile /etc/ssl/virtualmin/170514456865864/ssl.ca\n</VirtualHost>\n\n```\n\nI'm using virtualmin here for my SSL clusters, but you can also use certbot directly or your preferred SSL method. To use SSL:\n\n### Prerequisites\n\nRun the following commands:\n\n`snap install certbot --classic`\n`snap apt install python3-certbot-apache` (this will install the apache plugin).\n\nNavigate to the apache sites-available directory:\n\n`cd /etc/apache2/sites-available/`"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/bf48077f-64b9-4efb-a0f4-86aa40163bbf
id: e823db46-8a25-41ee-94de-dfd1a88ef5e3
encoding: FLOAT32
metadata:
{"source": "apache.md", "name": "apache.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "start_index": 3521, "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Navigate to the apache sites-available directory:\n\n`cd /etc/apache2/sites-available/`\n\nCreate server.com.conf if it is not yet already created, containing the above `<virtualhost>` configuration (it should match your case. Modify as necessary). Use the one without the SSL:\n\nOnce it's created, run `certbot --apache -d server.com`, this will request and add/create an SSL keys for you as well as create the server.com.le-ssl.conf\n\n# Configuring Ollama Server\n\nOn your latest installation of Ollama, make sure that you have setup your api server from the official Ollama reference:\n\n[Ollama FAQ](https://github.com/jmorganca/ollama/blob/main/docs/faq.md)\n\n### TL;DR\n\nThe guide doesn't seem to match the current updated service file on linux. So, we will address it here:\n\nUnless when you're compiling Ollama from source, installing with the standard install `curl https://ollama.com/install.sh | sh` creates a file called `ollama.service` in /etc/systemd/system. You can use nano to edit the file:"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/bf48077f-64b9-4efb-a0f4-86aa40163bbf
id: 0aeca65c-9520-444c-8308-95ae295dd33a
encoding: FLOAT32
metadata:
{"source": "apache.md", "name": "apache.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "start_index": 4519, "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "```\nsudo nano /etc/systemd/system/ollama.service\n```\n\nAdd the following lines:\n\n```\nEnvironment=\"OLLAMA_HOST=0.0.0.0:11434\" # this line is mandatory. You can also specify\n```\n\nFor instance:\n\n```\n[Unit]\nDescription=Ollama Service\nAfter=network-online.target\n\n[Service]\nExecStart=/usr/local/bin/ollama serve\nEnvironment=\"OLLAMA_HOST=0.0.0.0:11434\" # this line is mandatory. You can also specify 192.168.254.109:DIFFERENT_PORT, format\nEnvironment=\"OLLAMA_ORIGINS=http://192.168.254.106:11434,https://models.server.city\" # this line is optional\nUser=ollama\nGroup=ollama\nRestart=always\nRestartSec=3\nEnvironment=\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/s>\n\n[Install]\nWantedBy=default.target\n```\n\nSave the file by pressing CTRL+S, then press CTRL+X"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/bf48077f-64b9-4efb-a0f4-86aa40163bbf
id: a34258f8-8815-47c8-90f6-867d587c7d12
encoding: FLOAT32
metadata:
{"source": "apache.md", "name": "apache.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "start_index": 5225, "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "[Install]\nWantedBy=default.target\n```\n\nSave the file by pressing CTRL+S, then press CTRL+X\n\nWhen your computer restarts, the Ollama server will now be listening on the IP:PORT you specified, in this case 0.0.0.0:11434, or 192.168.254.106:11434 (whatever your local IP address is). Make sure that your router is correctly configured to serve pages from that local IP by forwarding 11434 to your local IP server.\n\n# Ollama Model Configuration\n\n## For the Ollama model configuration, use the following Apache VirtualHost setup\n\nNavigate to the apache sites-available directory:\n\n`cd /etc/apache2/sites-available/`\n\n`nano models.server.city.conf` # match this with your ollama server domain\n\nAdd the follwoing virtualhost containing this example (modify as needed):\n\n```"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/bf48077f-64b9-4efb-a0f4-86aa40163bbf
id: 70a9d162-6833-45be-b1bb-fa59ed63871e
encoding: FLOAT32
metadata:
{"source": "apache.md", "name": "apache.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "start_index": 5913, "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Add the follwoing virtualhost containing this example (modify as needed):\n\n```\n\n# Assuming you have a website hosting this UI at \"models.server.city\"\n<IfModule mod_ssl.c>\n    <VirtualHost 192.168.254.109:443>\n        DocumentRoot \"/var/www/html/\"\n        ServerName models.server.city\n        <Directory \"/var/www/html/\">\n            Options None\n            Require all granted\n        </Directory>\n\n        ProxyRequests Off\n        ProxyPreserveHost On\n        ProxyAddHeaders On\n        SSLProxyEngine on\n\n        ProxyPass / http://server.city:1000/ nocanon # or port 11434\n        ProxyPassReverse / http://server.city:1000/ # or port 11434\n\n        SSLCertificateFile /etc/letsencrypt/live/models.server.city/fullchain.pem\n        SSLCertificateKeyFile /etc/letsencrypt/live/models.server.city/privkey.pem\n        Include /etc/letsencrypt/options-ssl-apache.conf\n    </VirtualHost>\n</IfModule>\n```"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/bf48077f-64b9-4efb-a0f4-86aa40163bbf
id: 6d3742fe-4c76-4fd4-9858-3f33d031ab1f
encoding: FLOAT32
metadata:
{"source": "apache.md", "name": "apache.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "start_index": 6819, "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "You may need to enable the site first (if you haven't done so yet) before you can request SSL:\n\n`a2ensite models.server.city.conf`\n\n#### For the SSL part of Ollama server\n\nRun the following commands:\n\nNavigate to the apache sites-available directory:\n\n`cd /etc/apache2/sites-available/`\n`certbot --apache -d server.com`\n\n```\n<VirtualHost 192.168.254.109:80>\n    DocumentRoot \"/var/www/html/\"\n    ServerName models.server.city\n    <Directory \"/var/www/html/\">\n        Options None\n        Require all granted\n    </Directory>\n\n    ProxyRequests Off\n    ProxyPreserveHost On\n    ProxyAddHeaders On\n    SSLProxyEngine on\n\n    ProxyPass / http://server.city:1000/ nocanon # or port 11434\n    ProxyPassReverse / http://server.city:1000/ # or port 11434\n\n    RewriteEngine on\n    RewriteCond %{SERVER_NAME} =models.server.city\n    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]\n</VirtualHost>\n\n```\n\nDon't forget to restart/reload Apache with `systemctl reload apache2`"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/bf48077f-64b9-4efb-a0f4-86aa40163bbf
id: bf169576-6c53-49bf-aa6f-22285d625bec
encoding: FLOAT32
metadata:
{"source": "apache.md", "name": "apache.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "start_index": 7732, "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "```\n\nDon't forget to restart/reload Apache with `systemctl reload apache2`\n\nOpen your site at https://server.com!\n\n**Congratulations**, your _**Open-AI-like Chat-GPT style UI**_ is now serving AI with RAG, RBAC and multimodal features! Download Ollama models if you haven't yet done so!\n\nIf you encounter any misconfiguration or errors, please file an issue or engage with our discussion. There are a lot of friendly developers here to assist you.\n\nLet's make this UI much more user friendly for everyone!\n\nThanks for making open-webui your UI Choice for AI!\n\nThis doc is made by **Bob Reyes**, your **Open-WebUI** fan from the Philippines."}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: b1504021-8cbe-4bad-9fb3-f235c8dea047
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "name": "apache.md", "source": "apache.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 7\ntitle: \"\ud83d\uddc4\ufe0f Hosting UI and Models separately\"\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:::"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 59f25cdb-21e3-4943-aa16-466208c78ee4
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "name": "apache.md", "source": "apache.md", "start_index": 0, "chroma:document": ":::note\nIf you plan to expose this to the wide area network, consider implementing security like a [network firewall](https://github.com/chr0mag/geoipsets), [web application firewall](https://github.com/owasp-modsecurity/ModSecurity), and [threat intelligence](https://github.com/crowdsecurity/crowdsec).\nAdditionally, it's strongly recommended to enable HSTS possibly like `Header always set Strict-Transport-Security \"max-age=31536000; includeSubDomains\"` within your **HTTPS** configuration and a redirect of some kind to your **HTTPS URL** within your **HTTP** configuration. For free SSL certification, [Let's Encrypt](https://letsencrypt.org/) is a good option coupled with [Certbot](https://github.com/certbot/certbot) management.\n:::\n\nSometimes, its beneficial to host Ollama, separate from the UI, but retain the RAG and RBAC support features shared across users:\n\n## UI Configuration\n\nFor the UI configuration, you can set up the Apache VirtualHost as follows:"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 20ae57c4-f060-4032-9601-2587ec7964a4
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "name": "apache.md", "source": "apache.md", "start_index": 0, "chroma:document": "## UI Configuration\n\nFor the UI configuration, you can set up the Apache VirtualHost as follows:\n\n```\n# Assuming you have a website hosting this UI at \"server.com\"\n<VirtualHost 192.168.1.100:80>\n    ServerName server.com\n    DocumentRoot /home/server/public_html\n\n    ProxyPass / http://server.com:3000/ nocanon\n    ProxyPassReverse / http://server.com:3000/\n\n    RewriteEngine on\n    RewriteCond %{HTTP:Upgrade} websocket [NC]\n    RewriteCond %{HTTP:Connection} upgrade [NC]\n    RewriteRule ^/?(.*) \"ws://server.com:3000/$1\" [P,L]\n</VirtualHost>\n```\n\nEnable the site first before you can request SSL:"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: ec47e7f7-3b2e-44d9-9368-471eb2f29e7a
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "name": "apache.md", "source": "apache.md", "start_index": 0, "chroma:document": "Enable the site first before you can request SSL:\n\n:::warning\nUse of the `nocanon` option may [affect the security of your backend](https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxypass). It's recommended to enable this only if required by your configuration.\n_Normally, mod_proxy will canonicalise ProxyPassed URLs. But this may be incompatible with some backends, particularly those that make use of PATH_INFO. The optional nocanon keyword suppresses this and passes the URL path \"raw\" to the backend. Note that this keyword may affect the security of your backend, as it removes the normal limited protection against URL-based attacks provided by the proxy._\n:::\n\n`a2ensite server.com.conf` # this will enable the site. a2ensite is short for \"Apache 2 Enable Site\"\n\n```\n# For SSL\n<VirtualHost 192.168.1.100:443>\n    ServerName server.com\n    DocumentRoot /home/server/public_html\n\n    ProxyPass / http://server.com:3000/ nocanon\n    ProxyPassReverse / http://server.com:3000/"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 4cd1b83b-76a5-4da0-8052-34439782feb3
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "name": "apache.md", "source": "apache.md", "start_index": 0, "chroma:document": "ProxyPass / http://server.com:3000/ nocanon\n    ProxyPassReverse / http://server.com:3000/\n\n    RewriteEngine on\n    RewriteCond %{HTTP:Upgrade} websocket [NC]\n    RewriteCond %{HTTP:Connection} upgrade [NC]\n    RewriteRule ^/?(.*) \"ws://server.com:3000/$1\" [P,L]\n\n    SSLEngine on\n    SSLCertificateFile /etc/ssl/virtualmin/170514456861234/ssl.cert\n    SSLCertificateKeyFile /etc/ssl/virtualmin/170514456861234/ssl.key\n    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1\n\n    SSLProxyEngine on\n    SSLCACertificateFile /etc/ssl/virtualmin/170514456865864/ssl.ca\n</VirtualHost>\n\n```\n\nI'm using virtualmin here for my SSL clusters, but you can also use certbot directly or your preferred SSL method. To use SSL:\n\n### Prerequisites\n\nRun the following commands:\n\n`snap install certbot --classic`\n`snap apt install python3-certbot-apache` (this will install the apache plugin).\n\nNavigate to the apache sites-available directory:\n\n`cd /etc/apache2/sites-available/`"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: dd439be5-7a0c-47d7-87fa-963ff5d22ae2
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "name": "apache.md", "source": "apache.md", "start_index": 0, "chroma:document": "Navigate to the apache sites-available directory:\n\n`cd /etc/apache2/sites-available/`\n\nCreate server.com.conf if it is not yet already created, containing the above `<virtualhost>` configuration (it should match your case. Modify as necessary). Use the one without the SSL:\n\nOnce it's created, run `certbot --apache -d server.com`, this will request and add/create an SSL keys for you as well as create the server.com.le-ssl.conf\n\n# Configuring Ollama Server\n\nOn your latest installation of Ollama, make sure that you have setup your api server from the official Ollama reference:\n\n[Ollama FAQ](https://github.com/jmorganca/ollama/blob/main/docs/faq.md)\n\n### TL;DR\n\nThe guide doesn't seem to match the current updated service file on linux. So, we will address it here:\n\nUnless when you're compiling Ollama from source, installing with the standard install `curl https://ollama.com/install.sh | sh` creates a file called `ollama.service` in /etc/systemd/system. You can use nano to edit the file:"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 58deded6-14b8-4ead-b07c-8563ebb7329c
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "name": "apache.md", "source": "apache.md", "start_index": 0, "chroma:document": "```\nsudo nano /etc/systemd/system/ollama.service\n```\n\nAdd the following lines:\n\n```\nEnvironment=\"OLLAMA_HOST=0.0.0.0:11434\" # this line is mandatory. You can also specify\n```\n\nFor instance:\n\n```\n[Unit]\nDescription=Ollama Service\nAfter=network-online.target\n\n[Service]\nExecStart=/usr/local/bin/ollama serve\nEnvironment=\"OLLAMA_HOST=0.0.0.0:11434\" # this line is mandatory. You can also specify 192.168.254.109:DIFFERENT_PORT, format\nEnvironment=\"OLLAMA_ORIGINS=http://192.168.254.106:11434,https://models.server.city\" # this line is optional\nUser=ollama\nGroup=ollama\nRestart=always\nRestartSec=3\nEnvironment=\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/s>\n\n[Install]\nWantedBy=default.target\n```\n\nSave the file by pressing CTRL+S, then press CTRL+X"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 6d02c74b-b3bd-4e7a-8879-e8eabfd7104f
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "name": "apache.md", "source": "apache.md", "start_index": 0, "chroma:document": "[Install]\nWantedBy=default.target\n```\n\nSave the file by pressing CTRL+S, then press CTRL+X\n\nWhen your computer restarts, the Ollama server will now be listening on the IP:PORT you specified, in this case 0.0.0.0:11434, or 192.168.254.106:11434 (whatever your local IP address is). Make sure that your router is correctly configured to serve pages from that local IP by forwarding 11434 to your local IP server.\n\n# Ollama Model Configuration\n\n## For the Ollama model configuration, use the following Apache VirtualHost setup\n\nNavigate to the apache sites-available directory:\n\n`cd /etc/apache2/sites-available/`\n\n`nano models.server.city.conf` # match this with your ollama server domain\n\nAdd the follwoing virtualhost containing this example (modify as needed):\n\n```"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: b4bbe17d-36c9-440d-91f9-f01d25714db8
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "name": "apache.md", "source": "apache.md", "start_index": 0, "chroma:document": "Add the follwoing virtualhost containing this example (modify as needed):\n\n```\n\n# Assuming you have a website hosting this UI at \"models.server.city\"\n<IfModule mod_ssl.c>\n    <VirtualHost 192.168.254.109:443>\n        DocumentRoot \"/var/www/html/\"\n        ServerName models.server.city\n        <Directory \"/var/www/html/\">\n            Options None\n            Require all granted\n        </Directory>\n\n        ProxyRequests Off\n        ProxyPreserveHost On\n        ProxyAddHeaders On\n        SSLProxyEngine on\n\n        ProxyPass / http://server.city:1000/ nocanon # or port 11434\n        ProxyPassReverse / http://server.city:1000/ # or port 11434\n\n        SSLCertificateFile /etc/letsencrypt/live/models.server.city/fullchain.pem\n        SSLCertificateKeyFile /etc/letsencrypt/live/models.server.city/privkey.pem\n        Include /etc/letsencrypt/options-ssl-apache.conf\n    </VirtualHost>\n</IfModule>\n```"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 1d071896-7b22-4732-97af-1734e6971ea3
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "name": "apache.md", "source": "apache.md", "start_index": 0, "chroma:document": "You may need to enable the site first (if you haven't done so yet) before you can request SSL:\n\n`a2ensite models.server.city.conf`\n\n#### For the SSL part of Ollama server\n\nRun the following commands:\n\nNavigate to the apache sites-available directory:\n\n`cd /etc/apache2/sites-available/`\n`certbot --apache -d server.com`\n\n```\n<VirtualHost 192.168.254.109:80>\n    DocumentRoot \"/var/www/html/\"\n    ServerName models.server.city\n    <Directory \"/var/www/html/\">\n        Options None\n        Require all granted\n    </Directory>\n\n    ProxyRequests Off\n    ProxyPreserveHost On\n    ProxyAddHeaders On\n    SSLProxyEngine on\n\n    ProxyPass / http://server.city:1000/ nocanon # or port 11434\n    ProxyPassReverse / http://server.city:1000/ # or port 11434\n\n    RewriteEngine on\n    RewriteCond %{SERVER_NAME} =models.server.city\n    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]\n</VirtualHost>\n\n```\n\nDon't forget to restart/reload Apache with `systemctl reload apache2`"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 80af8566-4faa-469b-89b4-a7a3a7d01281
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "b2d41605-8828-4469-b10e-7121433d8410", "hash": "ba498a711d52929bccfd866860e3364ea6ff0684c03257dc0723d44964a6f459", "name": "apache.md", "source": "apache.md", "start_index": 0, "chroma:document": "```\n\nDon't forget to restart/reload Apache with `systemctl reload apache2`\n\nOpen your site at https://server.com!\n\n**Congratulations**, your _**Open-AI-like Chat-GPT style UI**_ is now serving AI with RAG, RBAC and multimodal features! Download Ollama models if you haven't yet done so!\n\nIf you encounter any misconfiguration or errors, please file an issue or engage with our discussion. There are a lot of friendly developers here to assist you.\n\nLet's make this UI much more user friendly for everyone!\n\nThanks for making open-webui your UI Choice for AI!\n\nThis doc is made by **Bob Reyes**, your **Open-WebUI** fan from the Philippines."}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/a446333b-cd94-4e71-aba0-ee5f1ef1b3d4
id: 5b32ea76-0cfe-4d1d-a5bf-140ce6b7ee8d
encoding: FLOAT32
metadata:
{"source": "apachetika.md", "name": "apachetika.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "start_index": 0, "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 4000\ntitle: \"\ud83e\udeb6 Apache Tika Extraction\"\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## \ud83e\udeb6 Apache Tika Extraction\n\nThis documentation provides a step-by-step guide to integrating Apache Tika with Open WebUI. Apache Tika is a content analysis toolkit that can be used to detect and extract metadata and text content from over a thousand different file types. All of these file types can be parsed through a single interface, making Tika useful for search engine indexing, content analysis, translation, and much more.\n\nPrerequisites\n------------\n\n* Open WebUI instance\n* Docker installed on your system\n* Docker network set up for Open WebUI\n\nIntegration Steps\n----------------\n\n### Step 1: Create a Docker Compose File or Run the Docker Command for Apache Tika"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/a446333b-cd94-4e71-aba0-ee5f1ef1b3d4
id: 6d4b66b3-d642-4b67-89b2-a33a76e4c5cc
encoding: FLOAT32
metadata:
{"source": "apachetika.md", "name": "apachetika.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "start_index": 909, "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Step 1: Create a Docker Compose File or Run the Docker Command for Apache Tika\n\nYou have two options to run Apache Tika:\n\n**Option 1: Using Docker Compose**\n\nCreate a new file named `docker-compose.yml` in the same directory as your Open WebUI instance. Add the following configuration to the file:\n\n```yml\nservices:\n  tika:\n    image: apache/tika:latest-full\n    container_name: tika\n    ports:\n      - \"9998:9998\"\n    restart: unless-stopped\n```\n\nRun the Docker Compose file using the following command:\n\n```bash\ndocker-compose up -d\n```\n\n**Option 2: Using Docker Run Command**\n\nAlternatively, you can run Apache Tika using the following Docker command:\n\n```bash\ndocker run -d --name tika \\\n  -p 9998:9998 \\\n  -restart unless-stopped \\\n  apache/tika:latest-full\n```\n\nNote that if you choose to use the Docker run command, you'll need to specify the `--network` flag if you want to run the container in the same network as your Open WebUI instance."}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/a446333b-cd94-4e71-aba0-ee5f1ef1b3d4
id: 591ee4e4-38fe-492f-91db-873f11c6272c
encoding: FLOAT32
metadata:
{"source": "apachetika.md", "name": "apachetika.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "start_index": 1864, "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Step 2: Configure Open WebUI to Use Apache Tika\n\nTo use Apache Tika as the context extraction engine in Open WebUI, follow these steps:\n\n* Log in to your Open WebUI instance.\n* Navigate to the `Admin Panel` settings menu.\n* Click on `Settings`.\n* Click on the `Documents` tab.\n* Change the `Default` content extraction engine dropdown to `Tika`.\n* Update the context extraction engine URL to `http://tika:9998`.\n* Save the changes.\n\n Verifying Apache Tika in Docker\n=====================================\n\nTo verify that Apache Tika is working correctly in a Docker environment, you can follow these steps:\n\n### 1. Start the Apache Tika Docker Container\n\nFirst, ensure that the Apache Tika Docker container is running. You can start it using the following command:\n\n```bash\ndocker run -p 9998:9998 apache/tika\n```\n\nThis command starts the Apache Tika container and maps port 9998 from the container to port 9998 on your local machine.\n\n### 2. Verify the Server is Running"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/a446333b-cd94-4e71-aba0-ee5f1ef1b3d4
id: 9d829667-79cf-4b20-bc1e-03b57ea2d628
encoding: FLOAT32
metadata:
{"source": "apachetika.md", "name": "apachetika.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "start_index": 2803, "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### 2. Verify the Server is Running\n\nYou can verify that the Apache Tika server is running by sending a GET request:\n\n```bash\ncurl -X GET http://localhost:9998/tika\n```\n\nThis command should return the following response:\n\n```\nThis is Tika Server. Please PUT\n```\n\n### 3. Verify the Integration\n\nAlternatively, you can also try sending a file for analysis to test the integration. You can test Apache Tika by sending a file for analysis using the `curl` command:\n\n```bash\ncurl -T test.txt http://localhost:9998/tika\n```\n\nReplace `test.txt` with the path to a text file on your local machine.\n\nApache Tika will respond with the detected metadata and content type of the file.\n\n### Using a Script to Verify Apache Tika"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/a446333b-cd94-4e71-aba0-ee5f1ef1b3d4
id: 77f0fe1d-403f-4fa2-8311-8957c6074e8e
encoding: FLOAT32
metadata:
{"source": "apachetika.md", "name": "apachetika.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "start_index": 3477, "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Using a Script to Verify Apache Tika\n\nIf you want to automate the verification process, this script sends a file to Apache Tika and checks the response for the expected metadata. If the metadata is present, the script will output a success message along with the file's metadata; otherwise, it will output an error message and the response from Apache Tika.\n\n```python\nimport requests\n\ndef verify_tika(file_path, tika_url):\n    try:\n        # Send the file to Apache Tika and verify the output\n        response = requests.put(tika_url, files={'file': open(file_path, 'rb')})"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/a446333b-cd94-4e71-aba0-ee5f1ef1b3d4
id: 86927c72-3bf2-4005-857a-c536c39899e0
encoding: FLOAT32
metadata:
{"source": "apachetika.md", "name": "apachetika.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "start_index": 4065, "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "if response.status_code == 200:\n            print(\"Apache Tika successfully analyzed the file.\")\n            print(\"Response from Apache Tika:\")\n            print(response.text)\n        else:\n            print(\"Error analyzing the file:\")\n            print(f\"Status code: {response.status_code}\")\n            print(f\"Response from Apache Tika: {response.text}\")\n    except Exception as e:\n        print(f\"An error occurred: {e}\")\n\nif __name__ == \"__main__\":\n    file_path = \"test.txt\"  # Replace with the path to your file\n    tika_url = \"http://localhost:9998/tika\"\n\n    verify_tika(file_path, tika_url)\n```\n\nInstructions to run the script:\n\n### Prerequisites\n\n* Python 3.x must be installed on your system\n* `requests` library must be installed (you can install it using pip: `pip install requests`)\n* Apache Tika Docker container must be running (use `docker run -p 9998:9998 apache/tika` command)\n* Replace `\"test.txt\"` with the path to the file you want to send to Apache Tika"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/a446333b-cd94-4e71-aba0-ee5f1ef1b3d4
id: da8c1001-642b-413d-ba3c-3502a0a25a65
encoding: FLOAT32
metadata:
{"source": "apachetika.md", "name": "apachetika.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "start_index": 5048, "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Running the Script\n\n1. Save the script as `verify_tika.py` (e.g., using a text editor like Notepad or Sublime Text)\n2. Open a terminal or command prompt\n3. Navigate to the directory where you saved the script (using the `cd` command)\n4. Run the script using the following command: `python verify_tika.py`\n5. The script will output a message indicating whether Apache Tika is working correctly\n\nNote: If you encounter any issues, ensure that the Apache Tika container is running correctly and that the file is being sent to the correct URL.\n\n### Conclusion\n\nBy following these steps, you can verify that Apache Tika is working correctly in a Docker environment. You can test the setup by sending a file for analysis, verifying the server is running with a GET request, or use a script to automate the process. If you encounter any issues, ensure that the Apache Tika container is running correctly and that the file is being sent to the correct URL.\n\nTroubleshooting\n--------------"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/a446333b-cd94-4e71-aba0-ee5f1ef1b3d4
id: e4f9b012-8c32-44f0-86fa-f07c0fe2bcc4
encoding: FLOAT32
metadata:
{"source": "apachetika.md", "name": "apachetika.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "start_index": 6002, "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Troubleshooting\n--------------\n\n* Make sure the Apache Tika service is running and accessible from the Open WebUI instance.\n* Check the Docker logs for any errors or issues related to the Apache Tika service.\n* Verify that the context extraction engine URL is correctly configured in Open WebUI.\n\nBenefits of Integration\n----------------------\n\nIntegrating Apache Tika with Open WebUI provides several benefits, including:\n\n* **Improved Metadata Extraction**: Apache Tika's advanced metadata extraction capabilities can help you extract accurate and relevant data from your files.\n* **Support for Multiple File Formats**: Apache Tika supports a wide range of file formats, making it an ideal solution for organizations that work with diverse file types.\n* **Enhanced Content Analysis**: Apache Tika's advanced content analysis capabilities can help you extract valuable insights from your files.\n\nConclusion\n----------"}


created_at: 2024-12-28 04:06:11
topic: persistent://default/default/a446333b-cd94-4e71-aba0-ee5f1ef1b3d4
id: 7fdc7ee6-f13b-458a-aed1-ee7dfab1ed62
encoding: FLOAT32
metadata:
{"source": "apachetika.md", "name": "apachetika.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "start_index": 6899, "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Conclusion\n----------\n\nIntegrating Apache Tika with Open WebUI is a straightforward process that can improve the metadata extraction capabilities of your Open WebUI instance. By following the steps outlined in this documentation, you can easily set up Apache Tika as a context extraction engine for Open WebUI."}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 5225fd92-a76b-4038-b570-c1e46356b4fb
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "name": "apachetika.md", "source": "apachetika.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 4000\ntitle: \"\ud83e\udeb6 Apache Tika Extraction\"\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## \ud83e\udeb6 Apache Tika Extraction\n\nThis documentation provides a step-by-step guide to integrating Apache Tika with Open WebUI. Apache Tika is a content analysis toolkit that can be used to detect and extract metadata and text content from over a thousand different file types. All of these file types can be parsed through a single interface, making Tika useful for search engine indexing, content analysis, translation, and much more.\n\nPrerequisites\n------------\n\n* Open WebUI instance\n* Docker installed on your system\n* Docker network set up for Open WebUI\n\nIntegration Steps\n----------------\n\n### Step 1: Create a Docker Compose File or Run the Docker Command for Apache Tika"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 0b78502a-dbf3-4fac-9f88-346e04fed318
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "name": "apachetika.md", "source": "apachetika.md", "start_index": 0, "chroma:document": "### Step 1: Create a Docker Compose File or Run the Docker Command for Apache Tika\n\nYou have two options to run Apache Tika:\n\n**Option 1: Using Docker Compose**\n\nCreate a new file named `docker-compose.yml` in the same directory as your Open WebUI instance. Add the following configuration to the file:\n\n```yml\nservices:\n  tika:\n    image: apache/tika:latest-full\n    container_name: tika\n    ports:\n      - \"9998:9998\"\n    restart: unless-stopped\n```\n\nRun the Docker Compose file using the following command:\n\n```bash\ndocker-compose up -d\n```\n\n**Option 2: Using Docker Run Command**\n\nAlternatively, you can run Apache Tika using the following Docker command:\n\n```bash\ndocker run -d --name tika \\\n  -p 9998:9998 \\\n  -restart unless-stopped \\\n  apache/tika:latest-full\n```\n\nNote that if you choose to use the Docker run command, you'll need to specify the `--network` flag if you want to run the container in the same network as your Open WebUI instance."}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 6721c2d3-060a-43ce-bd60-f18572a4ab11
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "name": "apachetika.md", "source": "apachetika.md", "start_index": 0, "chroma:document": "### Step 2: Configure Open WebUI to Use Apache Tika\n\nTo use Apache Tika as the context extraction engine in Open WebUI, follow these steps:\n\n* Log in to your Open WebUI instance.\n* Navigate to the `Admin Panel` settings menu.\n* Click on `Settings`.\n* Click on the `Documents` tab.\n* Change the `Default` content extraction engine dropdown to `Tika`.\n* Update the context extraction engine URL to `http://tika:9998`.\n* Save the changes.\n\n Verifying Apache Tika in Docker\n=====================================\n\nTo verify that Apache Tika is working correctly in a Docker environment, you can follow these steps:\n\n### 1. Start the Apache Tika Docker Container\n\nFirst, ensure that the Apache Tika Docker container is running. You can start it using the following command:\n\n```bash\ndocker run -p 9998:9998 apache/tika\n```\n\nThis command starts the Apache Tika container and maps port 9998 from the container to port 9998 on your local machine.\n\n### 2. Verify the Server is Running"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 793b63c5-7944-4c0a-9f95-aec932928288
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "name": "apachetika.md", "source": "apachetika.md", "start_index": 0, "chroma:document": "### 2. Verify the Server is Running\n\nYou can verify that the Apache Tika server is running by sending a GET request:\n\n```bash\ncurl -X GET http://localhost:9998/tika\n```\n\nThis command should return the following response:\n\n```\nThis is Tika Server. Please PUT\n```\n\n### 3. Verify the Integration\n\nAlternatively, you can also try sending a file for analysis to test the integration. You can test Apache Tika by sending a file for analysis using the `curl` command:\n\n```bash\ncurl -T test.txt http://localhost:9998/tika\n```\n\nReplace `test.txt` with the path to a text file on your local machine.\n\nApache Tika will respond with the detected metadata and content type of the file.\n\n### Using a Script to Verify Apache Tika"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 61e3b58e-96ff-4628-ae2b-1bf8af34152a
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "name": "apachetika.md", "source": "apachetika.md", "start_index": 0, "chroma:document": "### Using a Script to Verify Apache Tika\n\nIf you want to automate the verification process, this script sends a file to Apache Tika and checks the response for the expected metadata. If the metadata is present, the script will output a success message along with the file's metadata; otherwise, it will output an error message and the response from Apache Tika.\n\n```python\nimport requests\n\ndef verify_tika(file_path, tika_url):\n    try:\n        # Send the file to Apache Tika and verify the output\n        response = requests.put(tika_url, files={'file': open(file_path, 'rb')})"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 064b02ae-327e-491e-a5f5-dbcdf8c15db8
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "name": "apachetika.md", "source": "apachetika.md", "start_index": 0, "chroma:document": "if response.status_code == 200:\n            print(\"Apache Tika successfully analyzed the file.\")\n            print(\"Response from Apache Tika:\")\n            print(response.text)\n        else:\n            print(\"Error analyzing the file:\")\n            print(f\"Status code: {response.status_code}\")\n            print(f\"Response from Apache Tika: {response.text}\")\n    except Exception as e:\n        print(f\"An error occurred: {e}\")\n\nif __name__ == \"__main__\":\n    file_path = \"test.txt\"  # Replace with the path to your file\n    tika_url = \"http://localhost:9998/tika\"\n\n    verify_tika(file_path, tika_url)\n```\n\nInstructions to run the script:\n\n### Prerequisites\n\n* Python 3.x must be installed on your system\n* `requests` library must be installed (you can install it using pip: `pip install requests`)\n* Apache Tika Docker container must be running (use `docker run -p 9998:9998 apache/tika` command)\n* Replace `\"test.txt\"` with the path to the file you want to send to Apache Tika"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: ded18b9d-e974-4c24-b596-6b25d6c30507
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "name": "apachetika.md", "source": "apachetika.md", "start_index": 0, "chroma:document": "### Running the Script\n\n1. Save the script as `verify_tika.py` (e.g., using a text editor like Notepad or Sublime Text)\n2. Open a terminal or command prompt\n3. Navigate to the directory where you saved the script (using the `cd` command)\n4. Run the script using the following command: `python verify_tika.py`\n5. The script will output a message indicating whether Apache Tika is working correctly\n\nNote: If you encounter any issues, ensure that the Apache Tika container is running correctly and that the file is being sent to the correct URL.\n\n### Conclusion\n\nBy following these steps, you can verify that Apache Tika is working correctly in a Docker environment. You can test the setup by sending a file for analysis, verifying the server is running with a GET request, or use a script to automate the process. If you encounter any issues, ensure that the Apache Tika container is running correctly and that the file is being sent to the correct URL.\n\nTroubleshooting\n--------------"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 3ff220fc-1338-4b5e-ab1b-9c1dbcd0c008
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "name": "apachetika.md", "source": "apachetika.md", "start_index": 0, "chroma:document": "Troubleshooting\n--------------\n\n* Make sure the Apache Tika service is running and accessible from the Open WebUI instance.\n* Check the Docker logs for any errors or issues related to the Apache Tika service.\n* Verify that the context extraction engine URL is correctly configured in Open WebUI.\n\nBenefits of Integration\n----------------------\n\nIntegrating Apache Tika with Open WebUI provides several benefits, including:\n\n* **Improved Metadata Extraction**: Apache Tika's advanced metadata extraction capabilities can help you extract accurate and relevant data from your files.\n* **Support for Multiple File Formats**: Apache Tika supports a wide range of file formats, making it an ideal solution for organizations that work with diverse file types.\n* **Enhanced Content Analysis**: Apache Tika's advanced content analysis capabilities can help you extract valuable insights from your files.\n\nConclusion\n----------"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 7ca92db3-1457-42e4-9107-e8006e0ca8b1
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "308de142-5bd0-47ac-af55-b08d27daf089", "hash": "612ef27af1659f3954f1b201150333c92a2f54dbcf0da065520b1843fc0b3853", "name": "apachetika.md", "source": "apachetika.md", "start_index": 0, "chroma:document": "Conclusion\n----------\n\nIntegrating Apache Tika with Open WebUI is a straightforward process that can improve the metadata extraction capabilities of your Open WebUI instance. By following the steps outlined in this documentation, you can easily set up Apache Tika as a context extraction engine for Open WebUI."}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/d0bd8f32-0ba3-4f39-bb33-3450b90b782c
id: d19eb63d-6115-4aae-89bb-6757a790049f
encoding: FLOAT32
metadata:
{"source": "api-endpoints.md", "name": "api-endpoints.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "start_index": 0, "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 400\ntitle: \"\ud83d\udd17 API Endpoints\"\n---\n\nThis guide provides essential information on how to interact with the API endpoints effectively to achieve seamless integration and automation using our models. Please note that this is an experimental setup and may undergo future updates for enhancement.\n\n## Authentication\n\nTo ensure secure access to the API, authentication is required \ud83d\udee1\ufe0f. You can authenticate your API requests using the Bearer Token mechanism. Obtain your API key from **Settings > Account** in the Open WebUI, or alternatively, use a JWT (JSON Web Token) for authentication.\n\n## Notable API Endpoints\n\n### \ud83d\udcdc Retrieve All Models\n\n- **Endpoint**: `GET /api/models`\n- **Description**: Fetches all models created or added via Open WebUI.\n- **Example**:\n\n  ```bash\n  curl -H \"Authorization: Bearer YOUR_API_KEY\" http://localhost:3000/api/models\n  ```\n\n### \ud83d\udcac Chat Completions"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/d0bd8f32-0ba3-4f39-bb33-3450b90b782c
id: e54846cc-f310-476f-a3b0-63012330f3c2
encoding: FLOAT32
metadata:
{"source": "api-endpoints.md", "name": "api-endpoints.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "start_index": 876, "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### \ud83d\udcac Chat Completions\n\n- **Endpoint**: `POST /api/chat/completions`\n- **Description**: Serves as an OpenAI API compatible chat completion endpoint for models on Open WebUI including Ollama models, OpenAI models, and Open WebUI Function models.\n- **Example**:\n\n  ```bash\n  curl -X POST http://localhost:3000/api/chat/completions \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n        \"model\": \"llama3.1\",\n        \"messages\": [\n          {\n            \"role\": \"user\",\n            \"content\": \"Why is the sky blue?\"\n          }\n        ]\n      }'\n  ```\n\n### \ud83e\udde9 Retrieval Augmented Generation (RAG)\n\nThe Retrieval Augmented Generation (RAG) feature allows you to enhance responses by incorporating data from external sources. Below, you will find the methods for managing files and knowledge collections via the API, and how to use them in chat completions effectively.\n\n#### Uploading Files"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/d0bd8f32-0ba3-4f39-bb33-3450b90b782c
id: 903b8f90-eaeb-4360-85e3-12705ecc3df7
encoding: FLOAT32
metadata:
{"source": "api-endpoints.md", "name": "api-endpoints.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "start_index": 1789, "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### Uploading Files\n\nTo utilize external data in RAG responses, you first need to upload the files. The content of the uploaded file is automatically extracted and stored in a vector database.\n\n- **Endpoint**: `POST /api/v1/files/`\n- **Curl Example**:\n\n  ```bash\n  curl -X POST -H \"Authorization: Bearer YOUR_API_KEY\" -H \"Accept: application/json\" \\\n  -F \"file=@/path/to/your/file\" http://localhost:3000/api/v1/files/\n  ```\n\n- **Python Example**:\n\n  ```python\n  import requests\n  \n  def upload_file(token, file_path):\n      url = 'http://localhost:3000/api/v1/files/'\n      headers = {\n          'Authorization': f'Bearer {token}',\n          'Accept': 'application/json'\n      }\n      files = {'file': open(file_path, 'rb')}\n      response = requests.post(url, headers=headers, files=files)\n      return response.json()\n  ```\n\n#### Adding Files to Knowledge Collections\n\nAfter uploading, you can group files into a knowledge collection or reference them individually in chats."}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/d0bd8f32-0ba3-4f39-bb33-3450b90b782c
id: 6e006f3d-28e1-4ede-adb3-80b6b6b7384c
encoding: FLOAT32
metadata:
{"source": "api-endpoints.md", "name": "api-endpoints.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "start_index": 2768, "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- **Endpoint**: `POST /api/v1/knowledge/{id}/file/add`\n- **Curl Example**:\n\n  ```bash\n  curl -X POST http://localhost:3000/api/v1/knowledge/{knowledge_id}/file/add \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"file_id\": \"your-file-id-here\"}'\n  ```\n\n- **Python Example**:\n\n  ```python\n  import requests\n\n  def add_file_to_knowledge(token, knowledge_id, file_id):\n      url = f'http://localhost:3000/api/v1/knowledge/{knowledge_id}/file/add'\n      headers = {\n          'Authorization': f'Bearer {token}',\n          'Content-Type': 'application/json'\n      }\n      data = {'file_id': file_id}\n      response = requests.post(url, headers=headers, json=data)\n      return response.json()\n  ```\n\n#### Using Files and Collections in Chat Completions\n\nYou can reference both individual files or entire collections in your RAG queries for enriched responses.\n\n##### Using an Individual File in Chat Completions"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/d0bd8f32-0ba3-4f39-bb33-3450b90b782c
id: 71f1a553-12af-40cd-bbba-4032f3e19a00
encoding: FLOAT32
metadata:
{"source": "api-endpoints.md", "name": "api-endpoints.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "start_index": 3668, "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "##### Using an Individual File in Chat Completions\n\nThis method is beneficial when you want to focus the chat model's response on the content of a specific file.\n\n- **Endpoint**: `POST /api/chat/completions`\n- **Curl Example**:\n\n  ```bash\n  curl -X POST http://localhost:3000/api/chat/completions \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n        \"model\": \"gpt-4-turbo\",\n        \"messages\": [\n          {\"role\": \"user\", \"content\": \"Explain the concepts in this document.\"}\n        ],\n        \"files\": [\n          {\"type\": \"file\", \"id\": \"your-file-id-here\"}\n        ]\n      }'\n  ```\n\n- **Python Example**:\n\n  ```python\n  import requests"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/d0bd8f32-0ba3-4f39-bb33-3450b90b782c
id: b8697a00-d912-4f8f-911f-a25ce94aada6
encoding: FLOAT32
metadata:
{"source": "api-endpoints.md", "name": "api-endpoints.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "start_index": 4303, "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- **Python Example**:\n\n  ```python\n  import requests\n\n  def chat_with_file(token, model, query, file_id):\n      url = 'http://localhost:3000/api/chat/completions'\n      headers = {\n          'Authorization': f'Bearer {token}',\n          'Content-Type': 'application/json'\n      }\n      payload = {\n          'model': model,\n          'messages': [{'role': 'user', 'content': query}],\n          'files': [{'type': 'file', 'id': file_id}]\n      }\n      response = requests.post(url, headers=headers, json=payload)\n      return response.json()\n  ```\n\n##### Using a Knowledge Collection in Chat Completions\n\nLeverage a knowledge collection to enhance the response when the inquiry may benefit from a broader context or multiple documents.\n\n- **Endpoint**: `POST /api/chat/completions`\n- **Curl Example**:"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/d0bd8f32-0ba3-4f39-bb33-3450b90b782c
id: ecebcd08-50b0-4f81-a74f-fd06b2d4b383
encoding: FLOAT32
metadata:
{"source": "api-endpoints.md", "name": "api-endpoints.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "start_index": 5039, "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- **Endpoint**: `POST /api/chat/completions`\n- **Curl Example**:\n\n  ```bash\n  curl -X POST http://localhost:3000/api/chat/completions \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n        \"model\": \"gpt-4-turbo\",\n        \"messages\": [\n          {\"role\": \"user\", \"content\": \"Provide insights on the historical perspectives covered in the collection.\"}\n        ],\n        \"files\": [\n          {\"type\": \"collection\", \"id\": \"your-collection-id-here\"}\n        ]\n      }'\n  ```\n\n- **Python Example**:"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/d0bd8f32-0ba3-4f39-bb33-3450b90b782c
id: a634e071-8e1e-4fb1-9c42-de29b7a66d23
encoding: FLOAT32
metadata:
{"source": "api-endpoints.md", "name": "api-endpoints.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "start_index": 5559, "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- **Python Example**:\n\n  ```python\n  import requests\n  \n  def chat_with_collection(token, model, query, collection_id):\n      url = 'http://localhost:3000/api/chat/completions'\n      headers = {\n          'Authorization': f'Bearer {token}',\n          'Content-Type': 'application/json'\n      }\n      payload = {\n          'model': model,\n          'messages': [{'role': 'user', 'content': query}],\n          'files': [{'type': 'collection', 'id': collection_id}]\n      }\n      response = requests.post(url, headers=headers, json=payload)\n      return response.json()\n  ```\n\nThese methods enable effective utilization of external knowledge via uploaded files and curated knowledge collections, enhancing chat applications' capabilities using the Open WebUI API. Whether using files individually or within collections, you can customize the integration based on your specific needs.\n\n## Advantages of Using Open WebUI as a Unified LLM Provider"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/d0bd8f32-0ba3-4f39-bb33-3450b90b782c
id: cd019298-6902-484b-a4a8-67d25e78b979
encoding: FLOAT32
metadata:
{"source": "api-endpoints.md", "name": "api-endpoints.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "start_index": 6441, "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## Advantages of Using Open WebUI as a Unified LLM Provider\n\nOpen WebUI offers a myriad of benefits, making it an essential tool for developers and businesses alike:\n\n- **Unified Interface**: Simplify your interactions with different LLMs through a single, integrated platform.\n- **Ease of Implementation**: Quick start integration with comprehensive documentation and community support.\n\n## Swagger Documentation Links\n\n:::important\nMake sure to set the `ENV` environment variable to `dev` in order to access the Swagger documentation for any of these services. Without this configuration, the documentation will not be available.\n:::\n\nAccess detailed API documentation for different services provided by Open WebUI:\n\n| Application | Documentation Path      |\n|-------------|-------------------------|\n| Main        | `/docs`                 |"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/d0bd8f32-0ba3-4f39-bb33-3450b90b782c
id: 3f2f97ac-9b2c-4cf0-b8a2-0f10744f98a2
encoding: FLOAT32
metadata:
{"source": "api-endpoints.md", "name": "api-endpoints.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "start_index": 7288, "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "By following these guidelines, you can swiftly integrate and begin utilizing the Open WebUI API. Should you encounter any issues or have questions, feel free to reach out through our Discord Community or consult the FAQs. Happy coding! \ud83c\udf1f"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 89e2bbbc-0f2f-4974-8199-25fe490a674b
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "name": "api-endpoints.md", "source": "api-endpoints.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 400\ntitle: \"\ud83d\udd17 API Endpoints\"\n---\n\nThis guide provides essential information on how to interact with the API endpoints effectively to achieve seamless integration and automation using our models. Please note that this is an experimental setup and may undergo future updates for enhancement.\n\n## Authentication\n\nTo ensure secure access to the API, authentication is required \ud83d\udee1\ufe0f. You can authenticate your API requests using the Bearer Token mechanism. Obtain your API key from **Settings > Account** in the Open WebUI, or alternatively, use a JWT (JSON Web Token) for authentication.\n\n## Notable API Endpoints\n\n### \ud83d\udcdc Retrieve All Models\n\n- **Endpoint**: `GET /api/models`\n- **Description**: Fetches all models created or added via Open WebUI.\n- **Example**:\n\n  ```bash\n  curl -H \"Authorization: Bearer YOUR_API_KEY\" http://localhost:3000/api/models\n  ```\n\n### \ud83d\udcac Chat Completions"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: b276391f-d99c-48a6-a937-d1b7c2dd99ef
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "name": "api-endpoints.md", "source": "api-endpoints.md", "start_index": 0, "chroma:document": "### \ud83d\udcac Chat Completions\n\n- **Endpoint**: `POST /api/chat/completions`\n- **Description**: Serves as an OpenAI API compatible chat completion endpoint for models on Open WebUI including Ollama models, OpenAI models, and Open WebUI Function models.\n- **Example**:\n\n  ```bash\n  curl -X POST http://localhost:3000/api/chat/completions \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n        \"model\": \"llama3.1\",\n        \"messages\": [\n          {\n            \"role\": \"user\",\n            \"content\": \"Why is the sky blue?\"\n          }\n        ]\n      }'\n  ```\n\n### \ud83e\udde9 Retrieval Augmented Generation (RAG)\n\nThe Retrieval Augmented Generation (RAG) feature allows you to enhance responses by incorporating data from external sources. Below, you will find the methods for managing files and knowledge collections via the API, and how to use them in chat completions effectively.\n\n#### Uploading Files"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: d9f17301-b5e3-4b59-8b4d-4ca63ce495e3
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "name": "api-endpoints.md", "source": "api-endpoints.md", "start_index": 0, "chroma:document": "#### Uploading Files\n\nTo utilize external data in RAG responses, you first need to upload the files. The content of the uploaded file is automatically extracted and stored in a vector database.\n\n- **Endpoint**: `POST /api/v1/files/`\n- **Curl Example**:\n\n  ```bash\n  curl -X POST -H \"Authorization: Bearer YOUR_API_KEY\" -H \"Accept: application/json\" \\\n  -F \"file=@/path/to/your/file\" http://localhost:3000/api/v1/files/\n  ```\n\n- **Python Example**:\n\n  ```python\n  import requests\n  \n  def upload_file(token, file_path):\n      url = 'http://localhost:3000/api/v1/files/'\n      headers = {\n          'Authorization': f'Bearer {token}',\n          'Accept': 'application/json'\n      }\n      files = {'file': open(file_path, 'rb')}\n      response = requests.post(url, headers=headers, files=files)\n      return response.json()\n  ```\n\n#### Adding Files to Knowledge Collections\n\nAfter uploading, you can group files into a knowledge collection or reference them individually in chats."}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: da2f2ccc-02b7-4895-80ec-b6ebdbc12484
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "name": "api-endpoints.md", "source": "api-endpoints.md", "start_index": 0, "chroma:document": "- **Endpoint**: `POST /api/v1/knowledge/{id}/file/add`\n- **Curl Example**:\n\n  ```bash\n  curl -X POST http://localhost:3000/api/v1/knowledge/{knowledge_id}/file/add \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"file_id\": \"your-file-id-here\"}'\n  ```\n\n- **Python Example**:\n\n  ```python\n  import requests\n\n  def add_file_to_knowledge(token, knowledge_id, file_id):\n      url = f'http://localhost:3000/api/v1/knowledge/{knowledge_id}/file/add'\n      headers = {\n          'Authorization': f'Bearer {token}',\n          'Content-Type': 'application/json'\n      }\n      data = {'file_id': file_id}\n      response = requests.post(url, headers=headers, json=data)\n      return response.json()\n  ```\n\n#### Using Files and Collections in Chat Completions\n\nYou can reference both individual files or entire collections in your RAG queries for enriched responses.\n\n##### Using an Individual File in Chat Completions"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 3415e244-5440-470d-84e7-39528ba4c408
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "name": "api-endpoints.md", "source": "api-endpoints.md", "start_index": 0, "chroma:document": "##### Using an Individual File in Chat Completions\n\nThis method is beneficial when you want to focus the chat model's response on the content of a specific file.\n\n- **Endpoint**: `POST /api/chat/completions`\n- **Curl Example**:\n\n  ```bash\n  curl -X POST http://localhost:3000/api/chat/completions \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n        \"model\": \"gpt-4-turbo\",\n        \"messages\": [\n          {\"role\": \"user\", \"content\": \"Explain the concepts in this document.\"}\n        ],\n        \"files\": [\n          {\"type\": \"file\", \"id\": \"your-file-id-here\"}\n        ]\n      }'\n  ```\n\n- **Python Example**:\n\n  ```python\n  import requests"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: f80ab93b-7dfc-4422-b1f1-69e204e9c106
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "name": "api-endpoints.md", "source": "api-endpoints.md", "start_index": 0, "chroma:document": "- **Python Example**:\n\n  ```python\n  import requests\n\n  def chat_with_file(token, model, query, file_id):\n      url = 'http://localhost:3000/api/chat/completions'\n      headers = {\n          'Authorization': f'Bearer {token}',\n          'Content-Type': 'application/json'\n      }\n      payload = {\n          'model': model,\n          'messages': [{'role': 'user', 'content': query}],\n          'files': [{'type': 'file', 'id': file_id}]\n      }\n      response = requests.post(url, headers=headers, json=payload)\n      return response.json()\n  ```\n\n##### Using a Knowledge Collection in Chat Completions\n\nLeverage a knowledge collection to enhance the response when the inquiry may benefit from a broader context or multiple documents.\n\n- **Endpoint**: `POST /api/chat/completions`\n- **Curl Example**:"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: e538685e-3919-4a87-8d22-4e3fe2804183
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "name": "api-endpoints.md", "source": "api-endpoints.md", "start_index": 0, "chroma:document": "- **Endpoint**: `POST /api/chat/completions`\n- **Curl Example**:\n\n  ```bash\n  curl -X POST http://localhost:3000/api/chat/completions \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n        \"model\": \"gpt-4-turbo\",\n        \"messages\": [\n          {\"role\": \"user\", \"content\": \"Provide insights on the historical perspectives covered in the collection.\"}\n        ],\n        \"files\": [\n          {\"type\": \"collection\", \"id\": \"your-collection-id-here\"}\n        ]\n      }'\n  ```\n\n- **Python Example**:"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 4b910e3b-b8b2-4f41-bea3-44c81c2416de
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "name": "api-endpoints.md", "source": "api-endpoints.md", "start_index": 0, "chroma:document": "- **Python Example**:\n\n  ```python\n  import requests\n  \n  def chat_with_collection(token, model, query, collection_id):\n      url = 'http://localhost:3000/api/chat/completions'\n      headers = {\n          'Authorization': f'Bearer {token}',\n          'Content-Type': 'application/json'\n      }\n      payload = {\n          'model': model,\n          'messages': [{'role': 'user', 'content': query}],\n          'files': [{'type': 'collection', 'id': collection_id}]\n      }\n      response = requests.post(url, headers=headers, json=payload)\n      return response.json()\n  ```\n\nThese methods enable effective utilization of external knowledge via uploaded files and curated knowledge collections, enhancing chat applications' capabilities using the Open WebUI API. Whether using files individually or within collections, you can customize the integration based on your specific needs.\n\n## Advantages of Using Open WebUI as a Unified LLM Provider"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 10ca776e-e4d8-4311-ae62-2c626e9dd504
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "name": "api-endpoints.md", "source": "api-endpoints.md", "start_index": 0, "chroma:document": "## Advantages of Using Open WebUI as a Unified LLM Provider\n\nOpen WebUI offers a myriad of benefits, making it an essential tool for developers and businesses alike:\n\n- **Unified Interface**: Simplify your interactions with different LLMs through a single, integrated platform.\n- **Ease of Implementation**: Quick start integration with comprehensive documentation and community support.\n\n## Swagger Documentation Links\n\n:::important\nMake sure to set the `ENV` environment variable to `dev` in order to access the Swagger documentation for any of these services. Without this configuration, the documentation will not be available.\n:::\n\nAccess detailed API documentation for different services provided by Open WebUI:\n\n| Application | Documentation Path      |\n|-------------|-------------------------|\n| Main        | `/docs`                 |"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: cf04a49c-2995-4b35-8ea8-e71f6b6a3e9e
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "0fdda482-6df8-492a-8223-42234c9b6f6f", "hash": "74a1bb7f7b65a7b727f9bbb117f1cdb2d8dd4f4f7f2736100202f548654ed574", "name": "api-endpoints.md", "source": "api-endpoints.md", "start_index": 0, "chroma:document": "By following these guidelines, you can swiftly integrate and begin utilizing the Open WebUI API. Should you encounter any issues or have questions, feel free to reach out through our Discord Community or consult the FAQs. Happy coding! \ud83c\udf1f"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b3a2048b-268e-4a18-9a71-c3cdf8d5189b
id: 16f0c3f2-8f79-4125-998c-c43eb9f8b64e
encoding: FLOAT32
metadata:
{"source": "artifacts.md", "name": "artifacts.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "d33d66d3-fa1f-4264-a67a-44a1f9236476", "start_index": 0, "hash": "61dac5285cd5c77222c947dd25fec8d7b1d55209115afa70e67366ef6ee2513a", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 1\ntitle: \"\ud83c\udffa Artifacts\"\n---\n\n\n# What are Artifacts and how do I use them in Open WebUI?\n\nArtifacts in Open WebUI are an innovative feature inspired by Claude.AI's Artifacts, allowing you to interact with significant and standalone content generated by an LLM within a chat. They enable you to view, modify, build upon, or reference substantial pieces of content separately from the main conversation, making it easier to work with complex outputs and ensuring that you can revisit important information later.\n\n## When does Open WebUI use Artifacts?\n\nOpen WebUI creates an Artifact when the generated content meets specific criteria tailored to our platform:\n\n1. **Renderable**: To be displayed as an Artifact, the content must be in a format that Open WebUI supports for rendering. This includes:"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b3a2048b-268e-4a18-9a71-c3cdf8d5189b
id: 35e51bda-1971-45ad-ba33-41bf3a951017
encoding: FLOAT32
metadata:
{"source": "artifacts.md", "name": "artifacts.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "d33d66d3-fa1f-4264-a67a-44a1f9236476", "start_index": 820, "hash": "61dac5285cd5c77222c947dd25fec8d7b1d55209115afa70e67366ef6ee2513a", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "* Single-page HTML websites\n* Scalable Vector Graphics (SVG) images\n* Complete webpages, which include HTML, Javascript, and CSS all in the same Artifact. Do note that HTML is required if generating a complete webpage.\n* ThreeJS Visualizations and other JavaScript visualization libraries such as D3.js.\n\nOther content types like Documents (Markdown or Plain Text), Code snippets, and React components are not rendered as Artifacts by Open WebUI.\n\n## How does Open WebUI's model create Artifacts?\n\nTo use artifacts in Open WebUI, a model must provide content that triggers the rendering process to create an artifact. This involves generating valid HTML, SVG code, or other supported formats for artifact rendering. When the generated content meets the criteria mentioned above, Open WebUI will display it as an interactive Artifact.\n\n## How do I use Artifacts in Open WebUI?"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b3a2048b-268e-4a18-9a71-c3cdf8d5189b
id: a054064c-02d4-463e-9156-aef6e7fb95f6
encoding: FLOAT32
metadata:
{"source": "artifacts.md", "name": "artifacts.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "d33d66d3-fa1f-4264-a67a-44a1f9236476", "start_index": 1655, "hash": "61dac5285cd5c77222c947dd25fec8d7b1d55209115afa70e67366ef6ee2513a", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## How do I use Artifacts in Open WebUI?\n\nWhen Open WebUI creates an Artifact, you'll see the content displayed in a dedicated Artifacts window to the right side of the main chat. Here's how to interact with Artifacts:\n\n* **Editing and iterating**: Ask an LLM within the chat to edit or iterate on the content, and these updates will be displayed directly in the Artifact window. You can switch between versions using the version selector at the bottom left of the Artifact. Each edit creates a new version, allowing you to track changes using the version selector.\n* **Updates**: Open WebUI may update an existing Artifact based on your messages. The Artifact window will display the latest content.\n* **Actions**: Access additional actions for the Artifact, such as copying the content or opening the artifact in full screen, located in the lower right corner of the Artifact.\n\n## Editing Artifacts\n\n1. **Targeted Updates**: Describe what you want changed and where. For example:"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b3a2048b-268e-4a18-9a71-c3cdf8d5189b
id: 6e59450a-11ae-4216-ac5f-3d1a83eb39a1
encoding: FLOAT32
metadata:
{"source": "artifacts.md", "name": "artifacts.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "d33d66d3-fa1f-4264-a67a-44a1f9236476", "start_index": 2557, "hash": "61dac5285cd5c77222c947dd25fec8d7b1d55209115afa70e67366ef6ee2513a", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "1. **Targeted Updates**: Describe what you want changed and where. For example:\n\n* \"Change the color of the bar in the chart from blue to red.\"\n* \"Update the title of the SVG image to 'New Title'.\"\n\n2. **Full Rewrites**: Request major changes affecting most of the content for substantial restructuring or multiple section updates. For example:\n\n* \"Rewrite this single-page HTML website to be a landing page instead.\"\n* \"Redesign this SVG so that it's animated using ThreeJS.\"\n\n**Best Practices**:\n\n* Be specific about which part of the Artifact you want to change.\n* Reference unique identifying text around your desired change for targeted updates.\n* Consider whether a small update or full rewrite is more appropriate for your needs.\n\n## Use Cases\n\nArtifacts in Open WebUI enable various teams to create high-quality work products quickly and efficiently. Here are some examples tailored to our platform:"}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b3a2048b-268e-4a18-9a71-c3cdf8d5189b
id: 6febac0e-7297-49a8-ae35-5b8f16e888df
encoding: FLOAT32
metadata:
{"source": "artifacts.md", "name": "artifacts.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "d33d66d3-fa1f-4264-a67a-44a1f9236476", "start_index": 3466, "hash": "61dac5285cd5c77222c947dd25fec8d7b1d55209115afa70e67366ef6ee2513a", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "* **Designers**:\n  * Create interactive SVG graphics for UI/UX design.\n  * Design single-page HTML websites or landing pages.\n* **Developers**: Create simple HTML prototypes or generate SVG icons for projects.\n* **Marketers**:\n  * Design campaign landing pages with performance metrics.\n  * Create SVG graphics for ad creatives or social media posts.\n\n## Examples of Projects you can create with Open WebUI's Artifacts\n\nArtifacts in Open WebUI enable various teams and individuals to create high-quality work products quickly and efficiently. Here are some examples tailored to our platform, showcasing the versatility of artifacts and inspiring you to explore their potential:\n\n1. **Interactive Visualizations**\n\n* Components used: ThreeJS, D3.js, and SVG\n* Benefits: Create immersive data stories with interactive visualizations. Open WebUI's Artifacts enable you to switch between versions, making it easier to test different visualization approaches and track changes."}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b3a2048b-268e-4a18-9a71-c3cdf8d5189b
id: ed1584b2-2c49-4d1d-aa33-66ab1154b39a
encoding: FLOAT32
metadata:
{"source": "artifacts.md", "name": "artifacts.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "d33d66d3-fa1f-4264-a67a-44a1f9236476", "start_index": 4440, "hash": "61dac5285cd5c77222c947dd25fec8d7b1d55209115afa70e67366ef6ee2513a", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Example Project: Build an interactive line chart using ThreeJS to visualize stock prices over time. Update the chart's colors and scales in separate versions to compare different visualization strategies.\n\n2. **Single-Page Web Applications**\n\n* Components used: HTML, CSS, and JavaScript\n* Benefits: Develop single-page web applications directly within Open WebUI. Edit and iterate on the content using targeted updates and full rewrites.\n\nExample Project: Design a to-do list app with a user interface built using HTML and CSS. Use JavaScript to add interactive functionality. Update the app's layout and UI/UX using targeted updates and full rewrites.\n\n3. **Animated SVG Graphics**\n\n* Components used: SVG and ThreeJS\n* Benefits: Create engaging animated SVG graphics for marketing campaigns, social media, or web design. Open WebUI's Artifacts enable you to edit and iterate on the graphics in a single window."}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b3a2048b-268e-4a18-9a71-c3cdf8d5189b
id: 3ce8010e-da29-457e-be52-9df9a5fff64e
encoding: FLOAT32
metadata:
{"source": "artifacts.md", "name": "artifacts.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "d33d66d3-fa1f-4264-a67a-44a1f9236476", "start_index": 5355, "hash": "61dac5285cd5c77222c947dd25fec8d7b1d55209115afa70e67366ef6ee2513a", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Example Project: Design an animated SVG logo for a company brand. Use ThreeJS to add animation effects and Open WebUI's targeted updates to refine the logo's colors and design.\n\n4. **Webpage Prototypes**\n\n* Components used: HTML, CSS, and JavaScript\n* Benefits: Build and test webpage prototypes directly within Open WebUI. Switch between versions to compare different design approaches and refine the prototype.\n\nExample Project: Develop a prototype for a new e-commerce website using HTML, CSS, and JavaScript. Use Open WebUI's targeted updates to refines the navigation, layout, and UI/UX.\n\n5. **Interactive Storytelling**\n\n* Components used: HTML, CSS, and JavaScript\n* Benefits: Create interactive stories with scrolling effects, animations, and other interactive elements. Open WebUI's Artifacts enable you to refine the story and test different versions."}


created_at: 2024-12-28 04:06:12
topic: persistent://default/default/b3a2048b-268e-4a18-9a71-c3cdf8d5189b
id: 0e11512f-611b-4d69-af68-5c2fc66f7d71
encoding: FLOAT32
metadata:
{"source": "artifacts.md", "name": "artifacts.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "d33d66d3-fa1f-4264-a67a-44a1f9236476", "start_index": 6218, "hash": "61dac5285cd5c77222c947dd25fec8d7b1d55209115afa70e67366ef6ee2513a", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Example Project: Build an interactive story about a company's history, using scrolling effects and animations to engage the reader. Use targeted updates to refine the story's narrative and Open WebUI's version selector to test different versions."}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: cb83fe0c-c313-4cdd-83ae-db7fcc125019
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "d33d66d3-fa1f-4264-a67a-44a1f9236476", "hash": "61dac5285cd5c77222c947dd25fec8d7b1d55209115afa70e67366ef6ee2513a", "name": "artifacts.md", "source": "artifacts.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 1\ntitle: \"\ud83c\udffa Artifacts\"\n---\n\n\n# What are Artifacts and how do I use them in Open WebUI?\n\nArtifacts in Open WebUI are an innovative feature inspired by Claude.AI's Artifacts, allowing you to interact with significant and standalone content generated by an LLM within a chat. They enable you to view, modify, build upon, or reference substantial pieces of content separately from the main conversation, making it easier to work with complex outputs and ensuring that you can revisit important information later.\n\n## When does Open WebUI use Artifacts?\n\nOpen WebUI creates an Artifact when the generated content meets specific criteria tailored to our platform:\n\n1. **Renderable**: To be displayed as an Artifact, the content must be in a format that Open WebUI supports for rendering. This includes:"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: c11d70d1-07d8-45bc-8d27-32c1055f8c1f
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "d33d66d3-fa1f-4264-a67a-44a1f9236476", "hash": "61dac5285cd5c77222c947dd25fec8d7b1d55209115afa70e67366ef6ee2513a", "name": "artifacts.md", "source": "artifacts.md", "start_index": 0, "chroma:document": "* Single-page HTML websites\n* Scalable Vector Graphics (SVG) images\n* Complete webpages, which include HTML, Javascript, and CSS all in the same Artifact. Do note that HTML is required if generating a complete webpage.\n* ThreeJS Visualizations and other JavaScript visualization libraries such as D3.js.\n\nOther content types like Documents (Markdown or Plain Text), Code snippets, and React components are not rendered as Artifacts by Open WebUI.\n\n## How does Open WebUI's model create Artifacts?\n\nTo use artifacts in Open WebUI, a model must provide content that triggers the rendering process to create an artifact. This involves generating valid HTML, SVG code, or other supported formats for artifact rendering. When the generated content meets the criteria mentioned above, Open WebUI will display it as an interactive Artifact.\n\n## How do I use Artifacts in Open WebUI?"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: a494824b-e747-435f-85a7-951d3383bea0
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "d33d66d3-fa1f-4264-a67a-44a1f9236476", "hash": "61dac5285cd5c77222c947dd25fec8d7b1d55209115afa70e67366ef6ee2513a", "name": "artifacts.md", "source": "artifacts.md", "start_index": 0, "chroma:document": "## How do I use Artifacts in Open WebUI?\n\nWhen Open WebUI creates an Artifact, you'll see the content displayed in a dedicated Artifacts window to the right side of the main chat. Here's how to interact with Artifacts:\n\n* **Editing and iterating**: Ask an LLM within the chat to edit or iterate on the content, and these updates will be displayed directly in the Artifact window. You can switch between versions using the version selector at the bottom left of the Artifact. Each edit creates a new version, allowing you to track changes using the version selector.\n* **Updates**: Open WebUI may update an existing Artifact based on your messages. The Artifact window will display the latest content.\n* **Actions**: Access additional actions for the Artifact, such as copying the content or opening the artifact in full screen, located in the lower right corner of the Artifact.\n\n## Editing Artifacts\n\n1. **Targeted Updates**: Describe what you want changed and where. For example:"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: b3b58358-50cb-471d-8a36-1158ce02c07d
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "d33d66d3-fa1f-4264-a67a-44a1f9236476", "hash": "61dac5285cd5c77222c947dd25fec8d7b1d55209115afa70e67366ef6ee2513a", "name": "artifacts.md", "source": "artifacts.md", "start_index": 0, "chroma:document": "1. **Targeted Updates**: Describe what you want changed and where. For example:\n\n* \"Change the color of the bar in the chart from blue to red.\"\n* \"Update the title of the SVG image to 'New Title'.\"\n\n2. **Full Rewrites**: Request major changes affecting most of the content for substantial restructuring or multiple section updates. For example:\n\n* \"Rewrite this single-page HTML website to be a landing page instead.\"\n* \"Redesign this SVG so that it's animated using ThreeJS.\"\n\n**Best Practices**:\n\n* Be specific about which part of the Artifact you want to change.\n* Reference unique identifying text around your desired change for targeted updates.\n* Consider whether a small update or full rewrite is more appropriate for your needs.\n\n## Use Cases\n\nArtifacts in Open WebUI enable various teams to create high-quality work products quickly and efficiently. Here are some examples tailored to our platform:"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 7ed220c9-b246-4dde-9439-17cac5e10f01
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "d33d66d3-fa1f-4264-a67a-44a1f9236476", "hash": "61dac5285cd5c77222c947dd25fec8d7b1d55209115afa70e67366ef6ee2513a", "name": "artifacts.md", "source": "artifacts.md", "start_index": 0, "chroma:document": "* **Designers**:\n  * Create interactive SVG graphics for UI/UX design.\n  * Design single-page HTML websites or landing pages.\n* **Developers**: Create simple HTML prototypes or generate SVG icons for projects.\n* **Marketers**:\n  * Design campaign landing pages with performance metrics.\n  * Create SVG graphics for ad creatives or social media posts.\n\n## Examples of Projects you can create with Open WebUI's Artifacts\n\nArtifacts in Open WebUI enable various teams and individuals to create high-quality work products quickly and efficiently. Here are some examples tailored to our platform, showcasing the versatility of artifacts and inspiring you to explore their potential:\n\n1. **Interactive Visualizations**\n\n* Components used: ThreeJS, D3.js, and SVG\n* Benefits: Create immersive data stories with interactive visualizations. Open WebUI's Artifacts enable you to switch between versions, making it easier to test different visualization approaches and track changes."}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 1f63645e-a86e-4598-a471-bff39dd1c253
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "d33d66d3-fa1f-4264-a67a-44a1f9236476", "hash": "61dac5285cd5c77222c947dd25fec8d7b1d55209115afa70e67366ef6ee2513a", "name": "artifacts.md", "source": "artifacts.md", "start_index": 0, "chroma:document": "Example Project: Build an interactive line chart using ThreeJS to visualize stock prices over time. Update the chart's colors and scales in separate versions to compare different visualization strategies.\n\n2. **Single-Page Web Applications**\n\n* Components used: HTML, CSS, and JavaScript\n* Benefits: Develop single-page web applications directly within Open WebUI. Edit and iterate on the content using targeted updates and full rewrites.\n\nExample Project: Design a to-do list app with a user interface built using HTML and CSS. Use JavaScript to add interactive functionality. Update the app's layout and UI/UX using targeted updates and full rewrites.\n\n3. **Animated SVG Graphics**\n\n* Components used: SVG and ThreeJS\n* Benefits: Create engaging animated SVG graphics for marketing campaigns, social media, or web design. Open WebUI's Artifacts enable you to edit and iterate on the graphics in a single window."}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: d429efaa-5a1a-435e-9475-8a2ef70888a4
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "d33d66d3-fa1f-4264-a67a-44a1f9236476", "hash": "61dac5285cd5c77222c947dd25fec8d7b1d55209115afa70e67366ef6ee2513a", "name": "artifacts.md", "source": "artifacts.md", "start_index": 0, "chroma:document": "Example Project: Design an animated SVG logo for a company brand. Use ThreeJS to add animation effects and Open WebUI's targeted updates to refine the logo's colors and design.\n\n4. **Webpage Prototypes**\n\n* Components used: HTML, CSS, and JavaScript\n* Benefits: Build and test webpage prototypes directly within Open WebUI. Switch between versions to compare different design approaches and refine the prototype.\n\nExample Project: Develop a prototype for a new e-commerce website using HTML, CSS, and JavaScript. Use Open WebUI's targeted updates to refines the navigation, layout, and UI/UX.\n\n5. **Interactive Storytelling**\n\n* Components used: HTML, CSS, and JavaScript\n* Benefits: Create interactive stories with scrolling effects, animations, and other interactive elements. Open WebUI's Artifacts enable you to refine the story and test different versions."}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: cbbadee9-f4ff-43cd-99e7-bcd1551b7699
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "d33d66d3-fa1f-4264-a67a-44a1f9236476", "hash": "61dac5285cd5c77222c947dd25fec8d7b1d55209115afa70e67366ef6ee2513a", "name": "artifacts.md", "source": "artifacts.md", "start_index": 0, "chroma:document": "Example Project: Build an interactive story about a company's history, using scrolling effects and animations to engage the reader. Use targeted updates to refine the story's narrative and Open WebUI's version selector to test different versions."}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/007971dd-8503-4499-91f2-65d4be492bdd
id: 141f17fa-75bd-478d-b5f3-d3c2652dcb71
encoding: FLOAT32
metadata:
{"source": "assign-user.md", "name": "assign-user.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "c854889d-ba1e-4a0a-8fe0-2aba006e2148", "start_index": 0, "hash": "c475804b050b99d6e91fa2f42157ddde0a29e263704e5348a6d8c7463eefc309", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 1\ntitle: \"\ud83d\udc65 Assign Users to User Group\"\n---\n\nCOMING SOON!"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 527695c4-7ac7-4ad0-b7a3-7d1b308fecb2
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "c854889d-ba1e-4a0a-8fe0-2aba006e2148", "hash": "c475804b050b99d6e91fa2f42157ddde0a29e263704e5348a6d8c7463eefc309", "name": "assign-user.md", "source": "assign-user.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 1\ntitle: \"\ud83d\udc65 Assign Users to User Group\"\n---\n\nCOMING SOON!"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/bb0fefae-b507-41ec-a748-852403ef356f
id: 3dade717-37dd-4327-b3e5-5d3164335f6e
encoding: FLOAT32
metadata:
{"source": "banners.md", "name": "banners.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "208ea829-ef26-4452-b255-e46a39a97c68", "start_index": 0, "hash": "6b6e8931e0bb7190e1fd8b90d42ec07cc056c64e8c621e387cb528597f9719f4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 13\ntitle: \"\ud83d\udd30 Customizable Banners\"\n---\n\nOverview\n--------\n\nOpen WebUI provides a feature that allows administrators to create customizable banners with persistence in the `config.json` file. These banners can feature options for content, background color (info, warning, error, or success), and dismissibility. Banners are accessible only to logged-in users, ensuring the confidentiality of sensitive information.\n\nConfiguring Banners through the Admin Panel\n---------------------------------------------\n\nTo configure banners through the admin panel, follow these steps:"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/bb0fefae-b507-41ec-a748-852403ef356f
id: 79187c27-9f6a-4f86-9ac5-c5bdeb07caae
encoding: FLOAT32
metadata:
{"source": "banners.md", "name": "banners.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "208ea829-ef26-4452-b255-e46a39a97c68", "start_index": 528, "hash": "6b6e8931e0bb7190e1fd8b90d42ec07cc056c64e8c621e387cb528597f9719f4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "To configure banners through the admin panel, follow these steps:\n\n1. Log in to your Open WebUI instance as an administrator.\n2. Navigate to the `Admin Panel` -> `Settings` -> `Interface`.\n3. Locate the `Banners` option directly above the `Default Prompt Suggestions` option.\n4. Click on the `+` icon to add a new banner.\n5. Select the banner type and set the banner text as desired.\n6. Choose whether the banner is dismissible or not.\n7. Set the timestamp for the banner (optional).\n8. Press `Save` at the bottom of the page to save the banner.\n\nConfiguring Banners through Environment Variables\n------------------------------------------------\n\nAlternatively, you can configure banners through environment variables. To do this, you will need to set the `WEBUI_BANNERS` environment variable with a list of dictionaries in the following format:"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/bb0fefae-b507-41ec-a748-852403ef356f
id: 2bd0e4e2-3e7e-4562-8c92-79de31f68298
encoding: FLOAT32
metadata:
{"source": "banners.md", "name": "banners.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "208ea829-ef26-4452-b255-e46a39a97c68", "start_index": 1375, "hash": "6b6e8931e0bb7190e1fd8b90d42ec07cc056c64e8c621e387cb528597f9719f4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "```json\n[{\"id\": \"string\",\"type\": \"string [info, success, warning, error]\",\"title\": \"string\",\"content\": \"string\",\"dismissible\": False,\"timestamp\": 1000}]\n```\n\nFor more information on configuring environment variables in Open WebUI, see [Environment Variable Configuration](https://docs.openwebui.com/getting-started/advanced-topics/env-configuration#webui_banners).\n\nEnvironment Variable Description\n---------------------------------\n\n* `WEBUI_BANNERS`:\n  * Type: list of dict\n  * Default: `[]`\n  * Description: List of banners to show to users.\n\nBanner Options\n----------------\n\n* `id`: Unique identifier for the banner.\n* `type`: Background color of the banner (info, success, warning, error).\n* `title`: Title of the banner.\n* `content`: Content of the banner.\n* `dismissible`: Whether the banner is dismissible or not.\n* `timestamp`: Timestamp for the banner (optional).\n\nFAQ\n----"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/bb0fefae-b507-41ec-a748-852403ef356f
id: d40301cb-5158-44e9-96a5-da2e9e5aa551
encoding: FLOAT32
metadata:
{"source": "banners.md", "name": "banners.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "208ea829-ef26-4452-b255-e46a39a97c68", "start_index": 2250, "hash": "6b6e8931e0bb7190e1fd8b90d42ec07cc056c64e8c621e387cb528597f9719f4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "FAQ\n----\n\n* Q: Can I configure banners through the admin panel?\nA: Yes, you can configure banners through the admin panel by navigating to `Admin Panel` -> `Settings` -> `Interface` and clicking on the `+` icon to add a new banner.\n* Q: Can I configure banners through environment variables?\nA: Yes, you can configure banners through environment variables by setting the `WEBUI_BANNERS` environment variable with a list of dictionaries.\n* Q: What is the format for the `WEBUI_BANNERS` environment variable?\nA: The format for the `WEBUI_BANNERS` environment variable is a list of dictionaries with the following keys: `id`, `type`, `title`, `content`, `dismissible`, and `timestamp`.\n* Q: Can I make banners dismissible?\nA: Yes, you can make banners dismissible by setting the `dismissible` key to `True` in the banner configuration or by toggling dismissibility for a banner within the UI."}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: d52c267f-8181-45ac-8e50-30e09ab348b4
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "208ea829-ef26-4452-b255-e46a39a97c68", "hash": "6b6e8931e0bb7190e1fd8b90d42ec07cc056c64e8c621e387cb528597f9719f4", "name": "banners.md", "source": "banners.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 13\ntitle: \"\ud83d\udd30 Customizable Banners\"\n---\n\nOverview\n--------\n\nOpen WebUI provides a feature that allows administrators to create customizable banners with persistence in the `config.json` file. These banners can feature options for content, background color (info, warning, error, or success), and dismissibility. Banners are accessible only to logged-in users, ensuring the confidentiality of sensitive information.\n\nConfiguring Banners through the Admin Panel\n---------------------------------------------\n\nTo configure banners through the admin panel, follow these steps:"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 9b21ec3d-bf5c-4ec1-8180-3fc472c75293
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "208ea829-ef26-4452-b255-e46a39a97c68", "hash": "6b6e8931e0bb7190e1fd8b90d42ec07cc056c64e8c621e387cb528597f9719f4", "name": "banners.md", "source": "banners.md", "start_index": 0, "chroma:document": "To configure banners through the admin panel, follow these steps:\n\n1. Log in to your Open WebUI instance as an administrator.\n2. Navigate to the `Admin Panel` -> `Settings` -> `Interface`.\n3. Locate the `Banners` option directly above the `Default Prompt Suggestions` option.\n4. Click on the `+` icon to add a new banner.\n5. Select the banner type and set the banner text as desired.\n6. Choose whether the banner is dismissible or not.\n7. Set the timestamp for the banner (optional).\n8. Press `Save` at the bottom of the page to save the banner.\n\nConfiguring Banners through Environment Variables\n------------------------------------------------\n\nAlternatively, you can configure banners through environment variables. To do this, you will need to set the `WEBUI_BANNERS` environment variable with a list of dictionaries in the following format:"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 6604893c-a5ad-442b-aa32-c12727ba963a
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "208ea829-ef26-4452-b255-e46a39a97c68", "hash": "6b6e8931e0bb7190e1fd8b90d42ec07cc056c64e8c621e387cb528597f9719f4", "name": "banners.md", "source": "banners.md", "start_index": 0, "chroma:document": "```json\n[{\"id\": \"string\",\"type\": \"string [info, success, warning, error]\",\"title\": \"string\",\"content\": \"string\",\"dismissible\": False,\"timestamp\": 1000}]\n```\n\nFor more information on configuring environment variables in Open WebUI, see [Environment Variable Configuration](https://docs.openwebui.com/getting-started/advanced-topics/env-configuration#webui_banners).\n\nEnvironment Variable Description\n---------------------------------\n\n* `WEBUI_BANNERS`:\n  * Type: list of dict\n  * Default: `[]`\n  * Description: List of banners to show to users.\n\nBanner Options\n----------------\n\n* `id`: Unique identifier for the banner.\n* `type`: Background color of the banner (info, success, warning, error).\n* `title`: Title of the banner.\n* `content`: Content of the banner.\n* `dismissible`: Whether the banner is dismissible or not.\n* `timestamp`: Timestamp for the banner (optional).\n\nFAQ\n----"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 0dafa430-798a-4c7f-aa50-9af14eaef063
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "208ea829-ef26-4452-b255-e46a39a97c68", "hash": "6b6e8931e0bb7190e1fd8b90d42ec07cc056c64e8c621e387cb528597f9719f4", "name": "banners.md", "source": "banners.md", "start_index": 0, "chroma:document": "FAQ\n----\n\n* Q: Can I configure banners through the admin panel?\nA: Yes, you can configure banners through the admin panel by navigating to `Admin Panel` -> `Settings` -> `Interface` and clicking on the `+` icon to add a new banner.\n* Q: Can I configure banners through environment variables?\nA: Yes, you can configure banners through environment variables by setting the `WEBUI_BANNERS` environment variable with a list of dictionaries.\n* Q: What is the format for the `WEBUI_BANNERS` environment variable?\nA: The format for the `WEBUI_BANNERS` environment variable is a list of dictionaries with the following keys: `id`, `type`, `title`, `content`, `dismissible`, and `timestamp`.\n* Q: Can I make banners dismissible?\nA: Yes, you can make banners dismissible by setting the `dismissible` key to `True` in the banner configuration or by toggling dismissibility for a banner within the UI."}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/23e27d66-2ebf-44e8-a4d0-c67fa4d1602c
id: fa01580c-4ec0-415c-bfe4-8ac445af94d7
encoding: FLOAT32
metadata:
{"source": "browser-search-engine.md", "name": "browser-search-engine.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5da0ea0c-1c97-4d49-9d33-5c5021f452d2", "start_index": 0, "hash": "9bf0cacf7b3a41ea138e064c1b21c4067d826a7f4fe5d4ce8c650415e2411f1a", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 16\ntitle: \"\ud83c\udf10 Browser Search Engine\"\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# Browser Search Engine Integration\n\nOpen WebUI allows you to integrate directly into your web browser. This tutorial will guide you through the process of setting up Open WebUI as a custom search engine, enabling you to execute queries easily from your browser's address bar.\n\n## Setting Up Open WebUI as a Search Engine\n\n### Prerequisites\n\nBefore you begin, ensure that:\n\n- You have Chrome or another supported browser installed.\n- The `WEBUI_URL` environment variable is set correctly, either using Docker environment variables or in the `.env` file as specified in the [Getting Started](/getting-started/advanced-topics/env-configuration) guide."}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/23e27d66-2ebf-44e8-a4d0-c67fa4d1602c
id: 2b086910-1ba9-4b19-997f-294a1bb6f15f
encoding: FLOAT32
metadata:
{"source": "browser-search-engine.md", "name": "browser-search-engine.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5da0ea0c-1c97-4d49-9d33-5c5021f452d2", "start_index": 965, "hash": "9bf0cacf7b3a41ea138e064c1b21c4067d826a7f4fe5d4ce8c650415e2411f1a", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Step 1: Set the WEBUI_URL Environment Variable\n\nSetting the `WEBUI_URL` environment variable ensures your browser knows where to direct queries.\n\n#### Using Docker Environment Variables\n\nIf you are running Open WebUI using Docker, you can set the environment variable in your `docker run` command:\n\n```bash\ndocker run -d \\\n  -p 3000:8080 \\\n  --add-host=host.docker.internal:host-gateway \\\n  -v open-webui:/app/backend/data \\\n  --name open-webui \\\n  --restart always \\\n  -e WEBUI_URL=\"https://<your-open-webui-url>\" \\\n  ghcr.io/open-webui/open-webui:main\n```\n\nAlternatively, you can add the variable to your `.env` file:\n\n```plaintext\nWEBUI_URL=https://<your-open-webui-url>\n```\n\n### Step 2: Add Open WebUI as a Custom Search Engine\n\n### For Chrome"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/23e27d66-2ebf-44e8-a4d0-c67fa4d1602c
id: 9fd9e0dd-52a2-4f4f-ab1c-bef6b5470020
encoding: FLOAT32
metadata:
{"source": "browser-search-engine.md", "name": "browser-search-engine.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5da0ea0c-1c97-4d49-9d33-5c5021f452d2", "start_index": 1648, "hash": "9bf0cacf7b3a41ea138e064c1b21c4067d826a7f4fe5d4ce8c650415e2411f1a", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Step 2: Add Open WebUI as a Custom Search Engine\n\n### For Chrome\n\n1. Open Chrome and navigate to **Settings**.\n2. Select **Search engine** from the sidebar, then click on **Manage search engines**.\n3. Click **Add** to create a new search engine.\n4. Fill in the details as follows:\n    - **Search engine**: Open WebUI Search\n    - **Keyword**: webui (or any keyword you prefer)\n    - **URL with %s in place of query**:\n\n      ```\n      https://<your-open-webui-url>/?q=%s\n      ```\n\n5. Click **Add** to save the configuration.\n\n### For Firefox\n\n1. Go to Open WebUI in Firefox.\n2. Expand the address bar by clicking on it.\n3. Click the plus icon that is enclosed in a green circle at the bottom of the expanded address bar. This adds Open WebUI's search to the search engines in your preferences.\n\nAlternatively:\n\n1. Go to Open WebUI in Firefox.\n2. Right-click on the address bar.\n3. Select \"Add Open WebUI\" (or similar) from the context menu.\n\n### Optional: Using Specific Models"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/23e27d66-2ebf-44e8-a4d0-c67fa4d1602c
id: 18e71617-ad88-4b40-873b-5685568cedc9
encoding: FLOAT32
metadata:
{"source": "browser-search-engine.md", "name": "browser-search-engine.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5da0ea0c-1c97-4d49-9d33-5c5021f452d2", "start_index": 2595, "hash": "9bf0cacf7b3a41ea138e064c1b21c4067d826a7f4fe5d4ce8c650415e2411f1a", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Optional: Using Specific Models\n\nIf you wish to utilize a specific model for your search, modify the URL format to include the model ID:\n\n```\nhttps://<your-open-webui-url>/?models=<model_id>&q=%s\n```\n\n**Note:** The model ID will need to be URL-encoded. Special characters like spaces or slashes need to be encoded (e.g., `my model` becomes `my%20model`).\n\n## Example Usage\n\nOnce the search engine is set up, you can perform searches directly from the address bar. Simply type your chosen keyword followed by your query:\n\n```\nwebui your search query\n```\n\nThis command will redirect you to the Open WebUI interface with your search results.\n\n## Troubleshooting\n\nIf you encounter any issues, check the following:"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/23e27d66-2ebf-44e8-a4d0-c67fa4d1602c
id: e58df65c-486c-4fae-92a1-af3da71829e7
encoding: FLOAT32
metadata:
{"source": "browser-search-engine.md", "name": "browser-search-engine.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5da0ea0c-1c97-4d49-9d33-5c5021f452d2", "start_index": 3239, "hash": "9bf0cacf7b3a41ea138e064c1b21c4067d826a7f4fe5d4ce8c650415e2411f1a", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## Troubleshooting\n\nIf you encounter any issues, check the following:\n\n- Ensure the `WEBUI_URL` is correctly configured and points to a valid Open WebUI instance.\n- Double-check that the search engine URL format is correctly entered in your browser settings.\n- Confirm your internet connection is active and that the Open WebUI service is running smoothly."}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 8739735d-b764-4512-8e28-f9e1d19fd947
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5da0ea0c-1c97-4d49-9d33-5c5021f452d2", "hash": "9bf0cacf7b3a41ea138e064c1b21c4067d826a7f4fe5d4ce8c650415e2411f1a", "name": "browser-search-engine.md", "source": "browser-search-engine.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 16\ntitle: \"\ud83c\udf10 Browser Search Engine\"\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# Browser Search Engine Integration\n\nOpen WebUI allows you to integrate directly into your web browser. This tutorial will guide you through the process of setting up Open WebUI as a custom search engine, enabling you to execute queries easily from your browser's address bar.\n\n## Setting Up Open WebUI as a Search Engine\n\n### Prerequisites\n\nBefore you begin, ensure that:\n\n- You have Chrome or another supported browser installed.\n- The `WEBUI_URL` environment variable is set correctly, either using Docker environment variables or in the `.env` file as specified in the [Getting Started](/getting-started/advanced-topics/env-configuration) guide."}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 36d55710-36f0-429e-a63b-5352d20fb14f
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5da0ea0c-1c97-4d49-9d33-5c5021f452d2", "hash": "9bf0cacf7b3a41ea138e064c1b21c4067d826a7f4fe5d4ce8c650415e2411f1a", "name": "browser-search-engine.md", "source": "browser-search-engine.md", "start_index": 0, "chroma:document": "### Step 1: Set the WEBUI_URL Environment Variable\n\nSetting the `WEBUI_URL` environment variable ensures your browser knows where to direct queries.\n\n#### Using Docker Environment Variables\n\nIf you are running Open WebUI using Docker, you can set the environment variable in your `docker run` command:\n\n```bash\ndocker run -d \\\n  -p 3000:8080 \\\n  --add-host=host.docker.internal:host-gateway \\\n  -v open-webui:/app/backend/data \\\n  --name open-webui \\\n  --restart always \\\n  -e WEBUI_URL=\"https://<your-open-webui-url>\" \\\n  ghcr.io/open-webui/open-webui:main\n```\n\nAlternatively, you can add the variable to your `.env` file:\n\n```plaintext\nWEBUI_URL=https://<your-open-webui-url>\n```\n\n### Step 2: Add Open WebUI as a Custom Search Engine\n\n### For Chrome"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 12163945-7cdb-41ea-a53d-a091da2c0f14
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5da0ea0c-1c97-4d49-9d33-5c5021f452d2", "hash": "9bf0cacf7b3a41ea138e064c1b21c4067d826a7f4fe5d4ce8c650415e2411f1a", "name": "browser-search-engine.md", "source": "browser-search-engine.md", "start_index": 0, "chroma:document": "### Step 2: Add Open WebUI as a Custom Search Engine\n\n### For Chrome\n\n1. Open Chrome and navigate to **Settings**.\n2. Select **Search engine** from the sidebar, then click on **Manage search engines**.\n3. Click **Add** to create a new search engine.\n4. Fill in the details as follows:\n    - **Search engine**: Open WebUI Search\n    - **Keyword**: webui (or any keyword you prefer)\n    - **URL with %s in place of query**:\n\n      ```\n      https://<your-open-webui-url>/?q=%s\n      ```\n\n5. Click **Add** to save the configuration.\n\n### For Firefox\n\n1. Go to Open WebUI in Firefox.\n2. Expand the address bar by clicking on it.\n3. Click the plus icon that is enclosed in a green circle at the bottom of the expanded address bar. This adds Open WebUI's search to the search engines in your preferences.\n\nAlternatively:\n\n1. Go to Open WebUI in Firefox.\n2. Right-click on the address bar.\n3. Select \"Add Open WebUI\" (or similar) from the context menu.\n\n### Optional: Using Specific Models"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: ae31bb82-63cc-4ac8-b8ef-592ece3e8141
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5da0ea0c-1c97-4d49-9d33-5c5021f452d2", "hash": "9bf0cacf7b3a41ea138e064c1b21c4067d826a7f4fe5d4ce8c650415e2411f1a", "name": "browser-search-engine.md", "source": "browser-search-engine.md", "start_index": 0, "chroma:document": "### Optional: Using Specific Models\n\nIf you wish to utilize a specific model for your search, modify the URL format to include the model ID:\n\n```\nhttps://<your-open-webui-url>/?models=<model_id>&q=%s\n```\n\n**Note:** The model ID will need to be URL-encoded. Special characters like spaces or slashes need to be encoded (e.g., `my model` becomes `my%20model`).\n\n## Example Usage\n\nOnce the search engine is set up, you can perform searches directly from the address bar. Simply type your chosen keyword followed by your query:\n\n```\nwebui your search query\n```\n\nThis command will redirect you to the Open WebUI interface with your search results.\n\n## Troubleshooting\n\nIf you encounter any issues, check the following:"}


created_at: 2024-12-28 04:06:13
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 4e529965-40ee-4e31-b77d-7f7c1de2a863
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5da0ea0c-1c97-4d49-9d33-5c5021f452d2", "hash": "9bf0cacf7b3a41ea138e064c1b21c4067d826a7f4fe5d4ce8c650415e2411f1a", "name": "browser-search-engine.md", "source": "browser-search-engine.md", "start_index": 0, "chroma:document": "## Troubleshooting\n\nIf you encounter any issues, check the following:\n\n- Ensure the `WEBUI_URL` is correctly configured and points to a valid Open WebUI instance.\n- Double-check that the search engine URL format is correctly entered in your browser settings.\n- Confirm your internet connection is active and that the Open WebUI service is running smoothly."}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/66f7fd2c-3dff-4409-8643-2f8c9c16998b
id: 141ec720-f34f-4d3e-8480-8fff763b5bb0
encoding: FLOAT32
metadata:
{"source": "chat.md", "name": "chat.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "f6e1dde2-fc65-4c9e-a950-9e873ed9b5da", "start_index": 0, "hash": "4a113d9fb7cf1ba99783fa9247db8ac0a71334a325df93cc42b39e15c27ee23d", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 0\ntitle: \"\ud83d\udcac Chat\"\n---\n\nTest"}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: c5dd2f71-ad4d-4fa2-bbeb-0fe3ca0b86eb
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "f6e1dde2-fc65-4c9e-a950-9e873ed9b5da", "hash": "4a113d9fb7cf1ba99783fa9247db8ac0a71334a325df93cc42b39e15c27ee23d", "name": "chat.md", "source": "chat.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 0\ntitle: \"\ud83d\udcac Chat\"\n---\n\nTest"}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/545f6922-8a4a-4b57-9821-e6c88f6324b4
id: 479f6505-9bd9-490e-b8f9-4c71aacb73d8
encoding: FLOAT32
metadata:
{"source": "chat-params.md", "name": "chat-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "start_index": 0, "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 4\ntitle: \"\u2699\ufe0f Chat Parameters\"\n---\n\nWithin Open WebUI, there are three levels to setting a **System Prompt** and **Advanced Parameters**: per-chat basis, per-model basis, and per-account basis. This hierarchical system allows for flexibility while maintaining structured administration and control.\n\n## System Prompt and Advanced Parameters Hierarchy Chart"}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/545f6922-8a4a-4b57-9821-e6c88f6324b4
id: 347bad65-5ac5-484a-8ff1-55de6c74a719
encoding: FLOAT32
metadata:
{"source": "chat-params.md", "name": "chat-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "start_index": 321, "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## System Prompt and Advanced Parameters Hierarchy Chart\n\n| **Level** | **Definition** | **Modification Permissions** | **Override Capabilities** |\n| --- | --- | --- | --- |\n| **Per-Chat** | System prompt and advanced parameters for a specific chat instance | Users can modify, but cannot override model-specific settings | Restricted from overriding model-specific settings |\n| **Per-Model** | Default system prompt and advanced parameters for a specific model | Administrators can set, Users cannot modify | Admin-specific settings take precedence, User settings can be overridden |\n| **Per-Account** | Default system prompt and advanced parameters for a specific user account | Users can set, but may be overridden by model-specific settings | User settings can be overridden by model-specific settings |\n\n### 1. **Per-chat basis:**"}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/545f6922-8a4a-4b57-9821-e6c88f6324b4
id: 35363acd-c197-41e6-bbec-d4e94d3412b0
encoding: FLOAT32
metadata:
{"source": "chat-params.md", "name": "chat-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "start_index": 1130, "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### 1. **Per-chat basis:**\n\n- **Description**: The per-chat basis setting refers to the system prompt and advanced parameters configured for a specific chat instance. These settings are only applicable to the current conversation and do not affect future chats.\n- **How to set**: Users can modify the system prompt and advanced parameters for a specific chat instance within the right-hand sidebar's **Chat Controls** section in Open WebUI.\n- **Override capabilities**: Users are restricted from overriding the **System Prompt** or specific **Advanced Parameters** already set by an administrator on a per-model basis (**#2**). This ensures consistency and adherence to model-specific settings."}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/545f6922-8a4a-4b57-9821-e6c88f6324b4
id: 93e502ee-a478-4ef8-bdaa-52af1bec287e
encoding: FLOAT32
metadata:
{"source": "chat-params.md", "name": "chat-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "start_index": 1826, "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "<details>\n<summary>Example Use Case</summary>\n:::tip **Per-chat basis**:\nSuppose a user wants to set a custom system prompt for a specific conversation. They can do so by accessing the **Chat Controls** section and modifying the **System Prompt** field. These changes will only apply to the current chat session.\n:::\n</details>\n\n### 2. **Per-model basis:**"}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/545f6922-8a4a-4b57-9821-e6c88f6324b4
id: c9260a21-70a7-4f40-bfa6-be54f858aa3e
encoding: FLOAT32
metadata:
{"source": "chat-params.md", "name": "chat-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "start_index": 2184, "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- **Description**: The per-model basis setting refers to the default system prompt and advanced parameters configured for a specific model. These settings are applicable to all chat instances using that model.\n- **How to set**: Administrators can set the default system prompt and advanced parameters for a specific model within the **Models** section of the **Workspace** in Open WebUI.\n- **Override capabilities**: **User** accounts are restricted from modifying the **System Prompt** or specific **Advanced Parameters** on a per-model basis (**#3**). This restriction prevents users from inappropriately altering default settings."}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/545f6922-8a4a-4b57-9821-e6c88f6324b4
id: fb470c4c-8230-4771-85ca-3135fd1c0b6a
encoding: FLOAT32
metadata:
{"source": "chat-params.md", "name": "chat-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "start_index": 2818, "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- **Context length preservation:** When a model's **System Prompt** or specific **Advanced Parameters** are set manually in the **Workspace** section by an Admin, said **System Prompt** or manually set **Advanced Parameters** cannot be overridden or adjusted on a per-account basis within the **General** settings or **Chat Controls** section by a **User** account. This ensures consistency and prevents excessive reloading of the model whenever a user's context length setting changes.\n- **Model precedence:** If a model's **System Prompt** or specific **Advanced Parameters** value is pre-set in the Workspace section by an Admin, any context length changes made by a **User** account in the **General** settings or **Chat Controls** section will be disregarded, maintaining the pre-configured value for that model. Be advised that parameters left untouched by an **Admin** account can still be manually adjusted by a **User** account on a per-account or per-chat basis."}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/545f6922-8a4a-4b57-9821-e6c88f6324b4
id: ca148793-ef21-48cf-8eaa-21e27274da9c
encoding: FLOAT32
metadata:
{"source": "chat-params.md", "name": "chat-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "start_index": 3792, "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "<details>\n<summary>Example Use Case</summary>\n:::tip **Per-model basis**:\nSuppose an administrator wants to set a default system prompt for a specific model. They can do so by accessing the **Models** section and modifying the **System Prompt** field for the corresponding model. Any chat instances using this model will automatically use the model's system prompt and advanced parameters.\n:::\n</details>\n\n### 3. **Per-account basis:**"}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/545f6922-8a4a-4b57-9821-e6c88f6324b4
id: 4d7a9645-8662-433e-8898-f310d2b70a8c
encoding: FLOAT32
metadata:
{"source": "chat-params.md", "name": "chat-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "start_index": 4198, "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### 3. **Per-account basis:**\n\n- **Description**: The per-account basis setting refers to the default system prompt and advanced parameters configured for a specific user account. Any user-specific changes can serve as a fallback in situations where lower-level settings aren't defined.\n- **How to set**: Users can set their own system prompt and advanced parameters for their account within the **General** section of the **Settings** menu in Open WebUI.\n- **Override capabilities**: Users have the ability to set their own system prompt on their account, but they must be aware that such parameters can still be overridden if an administrator has already set the **System Prompt** or specific **Advanced Parameters** on a per-model basis for the particular model being used."}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/545f6922-8a4a-4b57-9821-e6c88f6324b4
id: 46093b26-0125-42aa-9e9e-6b8a67c3c20d
encoding: FLOAT32
metadata:
{"source": "chat-params.md", "name": "chat-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "start_index": 4976, "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "<details>\n<summary>Example Use Case</summary>\n:::tip **Per-account basis**:\nSuppose a user wants to set their own system prompt for their account. They can do so by accessing the **Settings** menu and modifying the **System Prompt** field.\n:::\n</details>\n\n## **Optimize System Prompt Settings for Maximum Flexibility**\n\n:::tip **Bonus Tips**\n**This tip applies for both administrators and user accounts. To achieve maximum flexibility with your system prompts, we recommend considering the following setup:**\n\n- Assign your primary System Prompt (**i.e., to give an LLM a defining character**) you want to use in your **General** settings **System Prompt** field. This sets it on a per-account level and allows it to work as the system prompt across all your LLMs without requiring adjustments within a model from the **Workspace** section."}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/545f6922-8a4a-4b57-9821-e6c88f6324b4
id: 7a8c37b4-6e48-4caf-924c-5d8fc173a8a3
encoding: FLOAT32
metadata:
{"source": "chat-params.md", "name": "chat-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "start_index": 5818, "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- For your secondary System Prompt (**i.e, to give an LLM a task to perform**), choose whether to place it in the **System Prompt** field within the **Chat Controls** sidebar (on a per-chat basis) or the **Models** section of the **Workspace** section (on a per-model basis) for Admins, allowing you to set them directly. This allows your account-level system prompt to work in conjunction with either the per-chat level system prompt provided by **Chat Controls**, or the per-model level system prompt provided by **Models**."}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/545f6922-8a4a-4b57-9821-e6c88f6324b4
id: 058e898f-051e-47f1-86be-ccd7cf6ccafb
encoding: FLOAT32
metadata:
{"source": "chat-params.md", "name": "chat-params.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "start_index": 6346, "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- As an administrator, you should assign your LLM parameters on a per-model basis using **Models** section for optimal flexibility. For both of these secondary System Prompts, ensure to set them in a manner that maximizes flexibility and minimizes required adjustments across different per-account or per-chat instances. It is essential for both your Admin account as well as all User accounts to understand the priority order by which system prompts within **Chat Controls** and the **Models** section will be applied to the **LLM**.\n:::"}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 191568c3-64fa-4128-b0ec-ec90e1cbeb80
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "name": "chat-params.md", "source": "chat-params.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 4\ntitle: \"\u2699\ufe0f Chat Parameters\"\n---\n\nWithin Open WebUI, there are three levels to setting a **System Prompt** and **Advanced Parameters**: per-chat basis, per-model basis, and per-account basis. This hierarchical system allows for flexibility while maintaining structured administration and control.\n\n## System Prompt and Advanced Parameters Hierarchy Chart"}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 4e118e7e-1362-444b-a4f3-ca1487dd869b
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "name": "chat-params.md", "source": "chat-params.md", "start_index": 0, "chroma:document": "## System Prompt and Advanced Parameters Hierarchy Chart\n\n| **Level** | **Definition** | **Modification Permissions** | **Override Capabilities** |\n| --- | --- | --- | --- |\n| **Per-Chat** | System prompt and advanced parameters for a specific chat instance | Users can modify, but cannot override model-specific settings | Restricted from overriding model-specific settings |\n| **Per-Model** | Default system prompt and advanced parameters for a specific model | Administrators can set, Users cannot modify | Admin-specific settings take precedence, User settings can be overridden |\n| **Per-Account** | Default system prompt and advanced parameters for a specific user account | Users can set, but may be overridden by model-specific settings | User settings can be overridden by model-specific settings |\n\n### 1. **Per-chat basis:**"}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 1ebfa0f1-afb0-4463-a002-744e2fede0b1
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "name": "chat-params.md", "source": "chat-params.md", "start_index": 0, "chroma:document": "### 1. **Per-chat basis:**\n\n- **Description**: The per-chat basis setting refers to the system prompt and advanced parameters configured for a specific chat instance. These settings are only applicable to the current conversation and do not affect future chats.\n- **How to set**: Users can modify the system prompt and advanced parameters for a specific chat instance within the right-hand sidebar's **Chat Controls** section in Open WebUI.\n- **Override capabilities**: Users are restricted from overriding the **System Prompt** or specific **Advanced Parameters** already set by an administrator on a per-model basis (**#2**). This ensures consistency and adherence to model-specific settings."}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 5a5a0d8e-cf1c-49b7-817e-fdecb8fac5ec
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "name": "chat-params.md", "source": "chat-params.md", "start_index": 0, "chroma:document": "<details>\n<summary>Example Use Case</summary>\n:::tip **Per-chat basis**:\nSuppose a user wants to set a custom system prompt for a specific conversation. They can do so by accessing the **Chat Controls** section and modifying the **System Prompt** field. These changes will only apply to the current chat session.\n:::\n</details>\n\n### 2. **Per-model basis:**"}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 18839928-bd61-4a71-8eff-b6674ac062b0
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "name": "chat-params.md", "source": "chat-params.md", "start_index": 0, "chroma:document": "- **Description**: The per-model basis setting refers to the default system prompt and advanced parameters configured for a specific model. These settings are applicable to all chat instances using that model.\n- **How to set**: Administrators can set the default system prompt and advanced parameters for a specific model within the **Models** section of the **Workspace** in Open WebUI.\n- **Override capabilities**: **User** accounts are restricted from modifying the **System Prompt** or specific **Advanced Parameters** on a per-model basis (**#3**). This restriction prevents users from inappropriately altering default settings."}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: b8488423-5903-4038-8b3e-634e1ca8f19d
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "name": "chat-params.md", "source": "chat-params.md", "start_index": 0, "chroma:document": "- **Context length preservation:** When a model's **System Prompt** or specific **Advanced Parameters** are set manually in the **Workspace** section by an Admin, said **System Prompt** or manually set **Advanced Parameters** cannot be overridden or adjusted on a per-account basis within the **General** settings or **Chat Controls** section by a **User** account. This ensures consistency and prevents excessive reloading of the model whenever a user's context length setting changes.\n- **Model precedence:** If a model's **System Prompt** or specific **Advanced Parameters** value is pre-set in the Workspace section by an Admin, any context length changes made by a **User** account in the **General** settings or **Chat Controls** section will be disregarded, maintaining the pre-configured value for that model. Be advised that parameters left untouched by an **Admin** account can still be manually adjusted by a **User** account on a per-account or per-chat basis."}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 6729ca84-84c3-40cd-be74-f2837d70df55
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "name": "chat-params.md", "source": "chat-params.md", "start_index": 0, "chroma:document": "<details>\n<summary>Example Use Case</summary>\n:::tip **Per-model basis**:\nSuppose an administrator wants to set a default system prompt for a specific model. They can do so by accessing the **Models** section and modifying the **System Prompt** field for the corresponding model. Any chat instances using this model will automatically use the model's system prompt and advanced parameters.\n:::\n</details>\n\n### 3. **Per-account basis:**"}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 0f348e5c-49ac-4f1f-a39d-e9e41fcffb1a
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "name": "chat-params.md", "source": "chat-params.md", "start_index": 0, "chroma:document": "### 3. **Per-account basis:**\n\n- **Description**: The per-account basis setting refers to the default system prompt and advanced parameters configured for a specific user account. Any user-specific changes can serve as a fallback in situations where lower-level settings aren't defined.\n- **How to set**: Users can set their own system prompt and advanced parameters for their account within the **General** section of the **Settings** menu in Open WebUI.\n- **Override capabilities**: Users have the ability to set their own system prompt on their account, but they must be aware that such parameters can still be overridden if an administrator has already set the **System Prompt** or specific **Advanced Parameters** on a per-model basis for the particular model being used."}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 976734e4-2512-4ad9-aeaa-2e4f46698af1
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "name": "chat-params.md", "source": "chat-params.md", "start_index": 0, "chroma:document": "<details>\n<summary>Example Use Case</summary>\n:::tip **Per-account basis**:\nSuppose a user wants to set their own system prompt for their account. They can do so by accessing the **Settings** menu and modifying the **System Prompt** field.\n:::\n</details>\n\n## **Optimize System Prompt Settings for Maximum Flexibility**\n\n:::tip **Bonus Tips**\n**This tip applies for both administrators and user accounts. To achieve maximum flexibility with your system prompts, we recommend considering the following setup:**\n\n- Assign your primary System Prompt (**i.e., to give an LLM a defining character**) you want to use in your **General** settings **System Prompt** field. This sets it on a per-account level and allows it to work as the system prompt across all your LLMs without requiring adjustments within a model from the **Workspace** section."}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: db424cbc-bae5-4131-9749-fcf3defb3cc7
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "name": "chat-params.md", "source": "chat-params.md", "start_index": 0, "chroma:document": "- For your secondary System Prompt (**i.e, to give an LLM a task to perform**), choose whether to place it in the **System Prompt** field within the **Chat Controls** sidebar (on a per-chat basis) or the **Models** section of the **Workspace** section (on a per-model basis) for Admins, allowing you to set them directly. This allows your account-level system prompt to work in conjunction with either the per-chat level system prompt provided by **Chat Controls**, or the per-model level system prompt provided by **Models**."}


created_at: 2024-12-28 04:06:14
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 53a54edd-f21d-4f56-835b-725db80e7475
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "5bdb68a3-2001-4a0e-924b-e29596f86aa0", "hash": "64464491463fc2495d8efa080d7538813c0325c7553b99fc2827534193d0e746", "name": "chat-params.md", "source": "chat-params.md", "start_index": 0, "chroma:document": "- As an administrator, you should assign your LLM parameters on a per-model basis using **Models** section for optimal flexibility. For both of these secondary System Prompts, ensure to set them in a manner that maximizes flexibility and minimizes required adjustments across different per-account or per-chat instances. It is essential for both your Admin account as well as all User accounts to understand the priority order by which system prompts within **Chat Controls** and the **Models** section will be applied to the **LLM**.\n:::"}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/a19859a1-d35d-4b13-b419-9f6910a8c6a6
id: 9b810db1-33d3-467c-bb00-1a455e4297fe
encoding: FLOAT32
metadata:
{"source": "chatshare.md", "name": "chatshare.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "4f42b049-3864-407c-8682-7547eb6ba74b", "start_index": 0, "hash": "dd949063cbecbcfc58863ff425916f09d7a6cb93b43b27e4932a8700b3df213c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 4\ntitle: \"\ud83d\udde8\ufe0f Chat Sharing\"\n---\n\n### Enabling Community Sharing\n\nTo enable community sharing, follow these steps:\n\n1. Navigate to the **Admin Panel** page as an **Admin**.\n2. Click on the **Settings** tab.\n3. Toggle on **Enable Community Sharing** within the **General** settings tab.\n\n:::note\n**Note:** Only Admins can toggle the **Enable Community Sharing** option. If this option is toggled off, users and Admins will not see the **Share to Open WebUI Community** option for sharing their chats. Community sharing must be enabled by an Admin for users to share chats to the Open WebUI community.\n:::\n\nThis will enable community sharing for all users on your Open WebUI instance.\n\n### Sharing Chats\n\nTo share a chat:"}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/a19859a1-d35d-4b13-b419-9f6910a8c6a6
id: 36df6039-08dc-4f5f-abe0-bf4f5bdd0fc6
encoding: FLOAT32
metadata:
{"source": "chatshare.md", "name": "chatshare.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "4f42b049-3864-407c-8682-7547eb6ba74b", "start_index": 704, "hash": "dd949063cbecbcfc58863ff425916f09d7a6cb93b43b27e4932a8700b3df213c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Sharing Chats\n\nTo share a chat:\n\n1. Select the chat conversation you want to share.\n2. Click on the 3-dots that appear when hovering the mouse pointer above the desired chat.\n3. Then click on the **Share** option.\n4. Select either **Share to Open WebUI Community** (if **Enable Community Sharing** is toggled on by an **Admin**) or **Copy Link**.\n\n#### Sharing to Open WebUI Community\n\nWhen you select `Share to Open WebUI Community`:\n\n* A new tab will open, allowing you to upload your chat as a snapshot to the Open WebUI community website (https://openwebui.com/chats/upload).\n* You can control who can view your uploaded chat by choosing from the following access settings:\n  * **Private**: Only you can access this chat.\n  * **Public**: Anyone on the internet can view the messages displayed in the chat snapshot.\n  * **Public, Full History**: Anyone on the internet can view the full regeneration history of your chat."}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/a19859a1-d35d-4b13-b419-9f6910a8c6a6
id: f711c24d-9eb9-4427-85fb-6df4498628a3
encoding: FLOAT32
metadata:
{"source": "chatshare.md", "name": "chatshare.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "4f42b049-3864-407c-8682-7547eb6ba74b", "start_index": 1634, "hash": "dd949063cbecbcfc58863ff425916f09d7a6cb93b43b27e4932a8700b3df213c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": ":::note\nNote: You can change the permission level of your shared chats on the community platform at any time from your openwebui.com account.\n\n**Currently, shared chats on the community website cannot be found through search. However, future updates are planned to allow public chats to be discoverable by the public if their permission is set to `Public` or `Public, Full History`.**\n:::\n\nExample of a shared chat to the community platform website: https://openwebui.com/c/iamg30/5e3c569f-905e-4d68-a96d-8a99cc65c90f\n\n#### Copying a Share Link\n\nWhen you select `Copy Link`, a unique share link is generated that can be shared with others.\n\n**Important Considerations:**"}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/a19859a1-d35d-4b13-b419-9f6910a8c6a6
id: 65778a3f-5773-41b3-891c-2e0831880301
encoding: FLOAT32
metadata:
{"source": "chatshare.md", "name": "chatshare.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "4f42b049-3864-407c-8682-7547eb6ba74b", "start_index": 2275, "hash": "dd949063cbecbcfc58863ff425916f09d7a6cb93b43b27e4932a8700b3df213c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "**Important Considerations:**\n\n* The shared chat will only include messages that existed at the time the link was created. Any new messages sent within the chat after the link is generated will not be included, unless the link is deleted and updated with a new link.\n* The generated share link acts as a static snapshot of the chat at the time the link was generated.\n* To view the shared chat, users must:\n  1. Have an account on the Open WebUI instance where the link was generated.\n  2. Be signed in to their account on that instance.\n* If a user tries to access the shared link without being signed in, they will be redirected to the login page to log in before they can view the shared chat.\n\n### Viewing Shared Chats\n\nTo view a shared chat:"}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/a19859a1-d35d-4b13-b419-9f6910a8c6a6
id: 0b5156e9-5ba7-47bf-aaa7-1057915e9e2b
encoding: FLOAT32
metadata:
{"source": "chatshare.md", "name": "chatshare.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "4f42b049-3864-407c-8682-7547eb6ba74b", "start_index": 2973, "hash": "dd949063cbecbcfc58863ff425916f09d7a6cb93b43b27e4932a8700b3df213c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Viewing Shared Chats\n\nTo view a shared chat:\n\n1. Ensure you are signed in to an account on the Open WebUI instance where the chat was shared.\n2. Click on the shared link provided to you.\n3. The chat will be displayed in a read-only format.\n4. If the Admin of the Open WebUI instance from which the shared link was shared has Text-to-Speech set up, there may be an audio button for messages to be read aloud to you (situational).\n\n### Updating Shared Chats\n\nTo update a shared chat:\n\n1. Select the chat conversation you want to share.\n2. Click on the 3-dots that appear when hovering the mouse pointer above the desired chat.\n3. Click on the **Share** option.\n4. The **Share Chat** Modal should look different if you've shared a chat before.\n\nThe **Share Chat** Modal includes the following options:"}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/a19859a1-d35d-4b13-b419-9f6910a8c6a6
id: bf78cf73-faf3-4b22-8e85-11621642597e
encoding: FLOAT32
metadata:
{"source": "chatshare.md", "name": "chatshare.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "4f42b049-3864-407c-8682-7547eb6ba74b", "start_index": 3719, "hash": "dd949063cbecbcfc58863ff425916f09d7a6cb93b43b27e4932a8700b3df213c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "The **Share Chat** Modal includes the following options:\n\n* **before**: Opens a new tab to view the previously shared chat from the share link.\n* **delete this link**: Deletes the shared link of the chat and presents the initial share chat modal.\n* **Share to Open WebUI Community**: Opens a new tab for https://openwebui.com/chats/upload with the chat ready to be shared as a snapshot.\n* **Update and Copy Link**: Updates the snapshot of the chat of the previously shared chat link and copies it to your device's clipboard.\n\n### Deleting Shared Chats\n\nTo delete a shared chat link:\n\n1. Select the chat conversation you want to delete the shared link for.\n2. Click on the 3-dots that appear when hovering the mouse pointer above the desired chat.\n3. Click on the **Share** option.\n4. The **Share Chat** Modal should look different if you've shared a chat before.\n5. Click on **delete this link**."}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/a19859a1-d35d-4b13-b419-9f6910a8c6a6
id: 267ac6b2-5b53-44a3-99d7-e9c274c47c31
encoding: FLOAT32
metadata:
{"source": "chatshare.md", "name": "chatshare.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "4f42b049-3864-407c-8682-7547eb6ba74b", "start_index": 4617, "hash": "dd949063cbecbcfc58863ff425916f09d7a6cb93b43b27e4932a8700b3df213c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Once deleted, the shared link will no longer be valid, and users will not be able to view the shared chat.\n\n:::note\n**Note:** Chats shared to the community platform cannot be deleted. To change the access level of a chat shared to the community platform:\n:::\n\n1. Log in to your Open WebUI account on openwebui.com.\n2. Click on your account username at the top right of the website.\n3. Click on **Chats**.\n4. Click on the chat you wish to change permission access for.\n5. Scroll to the bottom of the chat and update its permission level.\n6. Click the **Update Chat** button."}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 777a5961-53f7-47f1-8290-c01df49dffd1
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "4f42b049-3864-407c-8682-7547eb6ba74b", "hash": "dd949063cbecbcfc58863ff425916f09d7a6cb93b43b27e4932a8700b3df213c", "name": "chatshare.md", "source": "chatshare.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 4\ntitle: \"\ud83d\udde8\ufe0f Chat Sharing\"\n---\n\n### Enabling Community Sharing\n\nTo enable community sharing, follow these steps:\n\n1. Navigate to the **Admin Panel** page as an **Admin**.\n2. Click on the **Settings** tab.\n3. Toggle on **Enable Community Sharing** within the **General** settings tab.\n\n:::note\n**Note:** Only Admins can toggle the **Enable Community Sharing** option. If this option is toggled off, users and Admins will not see the **Share to Open WebUI Community** option for sharing their chats. Community sharing must be enabled by an Admin for users to share chats to the Open WebUI community.\n:::\n\nThis will enable community sharing for all users on your Open WebUI instance.\n\n### Sharing Chats\n\nTo share a chat:"}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 64120f9e-c16a-44d0-8590-96de350e6ca1
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "4f42b049-3864-407c-8682-7547eb6ba74b", "hash": "dd949063cbecbcfc58863ff425916f09d7a6cb93b43b27e4932a8700b3df213c", "name": "chatshare.md", "source": "chatshare.md", "start_index": 0, "chroma:document": "### Sharing Chats\n\nTo share a chat:\n\n1. Select the chat conversation you want to share.\n2. Click on the 3-dots that appear when hovering the mouse pointer above the desired chat.\n3. Then click on the **Share** option.\n4. Select either **Share to Open WebUI Community** (if **Enable Community Sharing** is toggled on by an **Admin**) or **Copy Link**.\n\n#### Sharing to Open WebUI Community\n\nWhen you select `Share to Open WebUI Community`:\n\n* A new tab will open, allowing you to upload your chat as a snapshot to the Open WebUI community website (https://openwebui.com/chats/upload).\n* You can control who can view your uploaded chat by choosing from the following access settings:\n  * **Private**: Only you can access this chat.\n  * **Public**: Anyone on the internet can view the messages displayed in the chat snapshot.\n  * **Public, Full History**: Anyone on the internet can view the full regeneration history of your chat."}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: fdb13c43-c747-43e2-af4d-5a2885de1753
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "4f42b049-3864-407c-8682-7547eb6ba74b", "hash": "dd949063cbecbcfc58863ff425916f09d7a6cb93b43b27e4932a8700b3df213c", "name": "chatshare.md", "source": "chatshare.md", "start_index": 0, "chroma:document": ":::note\nNote: You can change the permission level of your shared chats on the community platform at any time from your openwebui.com account.\n\n**Currently, shared chats on the community website cannot be found through search. However, future updates are planned to allow public chats to be discoverable by the public if their permission is set to `Public` or `Public, Full History`.**\n:::\n\nExample of a shared chat to the community platform website: https://openwebui.com/c/iamg30/5e3c569f-905e-4d68-a96d-8a99cc65c90f\n\n#### Copying a Share Link\n\nWhen you select `Copy Link`, a unique share link is generated that can be shared with others.\n\n**Important Considerations:**"}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 34d3d375-415c-49bd-a5bb-fca4ec6f88ce
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "4f42b049-3864-407c-8682-7547eb6ba74b", "hash": "dd949063cbecbcfc58863ff425916f09d7a6cb93b43b27e4932a8700b3df213c", "name": "chatshare.md", "source": "chatshare.md", "start_index": 0, "chroma:document": "**Important Considerations:**\n\n* The shared chat will only include messages that existed at the time the link was created. Any new messages sent within the chat after the link is generated will not be included, unless the link is deleted and updated with a new link.\n* The generated share link acts as a static snapshot of the chat at the time the link was generated.\n* To view the shared chat, users must:\n  1. Have an account on the Open WebUI instance where the link was generated.\n  2. Be signed in to their account on that instance.\n* If a user tries to access the shared link without being signed in, they will be redirected to the login page to log in before they can view the shared chat.\n\n### Viewing Shared Chats\n\nTo view a shared chat:"}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 045c690b-fdab-45be-9816-651e6a76d1ec
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "4f42b049-3864-407c-8682-7547eb6ba74b", "hash": "dd949063cbecbcfc58863ff425916f09d7a6cb93b43b27e4932a8700b3df213c", "name": "chatshare.md", "source": "chatshare.md", "start_index": 0, "chroma:document": "### Viewing Shared Chats\n\nTo view a shared chat:\n\n1. Ensure you are signed in to an account on the Open WebUI instance where the chat was shared.\n2. Click on the shared link provided to you.\n3. The chat will be displayed in a read-only format.\n4. If the Admin of the Open WebUI instance from which the shared link was shared has Text-to-Speech set up, there may be an audio button for messages to be read aloud to you (situational).\n\n### Updating Shared Chats\n\nTo update a shared chat:\n\n1. Select the chat conversation you want to share.\n2. Click on the 3-dots that appear when hovering the mouse pointer above the desired chat.\n3. Click on the **Share** option.\n4. The **Share Chat** Modal should look different if you've shared a chat before.\n\nThe **Share Chat** Modal includes the following options:"}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: d2afe6e2-058d-4197-9c28-9d06764f0323
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "4f42b049-3864-407c-8682-7547eb6ba74b", "hash": "dd949063cbecbcfc58863ff425916f09d7a6cb93b43b27e4932a8700b3df213c", "name": "chatshare.md", "source": "chatshare.md", "start_index": 0, "chroma:document": "The **Share Chat** Modal includes the following options:\n\n* **before**: Opens a new tab to view the previously shared chat from the share link.\n* **delete this link**: Deletes the shared link of the chat and presents the initial share chat modal.\n* **Share to Open WebUI Community**: Opens a new tab for https://openwebui.com/chats/upload with the chat ready to be shared as a snapshot.\n* **Update and Copy Link**: Updates the snapshot of the chat of the previously shared chat link and copies it to your device's clipboard.\n\n### Deleting Shared Chats\n\nTo delete a shared chat link:\n\n1. Select the chat conversation you want to delete the shared link for.\n2. Click on the 3-dots that appear when hovering the mouse pointer above the desired chat.\n3. Click on the **Share** option.\n4. The **Share Chat** Modal should look different if you've shared a chat before.\n5. Click on **delete this link**."}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: da031426-511d-44bc-8cdf-c0f538c6e460
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "4f42b049-3864-407c-8682-7547eb6ba74b", "hash": "dd949063cbecbcfc58863ff425916f09d7a6cb93b43b27e4932a8700b3df213c", "name": "chatshare.md", "source": "chatshare.md", "start_index": 0, "chroma:document": "Once deleted, the shared link will no longer be valid, and users will not be able to view the shared chat.\n\n:::note\n**Note:** Chats shared to the community platform cannot be deleted. To change the access level of a chat shared to the community platform:\n:::\n\n1. Log in to your Open WebUI account on openwebui.com.\n2. Click on your account username at the top right of the website.\n3. Click on **Chats**.\n4. Click on the chat you wish to change permission access for.\n5. Scroll to the bottom of the chat and update its permission level.\n6. Click the **Update Chat** button."}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/0e036b59-e8a5-491a-b3d9-7055bc6e9e39
id: 0a1f1c62-1437-4254-825e-1595acfb1617
encoding: FLOAT32
metadata:
{"source": "completions.md", "name": "completions.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "f79fb9f2-6a30-442a-a95e-21dbbe2e3d32", "start_index": 0, "hash": "5e127ba6f0afdf1a4d4d777d7197c5c2a77bdb0b1660931373d0432c8dbbee72", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 1\ntitle: \"\u2705 Completions\"\n---\n\n\nTest"}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 6d78beb0-66b0-4023-b9d6-5d79bf4e2c65
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "f79fb9f2-6a30-442a-a95e-21dbbe2e3d32", "hash": "5e127ba6f0afdf1a4d4d777d7197c5c2a77bdb0b1660931373d0432c8dbbee72", "name": "completions.md", "source": "completions.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 1\ntitle: \"\u2705 Completions\"\n---\n\n\nTest"}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/5c300d4b-69b9-4d3e-ae4a-e8c6bf452ff1
id: 56513af9-f8f4-410a-87ba-b436f9303cd9
encoding: FLOAT32
metadata:
{"source": "Conda.md", "name": "Conda.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "607a73e9-747d-468b-b729-a21528aedc7b", "start_index": 1, "hash": "112df8264201355ee12acb97b0ce0b97e1828927c7d26497774544173f1ac12f", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "# Install with Conda\n\n1. **Create a Conda Environment:**\n\n   ```bash\n   conda create -n open-webui python=3.11\n   ```\n\n2. **Activate the Environment:**\n\n   ```bash\n   conda activate open-webui\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:15
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: e83a819d-7509-403e-a2ee-47546ef870a8
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "607a73e9-747d-468b-b729-a21528aedc7b", "hash": "112df8264201355ee12acb97b0ce0b97e1828927c7d26497774544173f1ac12f", "name": "Conda.md", "source": "Conda.md", "start_index": 0, "chroma:document": "# Install with Conda\n\n1. **Create a Conda Environment:**\n\n   ```bash\n   conda create -n open-webui python=3.11\n   ```\n\n2. **Activate the Environment:**\n\n   ```bash\n   conda activate open-webui\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:15
topic: persistent://default/default/88c4ecc9-223c-421f-ba75-afe43557f7ea
id: b9f0288f-cd7b-4b1b-8165-c48f8834c682
encoding: FLOAT32
metadata:
{"source": "connection-error.mdx", "name": "connection-error.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "42124c0f-ebff-4244-938b-48bedcc2bea5", "start_index": 0, "hash": "a83edb41f324db2086a637db8616a1c7136bccb4ce9847b08d04b84213334b17", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 0\ntitle: \"\ud83d\udea7 Server Connectivity Issues\"\n---\n\nWe're here to help you get everything set up and running smoothly. Below, you'll find step-by-step instructions tailored for different scenarios to solve common connection issues with Ollama and external servers like Hugging Face.\n\n## \ud83c\udf1f Connection to Ollama Server\n\n### \ud83d\ude80 Accessing Ollama from Open WebUI\n\nStruggling to connect to Ollama from Open WebUI? It could be because Ollama isn't listening on a network interface that allows external connections. Let's sort that out:\n\n1. **Configure Ollama to Listen Broadly** \ud83c\udfa7:\n   Set `OLLAMA_HOST` to `0.0.0.0` to make Ollama listen on all network interfaces.\n\n2. **Update Environment Variables**:\n   Ensure that the `OLLAMA_HOST` is accurately set within your deployment environment.\n\n3. **Restart Ollama**\ud83d\udd04:\n   A restart is needed for the changes to take effect.\n\n\ud83d\udca1 After setting up, verify that Ollama is accessible by visiting the WebUI interface."}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/88c4ecc9-223c-421f-ba75-afe43557f7ea
id: bb1fe73c-7841-45ca-99a2-8507a12fab4c
encoding: FLOAT32
metadata:
{"source": "connection-error.mdx", "name": "connection-error.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "42124c0f-ebff-4244-938b-48bedcc2bea5", "start_index": 878, "hash": "a83edb41f324db2086a637db8616a1c7136bccb4ce9847b08d04b84213334b17", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "\ud83d\udca1 After setting up, verify that Ollama is accessible by visiting the WebUI interface.\n\nFor more detailed instructions on configuring Ollama, please refer to the [Ollama's Official Documentation](https://github.com/ollama/ollama/blob/main/docs/faq.md#setting-environment-variables-on-linux).\n\n### \ud83d\udc33 Docker Connection Error\n\nIf you're seeing a connection error when trying to access Ollama, it might be because the WebUI docker container can't talk to the Ollama server running on your host. Let's fix that:\n\n1. **Adjust the Network Settings** \ud83d\udee0\ufe0f:\n   Use the `--network=host` flag in your Docker command. This links your container directly to your host's network.\n\n2. **Change the Port**:\n   Remember that the internal port changes from 3000 to 8080."}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/88c4ecc9-223c-421f-ba75-afe43557f7ea
id: fcf4d3f6-e8a1-496d-af83-abe5e81032f4
encoding: FLOAT32
metadata:
{"source": "connection-error.mdx", "name": "connection-error.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "42124c0f-ebff-4244-938b-48bedcc2bea5", "start_index": 1541, "hash": "a83edb41f324db2086a637db8616a1c7136bccb4ce9847b08d04b84213334b17", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "2. **Change the Port**:\n   Remember that the internal port changes from 3000 to 8080.\n\n**Example Docker Command**:\n```bash\ndocker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main\n```\n\ud83d\udd17 After running the above, your WebUI should be available at `http://localhost:8080`.\n\n## \ud83d\udd12 SSL Connection Issue with Hugging Face\n\nEncountered an SSL error? It could be an issue with the Hugging Face server. Here's what to do:\n\n1. **Check Hugging Face Server Status**:\n   Verify if there's a known outage or issue on their end.\n\n2. **Switch Endpoint**:\n   If Hugging Face is down, switch the endpoint in your Docker command."}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/88c4ecc9-223c-421f-ba75-afe43557f7ea
id: 68b7dc6c-3f5d-47f3-b260-8d72edb49050
encoding: FLOAT32
metadata:
{"source": "connection-error.mdx", "name": "connection-error.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "42124c0f-ebff-4244-938b-48bedcc2bea5", "start_index": 2171, "hash": "a83edb41f324db2086a637db8616a1c7136bccb4ce9847b08d04b84213334b17", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "2. **Switch Endpoint**:\n   If Hugging Face is down, switch the endpoint in your Docker command.\n\n**Example Docker Command for Connected Issues**:\n```bash\ndocker run -d -p 3000:8080 -e HF_ENDPOINT=https://hf-mirror.com/ --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main\n```\n\n## \ud83c\udf4f Podman on MacOS\n\nRunning on MacOS with Podman? Here's how to ensure connectivity:\n\n1. **Enable Host Loopback**:\n   Use `--network slirp4netns:allow_host_loopback=true` in your command.\n\n2. **Set OLLAMA_BASE_URL**:\n   Ensure it points to `http://host.containers.internal:11434`.\n\n**Example Podman Command**:\n```bash\npodman run -d --network slirp4netns:allow_host_loopback=true -p 3000:8080 -e OLLAMA_BASE_URL=http://host.containers.internal:11434 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main\n```"}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: b8644252-ec85-4c4f-93da-a50167f491cd
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "42124c0f-ebff-4244-938b-48bedcc2bea5", "hash": "a83edb41f324db2086a637db8616a1c7136bccb4ce9847b08d04b84213334b17", "name": "connection-error.mdx", "source": "connection-error.mdx", "start_index": 0, "chroma:document": "---\nsidebar_position: 0\ntitle: \"\ud83d\udea7 Server Connectivity Issues\"\n---\n\nWe're here to help you get everything set up and running smoothly. Below, you'll find step-by-step instructions tailored for different scenarios to solve common connection issues with Ollama and external servers like Hugging Face.\n\n## \ud83c\udf1f Connection to Ollama Server\n\n### \ud83d\ude80 Accessing Ollama from Open WebUI\n\nStruggling to connect to Ollama from Open WebUI? It could be because Ollama isn't listening on a network interface that allows external connections. Let's sort that out:\n\n1. **Configure Ollama to Listen Broadly** \ud83c\udfa7:\n   Set `OLLAMA_HOST` to `0.0.0.0` to make Ollama listen on all network interfaces.\n\n2. **Update Environment Variables**:\n   Ensure that the `OLLAMA_HOST` is accurately set within your deployment environment.\n\n3. **Restart Ollama**\ud83d\udd04:\n   A restart is needed for the changes to take effect.\n\n\ud83d\udca1 After setting up, verify that Ollama is accessible by visiting the WebUI interface."}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 8ccef460-55f0-4961-9aa5-c6ee034b3cef
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "42124c0f-ebff-4244-938b-48bedcc2bea5", "hash": "a83edb41f324db2086a637db8616a1c7136bccb4ce9847b08d04b84213334b17", "name": "connection-error.mdx", "source": "connection-error.mdx", "start_index": 0, "chroma:document": "\ud83d\udca1 After setting up, verify that Ollama is accessible by visiting the WebUI interface.\n\nFor more detailed instructions on configuring Ollama, please refer to the [Ollama's Official Documentation](https://github.com/ollama/ollama/blob/main/docs/faq.md#setting-environment-variables-on-linux).\n\n### \ud83d\udc33 Docker Connection Error\n\nIf you're seeing a connection error when trying to access Ollama, it might be because the WebUI docker container can't talk to the Ollama server running on your host. Let's fix that:\n\n1. **Adjust the Network Settings** \ud83d\udee0\ufe0f:\n   Use the `--network=host` flag in your Docker command. This links your container directly to your host's network.\n\n2. **Change the Port**:\n   Remember that the internal port changes from 3000 to 8080."}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: d206a36b-e36d-4103-810e-509df0cf3dec
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "42124c0f-ebff-4244-938b-48bedcc2bea5", "hash": "a83edb41f324db2086a637db8616a1c7136bccb4ce9847b08d04b84213334b17", "name": "connection-error.mdx", "source": "connection-error.mdx", "start_index": 0, "chroma:document": "2. **Change the Port**:\n   Remember that the internal port changes from 3000 to 8080.\n\n**Example Docker Command**:\n```bash\ndocker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main\n```\n\ud83d\udd17 After running the above, your WebUI should be available at `http://localhost:8080`.\n\n## \ud83d\udd12 SSL Connection Issue with Hugging Face\n\nEncountered an SSL error? It could be an issue with the Hugging Face server. Here's what to do:\n\n1. **Check Hugging Face Server Status**:\n   Verify if there's a known outage or issue on their end.\n\n2. **Switch Endpoint**:\n   If Hugging Face is down, switch the endpoint in your Docker command."}


created_at: 2024-12-28 04:06:15
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 98957eb1-8778-4522-bd27-34f89857de85
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "42124c0f-ebff-4244-938b-48bedcc2bea5", "hash": "a83edb41f324db2086a637db8616a1c7136bccb4ce9847b08d04b84213334b17", "name": "connection-error.mdx", "source": "connection-error.mdx", "start_index": 0, "chroma:document": "2. **Switch Endpoint**:\n   If Hugging Face is down, switch the endpoint in your Docker command.\n\n**Example Docker Command for Connected Issues**:\n```bash\ndocker run -d -p 3000:8080 -e HF_ENDPOINT=https://hf-mirror.com/ --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main\n```\n\n## \ud83c\udf4f Podman on MacOS\n\nRunning on MacOS with Podman? Here's how to ensure connectivity:\n\n1. **Enable Host Loopback**:\n   Use `--network slirp4netns:allow_host_loopback=true` in your command.\n\n2. **Set OLLAMA_BASE_URL**:\n   Ensure it points to `http://host.containers.internal:11434`.\n\n**Example Podman Command**:\n```bash\npodman run -d --network slirp4netns:allow_host_loopback=true -p 3000:8080 -e OLLAMA_BASE_URL=http://host.containers.internal:11434 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main\n```"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/87dc0105-9688-4e7a-9662-9b3a2caf5e06
id: 15af3f9b-0ce4-4da9-b3cd-97b290deeacb
encoding: FLOAT32
metadata:
{"source": "continue-dev.md", "name": "continue-dev.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "f930539d-0d41-4282-bf40-2f2a17ffd2f8", "start_index": 0, "hash": "af58df959ba8ed10a833750857d9fdad4e9f0767258c217be02b4aac71ca05f6", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 13\ntitle: \"\u269b\ufe0f Continue.dev VSCode Extension with Open WebUI\"\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# Integrating Continue.dev VSCode Extension with Open WebUI\n\n### Download Extension\n\nYou can download the VSCode extension here on the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=Continue.continue)\n\nOnce installed you should now have a 'continue' tab in the side bar.\n\nOpen this. Down at the bottom right you should see a settings icon (looks like a cog).\n\nOnce you click on the settings icon a `config.json` should open up in the editor.\n\nHere you'll be able to configure continue to use Open WebUI.\n\n---\n\nCurrently the 'ollama' provider does not support authentication so we cannot use this provider with Open WebUI."}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/87dc0105-9688-4e7a-9662-9b3a2caf5e06
id: 07b88481-1722-4c20-92ac-a88ea048a4fd
encoding: FLOAT32
metadata:
{"source": "continue-dev.md", "name": "continue-dev.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "f930539d-0d41-4282-bf40-2f2a17ffd2f8", "start_index": 995, "hash": "af58df959ba8ed10a833750857d9fdad4e9f0767258c217be02b4aac71ca05f6", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "However Ollama and Open WebUI both have compatibily with OpenAI API spec. You can see a blog post from Ollama [here](https://ollama.com/blog/openai-compatibility) on this.\n\nWe can still setup Continue to use the openai provider which will allow us to use Open WebUI's authentication token.\n\n---\n\n## Config\n\nIn `config.json` all you will need to do is add/change the following options.\n\n### Change provider to openai\n\n```json\n\"provider\": \"openai\"\n```\n\n### Add or update apiBase\n\nSet this to your Open Web UI domain + /ollama/v1 on the end.\n\n```json\n\"apiBase\": \"http://localhost:3000/ollama/v1\" #If you followed Getting Started Docker\n```\n\n### Add apiKey\n\n```json\n\"apiKey\": \"sk-79970662256d425eb274fc4563d4525b\" # Replace with your API key\n```\n\nYou can find and generate your api key from Open WebUI -> Settings -> Account -> API Keys\n\nYou'll want to copy the \"API Key\" (this starts with sk-)\n\n## Example Config"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/87dc0105-9688-4e7a-9662-9b3a2caf5e06
id: 2aab0501-e124-43f6-a677-a5fcb04d9047
encoding: FLOAT32
metadata:
{"source": "continue-dev.md", "name": "continue-dev.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "f930539d-0d41-4282-bf40-2f2a17ffd2f8", "start_index": 1829, "hash": "af58df959ba8ed10a833750857d9fdad4e9f0767258c217be02b4aac71ca05f6", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "You'll want to copy the \"API Key\" (this starts with sk-)\n\n## Example Config\n\nHere is a base example of config.json using Open WebUI via an openai provider. Using Granite Code as the model.\nMake sure you pull the model into your ollama instance/s beforehand."}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/87dc0105-9688-4e7a-9662-9b3a2caf5e06
id: 51ef3f1a-37af-41bf-9d23-d57f69a6aefe
encoding: FLOAT32
metadata:
{"source": "continue-dev.md", "name": "continue-dev.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "f930539d-0d41-4282-bf40-2f2a17ffd2f8", "start_index": 2088, "hash": "af58df959ba8ed10a833750857d9fdad4e9f0767258c217be02b4aac71ca05f6", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "```json\n{\n  \"models\": [\n    {\n      \"title\": \"Granite Code\",\n      \"provider\": \"openai\",\n      \"model\": \"granite-code:latest\",\n      \"useLegacyCompletionsEndpoint\": false,\n      \"apiBase\": \"http://YOUROPENWEBUI/ollama/v1\",\n      \"apiKey\": \"sk-YOUR-API-KEY\"\n    }\n  ],\n  \"customCommands\": [\n    {\n      \"name\": \"test\",\n      \"prompt\": \"{{{ input }}}\\n\\nWrite a comprehensive set of unit tests for the selected code. It should setup, run tests that check for correctness including important edge cases, and teardown. Ensure that the tests are complete and sophisticated. Give the tests just as chat output, don't edit any file.\",\n      \"description\": \"Write unit tests for highlighted code\"\n    }\n  ],\n  \"tabAutocompleteModel\": {\n    \"title\": \"Granite Code\",\n    \"provider\": \"openai\",\n    \"model\": \"granite-code:latest\",\n    \"useLegacyCompletionsEndpoint\": false,\n    \"apiBase\": \"http://localhost:3000/ollama/v1\",\n    \"apiKey\": \"sk-YOUR-API-KEY\"\n  }\n}\n```\n\nSave your `config.json` and thats it!"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/87dc0105-9688-4e7a-9662-9b3a2caf5e06
id: fb74662a-c4e2-479f-bbde-59c4aa44778a
encoding: FLOAT32
metadata:
{"source": "continue-dev.md", "name": "continue-dev.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "f930539d-0d41-4282-bf40-2f2a17ffd2f8", "start_index": 3043, "hash": "af58df959ba8ed10a833750857d9fdad4e9f0767258c217be02b4aac71ca05f6", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Save your `config.json` and thats it!\n\nYou should now see your model in the Continue tab model selection.\n\nSelect it and you should now be chatting via Open WebUI (and or any [pipelines](/pipelines) you have setup )\n\nYou can do this for as many models you would like to use, altough any model should work, you should use a model that is designed for code.\n\nSee the continue documentation for additional continue configuration, [Continue Documentation](https://docs.continue.dev/reference/Model%20Providers/openai)"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 7529ed0d-ba82-4045-a031-a8a29c8e433f
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "f930539d-0d41-4282-bf40-2f2a17ffd2f8", "hash": "af58df959ba8ed10a833750857d9fdad4e9f0767258c217be02b4aac71ca05f6", "name": "continue-dev.md", "source": "continue-dev.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 13\ntitle: \"\u269b\ufe0f Continue.dev VSCode Extension with Open WebUI\"\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# Integrating Continue.dev VSCode Extension with Open WebUI\n\n### Download Extension\n\nYou can download the VSCode extension here on the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=Continue.continue)\n\nOnce installed you should now have a 'continue' tab in the side bar.\n\nOpen this. Down at the bottom right you should see a settings icon (looks like a cog).\n\nOnce you click on the settings icon a `config.json` should open up in the editor.\n\nHere you'll be able to configure continue to use Open WebUI.\n\n---\n\nCurrently the 'ollama' provider does not support authentication so we cannot use this provider with Open WebUI."}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: f2e356f8-f3c9-414d-b6b5-1de53bbf1f2f
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "f930539d-0d41-4282-bf40-2f2a17ffd2f8", "hash": "af58df959ba8ed10a833750857d9fdad4e9f0767258c217be02b4aac71ca05f6", "name": "continue-dev.md", "source": "continue-dev.md", "start_index": 0, "chroma:document": "However Ollama and Open WebUI both have compatibily with OpenAI API spec. You can see a blog post from Ollama [here](https://ollama.com/blog/openai-compatibility) on this.\n\nWe can still setup Continue to use the openai provider which will allow us to use Open WebUI's authentication token.\n\n---\n\n## Config\n\nIn `config.json` all you will need to do is add/change the following options.\n\n### Change provider to openai\n\n```json\n\"provider\": \"openai\"\n```\n\n### Add or update apiBase\n\nSet this to your Open Web UI domain + /ollama/v1 on the end.\n\n```json\n\"apiBase\": \"http://localhost:3000/ollama/v1\" #If you followed Getting Started Docker\n```\n\n### Add apiKey\n\n```json\n\"apiKey\": \"sk-79970662256d425eb274fc4563d4525b\" # Replace with your API key\n```\n\nYou can find and generate your api key from Open WebUI -> Settings -> Account -> API Keys\n\nYou'll want to copy the \"API Key\" (this starts with sk-)\n\n## Example Config"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: bfc65777-f6c5-4c1e-a8d8-f8e2570577fd
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "f930539d-0d41-4282-bf40-2f2a17ffd2f8", "hash": "af58df959ba8ed10a833750857d9fdad4e9f0767258c217be02b4aac71ca05f6", "name": "continue-dev.md", "source": "continue-dev.md", "start_index": 0, "chroma:document": "You'll want to copy the \"API Key\" (this starts with sk-)\n\n## Example Config\n\nHere is a base example of config.json using Open WebUI via an openai provider. Using Granite Code as the model.\nMake sure you pull the model into your ollama instance/s beforehand."}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: b1c34476-34d3-43dd-8972-1c1e7bf3322f
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "f930539d-0d41-4282-bf40-2f2a17ffd2f8", "hash": "af58df959ba8ed10a833750857d9fdad4e9f0767258c217be02b4aac71ca05f6", "name": "continue-dev.md", "source": "continue-dev.md", "start_index": 0, "chroma:document": "```json\n{\n  \"models\": [\n    {\n      \"title\": \"Granite Code\",\n      \"provider\": \"openai\",\n      \"model\": \"granite-code:latest\",\n      \"useLegacyCompletionsEndpoint\": false,\n      \"apiBase\": \"http://YOUROPENWEBUI/ollama/v1\",\n      \"apiKey\": \"sk-YOUR-API-KEY\"\n    }\n  ],\n  \"customCommands\": [\n    {\n      \"name\": \"test\",\n      \"prompt\": \"{{{ input }}}\\n\\nWrite a comprehensive set of unit tests for the selected code. It should setup, run tests that check for correctness including important edge cases, and teardown. Ensure that the tests are complete and sophisticated. Give the tests just as chat output, don't edit any file.\",\n      \"description\": \"Write unit tests for highlighted code\"\n    }\n  ],\n  \"tabAutocompleteModel\": {\n    \"title\": \"Granite Code\",\n    \"provider\": \"openai\",\n    \"model\": \"granite-code:latest\",\n    \"useLegacyCompletionsEndpoint\": false,\n    \"apiBase\": \"http://localhost:3000/ollama/v1\",\n    \"apiKey\": \"sk-YOUR-API-KEY\"\n  }\n}\n```\n\nSave your `config.json` and thats it!"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: a0bef078-1557-4bc4-8628-2c2aca0603a1
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "f930539d-0d41-4282-bf40-2f2a17ffd2f8", "hash": "af58df959ba8ed10a833750857d9fdad4e9f0767258c217be02b4aac71ca05f6", "name": "continue-dev.md", "source": "continue-dev.md", "start_index": 0, "chroma:document": "Save your `config.json` and thats it!\n\nYou should now see your model in the Continue tab model selection.\n\nSelect it and you should now be chatting via Open WebUI (and or any [pipelines](/pipelines) you have setup )\n\nYou can do this for as many models you would like to use, altough any model should work, you should use a model that is designed for code.\n\nSee the continue documentation for additional continue configuration, [Continue Documentation](https://docs.continue.dev/reference/Model%20Providers/openai)"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b3431e1d-ea0a-4dc6-87e2-f99deb661474
id: ee9447ed-253b-4ebc-bfde-d1e1c4317e43
encoding: FLOAT32
metadata:
{"source": "contributing.mdx", "name": "contributing.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "37a4fb6d-b8fd-4970-8dce-791015cfe8b2", "start_index": 0, "hash": "3fe035e20ccf6b91486af2cc96be3c25691de6519a0f1bb1a60a86fb49ec1a5f", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 1600\ntitle: \"\ud83e\udd1d Contributing\"\n---\n\nimport { TopBanners } from \"@site/src/components/TopBanners\";\n\n<TopBanners />\n\n\ud83d\ude80 **Welcome, Contributors!** \ud83d\ude80\n\nYour interest in contributing to Open WebUI is greatly appreciated. This document is here to guide you through the process, ensuring your contributions enhance the project effectively. Let's make Open WebUI even better, together!\n\n## \ud83d\udca1 Contributing\n\nLooking to contribute? Great! Here's how you can help:\n\n### \ud83c\udf1f Code Contribution Guidelines\n\nWe welcome pull requests. Before submitting one, please:\n\n1. Open a discussion regarding your ideas [here](https://github.com/open-webui/open-webui/discussions/new/choose).\n2. Follow the project's coding standards and include tests for new features.\n3. Update documentation as necessary.\n4. Write clear, descriptive commit messages.\n\n### \ud83d\udee0 Code PR Best Practices:"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b3431e1d-ea0a-4dc6-87e2-f99deb661474
id: f8632639-6184-4778-8a37-a7eded0da8b9
encoding: FLOAT32
metadata:
{"source": "contributing.mdx", "name": "contributing.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "37a4fb6d-b8fd-4970-8dce-791015cfe8b2", "start_index": 843, "hash": "3fe035e20ccf6b91486af2cc96be3c25691de6519a0f1bb1a60a86fb49ec1a5f", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### \ud83d\udee0 Code PR Best Practices:\n\n1. **Atomic PRs:** Make sure your PRs are small, focused, and deal with a single objective or task. This helps in easier code review and limits the chances of introducing unrelated issues. If the scope of changes grows too large, consider breaking them into smaller, logically independent PRs.\n2. **Follow Existing Code Convention:** Ensure your code aligns with the existing coding standards and practices of the project.\n3. **Avoid Additional External Dependencies:** Do not include additional external dependencies without prior discussion.\n4. **Framework Agnostic Approach:** We aim to stay framework agnostic. Implement functionalities on our own whenever possible rather than relying on external frameworks or libraries. If you have doubts or suggestions regarding this approach, feel free to discuss it.\n\nThank you for contributing! \ud83d\ude80\n\n### \ud83d\udcda Documentation & Tutorials"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b3431e1d-ea0a-4dc6-87e2-f99deb661474
id: 052ae75c-c2ae-4ea5-b50a-b6341aa84b25
encoding: FLOAT32
metadata:
{"source": "contributing.mdx", "name": "contributing.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "37a4fb6d-b8fd-4970-8dce-791015cfe8b2", "start_index": 1686, "hash": "3fe035e20ccf6b91486af2cc96be3c25691de6519a0f1bb1a60a86fb49ec1a5f", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Thank you for contributing! \ud83d\ude80\n\n### \ud83d\udcda Documentation & Tutorials\n\nHelp us make Open WebUI more accessible by improving documentation, writing tutorials, or creating guides on setting up and optimizing the web UI.\n\n### \ud83c\udf10 Translations and Internationalization\n\nHelp us make Open WebUI available to a wider audience. In this section, we'll guide you through the process of adding new translations to the project.\n\nWe use JSON files to store translations. You can find the existing translation files in the `src/lib/i18n/locales` directory. Each directory corresponds to a specific language, for example, `en-US` for English (US), `fr-FR` for French (France) and so on. You can refer to [ISO 639 Language Codes](http://www.lingoes.net/en/translator/langcode.htm) to find the appropriate code for a specific language.\n\nTo add a new language:"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b3431e1d-ea0a-4dc6-87e2-f99deb661474
id: 94c7745f-9851-4ad5-a443-efb4630bb40c
encoding: FLOAT32
metadata:
{"source": "contributing.mdx", "name": "contributing.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "37a4fb6d-b8fd-4970-8dce-791015cfe8b2", "start_index": 2498, "hash": "3fe035e20ccf6b91486af2cc96be3c25691de6519a0f1bb1a60a86fb49ec1a5f", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "To add a new language:\n\n- Create a new directory in the `src/lib/i18n/locales` path with the appropriate language code as its name. For instance, if you're adding translations for Spanish (Spain), create a new directory named `es-ES`.\n- Copy the American English translation file(s) (from `en-US` directory in `src/lib/i18n/locale`) to this new directory and update the string values in JSON format according to your language. Make sure to preserve the structure of the JSON object.\n- Add the language code and its respective title to languages file at `src/lib/i18n/locales/languages.json`.\n\n### \ud83e\udd14 Questions & Feedback\n\nGot questions or feedback? Join our [Discord community](https://discord.gg/5rJgQTnV4s) or open an issue. We're here to help!\n\n### \ud83d\udea8 Reporting Issues"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b3431e1d-ea0a-4dc6-87e2-f99deb661474
id: e455c40f-f70a-4a52-bc84-78e498755cd5
encoding: FLOAT32
metadata:
{"source": "contributing.mdx", "name": "contributing.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "37a4fb6d-b8fd-4970-8dce-791015cfe8b2", "start_index": 3245, "hash": "3fe035e20ccf6b91486af2cc96be3c25691de6519a0f1bb1a60a86fb49ec1a5f", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### \ud83d\udea8 Reporting Issues\n\nNoticed something off? Have an idea? Check our [Issues tab](https://github.com/open-webui/open-webui/issues) to see if it's already been reported or suggested. If not, feel free to open a new issue. When reporting an issue, please follow our issue templates. These templates are designed to ensure that all necessary details are provided from the start, enabling us to address your concerns more efficiently.\n\n:::important\n\n- **Template Compliance:** Please be aware that failure to follow the provided issue template, or not providing the requested information at all, will likely result in your issue being closed without further consideration. This approach is critical for maintaining the manageability and integrity of issue tracking."}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b3431e1d-ea0a-4dc6-87e2-f99deb661474
id: fd40869b-b18f-4d19-bc37-2fa62c348630
encoding: FLOAT32
metadata:
{"source": "contributing.mdx", "name": "contributing.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "37a4fb6d-b8fd-4970-8dce-791015cfe8b2", "start_index": 4010, "hash": "3fe035e20ccf6b91486af2cc96be3c25691de6519a0f1bb1a60a86fb49ec1a5f", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- **Detail is Key:** To ensure your issue is understood and can be effectively addressed, it's imperative to include comprehensive details. Descriptions should be clear, including steps to reproduce, expected outcomes, and actual results. Lack of sufficient detail may hinder our ability to resolve your issue.\n\n:::\n\n### \ud83e\udded Scope of Support\n\nWe've noticed an uptick in issues not directly related to Open WebUI but rather to the environment it's run in, especially Docker setups. While we strive to support Docker deployment, understanding Docker fundamentals is crucial for a smooth experience.\n\n- **Docker Deployment Support**: Open WebUI supports Docker deployment. Familiarity with Docker is assumed. For Docker basics, please refer to the [official Docker documentation](https://docs.docker.com/get-started/overview/)."}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b3431e1d-ea0a-4dc6-87e2-f99deb661474
id: 12eab4ef-a399-453d-a50f-b37c3770ab7d
encoding: FLOAT32
metadata:
{"source": "contributing.mdx", "name": "contributing.mdx", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "37a4fb6d-b8fd-4970-8dce-791015cfe8b2", "start_index": 4834, "hash": "3fe035e20ccf6b91486af2cc96be3c25691de6519a0f1bb1a60a86fb49ec1a5f", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- **Advanced Configurations**: Setting up reverse proxies for HTTPS and managing Docker deployments requires foundational knowledge. There are numerous online resources available to learn these skills. Ensuring you have this knowledge will greatly enhance your experience with Open WebUI and similar projects.\n\n## \ud83d\ude4f Thank You!\n\nYour contributions, big or small, make a significant impact on Open WebUI. We're excited to see what you bring to the project!\n\nTogether, let's create an even more powerful tool for the community. \ud83c\udf1f"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 1e4e57ad-11f6-42b3-8541-6bddd0dcced0
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "37a4fb6d-b8fd-4970-8dce-791015cfe8b2", "hash": "3fe035e20ccf6b91486af2cc96be3c25691de6519a0f1bb1a60a86fb49ec1a5f", "name": "contributing.mdx", "source": "contributing.mdx", "start_index": 0, "chroma:document": "---\nsidebar_position: 1600\ntitle: \"\ud83e\udd1d Contributing\"\n---\n\nimport { TopBanners } from \"@site/src/components/TopBanners\";\n\n<TopBanners />\n\n\ud83d\ude80 **Welcome, Contributors!** \ud83d\ude80\n\nYour interest in contributing to Open WebUI is greatly appreciated. This document is here to guide you through the process, ensuring your contributions enhance the project effectively. Let's make Open WebUI even better, together!\n\n## \ud83d\udca1 Contributing\n\nLooking to contribute? Great! Here's how you can help:\n\n### \ud83c\udf1f Code Contribution Guidelines\n\nWe welcome pull requests. Before submitting one, please:\n\n1. Open a discussion regarding your ideas [here](https://github.com/open-webui/open-webui/discussions/new/choose).\n2. Follow the project's coding standards and include tests for new features.\n3. Update documentation as necessary.\n4. Write clear, descriptive commit messages.\n\n### \ud83d\udee0 Code PR Best Practices:"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: d7a6c2f6-9e39-444a-af02-c11954eca48c
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "37a4fb6d-b8fd-4970-8dce-791015cfe8b2", "hash": "3fe035e20ccf6b91486af2cc96be3c25691de6519a0f1bb1a60a86fb49ec1a5f", "name": "contributing.mdx", "source": "contributing.mdx", "start_index": 0, "chroma:document": "### \ud83d\udee0 Code PR Best Practices:\n\n1. **Atomic PRs:** Make sure your PRs are small, focused, and deal with a single objective or task. This helps in easier code review and limits the chances of introducing unrelated issues. If the scope of changes grows too large, consider breaking them into smaller, logically independent PRs.\n2. **Follow Existing Code Convention:** Ensure your code aligns with the existing coding standards and practices of the project.\n3. **Avoid Additional External Dependencies:** Do not include additional external dependencies without prior discussion.\n4. **Framework Agnostic Approach:** We aim to stay framework agnostic. Implement functionalities on our own whenever possible rather than relying on external frameworks or libraries. If you have doubts or suggestions regarding this approach, feel free to discuss it.\n\nThank you for contributing! \ud83d\ude80\n\n### \ud83d\udcda Documentation & Tutorials"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 9504658e-9b2c-4f33-bc51-fa5b8cb8792e
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "37a4fb6d-b8fd-4970-8dce-791015cfe8b2", "hash": "3fe035e20ccf6b91486af2cc96be3c25691de6519a0f1bb1a60a86fb49ec1a5f", "name": "contributing.mdx", "source": "contributing.mdx", "start_index": 0, "chroma:document": "Thank you for contributing! \ud83d\ude80\n\n### \ud83d\udcda Documentation & Tutorials\n\nHelp us make Open WebUI more accessible by improving documentation, writing tutorials, or creating guides on setting up and optimizing the web UI.\n\n### \ud83c\udf10 Translations and Internationalization\n\nHelp us make Open WebUI available to a wider audience. In this section, we'll guide you through the process of adding new translations to the project.\n\nWe use JSON files to store translations. You can find the existing translation files in the `src/lib/i18n/locales` directory. Each directory corresponds to a specific language, for example, `en-US` for English (US), `fr-FR` for French (France) and so on. You can refer to [ISO 639 Language Codes](http://www.lingoes.net/en/translator/langcode.htm) to find the appropriate code for a specific language.\n\nTo add a new language:"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 19b7da42-dc03-43fe-baec-36cf608b6c21
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "37a4fb6d-b8fd-4970-8dce-791015cfe8b2", "hash": "3fe035e20ccf6b91486af2cc96be3c25691de6519a0f1bb1a60a86fb49ec1a5f", "name": "contributing.mdx", "source": "contributing.mdx", "start_index": 0, "chroma:document": "To add a new language:\n\n- Create a new directory in the `src/lib/i18n/locales` path with the appropriate language code as its name. For instance, if you're adding translations for Spanish (Spain), create a new directory named `es-ES`.\n- Copy the American English translation file(s) (from `en-US` directory in `src/lib/i18n/locale`) to this new directory and update the string values in JSON format according to your language. Make sure to preserve the structure of the JSON object.\n- Add the language code and its respective title to languages file at `src/lib/i18n/locales/languages.json`.\n\n### \ud83e\udd14 Questions & Feedback\n\nGot questions or feedback? Join our [Discord community](https://discord.gg/5rJgQTnV4s) or open an issue. We're here to help!\n\n### \ud83d\udea8 Reporting Issues"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: e8da4e0f-2c30-4296-91e5-2922eb406d7e
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "37a4fb6d-b8fd-4970-8dce-791015cfe8b2", "hash": "3fe035e20ccf6b91486af2cc96be3c25691de6519a0f1bb1a60a86fb49ec1a5f", "name": "contributing.mdx", "source": "contributing.mdx", "start_index": 0, "chroma:document": "### \ud83d\udea8 Reporting Issues\n\nNoticed something off? Have an idea? Check our [Issues tab](https://github.com/open-webui/open-webui/issues) to see if it's already been reported or suggested. If not, feel free to open a new issue. When reporting an issue, please follow our issue templates. These templates are designed to ensure that all necessary details are provided from the start, enabling us to address your concerns more efficiently.\n\n:::important\n\n- **Template Compliance:** Please be aware that failure to follow the provided issue template, or not providing the requested information at all, will likely result in your issue being closed without further consideration. This approach is critical for maintaining the manageability and integrity of issue tracking."}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 78376278-b669-4fc4-a25d-e481a72c4e8f
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "37a4fb6d-b8fd-4970-8dce-791015cfe8b2", "hash": "3fe035e20ccf6b91486af2cc96be3c25691de6519a0f1bb1a60a86fb49ec1a5f", "name": "contributing.mdx", "source": "contributing.mdx", "start_index": 0, "chroma:document": "- **Detail is Key:** To ensure your issue is understood and can be effectively addressed, it's imperative to include comprehensive details. Descriptions should be clear, including steps to reproduce, expected outcomes, and actual results. Lack of sufficient detail may hinder our ability to resolve your issue.\n\n:::\n\n### \ud83e\udded Scope of Support\n\nWe've noticed an uptick in issues not directly related to Open WebUI but rather to the environment it's run in, especially Docker setups. While we strive to support Docker deployment, understanding Docker fundamentals is crucial for a smooth experience.\n\n- **Docker Deployment Support**: Open WebUI supports Docker deployment. Familiarity with Docker is assumed. For Docker basics, please refer to the [official Docker documentation](https://docs.docker.com/get-started/overview/)."}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 130eaa00-ade9-44dd-9ae3-c7c4fd636eb4
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "37a4fb6d-b8fd-4970-8dce-791015cfe8b2", "hash": "3fe035e20ccf6b91486af2cc96be3c25691de6519a0f1bb1a60a86fb49ec1a5f", "name": "contributing.mdx", "source": "contributing.mdx", "start_index": 0, "chroma:document": "- **Advanced Configurations**: Setting up reverse proxies for HTTPS and managing Docker deployments requires foundational knowledge. There are numerous online resources available to learn these skills. Ensuring you have this knowledge will greatly enhance your experience with Open WebUI and similar projects.\n\n## \ud83d\ude4f Thank You!\n\nYour contributions, big or small, make a significant impact on Open WebUI. We're excited to see what you bring to the project!\n\nTogether, let's create an even more powerful tool for the community. \ud83c\udf1f"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/efe5c9ae-b73e-4011-b42f-21c353475cf6
id: 07478ab5-67ff-4aa0-ad9f-a6d99087545d
encoding: FLOAT32
metadata:
{"source": "contributing-tutorial.md", "name": "contributing-tutorial.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "313f5e1e-6c5e-42d3-b2a9-9a03d65ab835", "start_index": 0, "hash": "24a4bad48dedfe6e1605be0d807d3ec4f1e8e82e2bf4b01dda334a3349f2a26b", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 2\ntitle: \"\ud83e\udd1d Contributing Tutorials\"\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# Contributing Tutorials\n\nWe appreciate your interest in contributing tutorials to the Open WebUI documentation. Follow the steps below to set up your environment and submit your tutorial.\n\n## Steps\n\n1. **Fork the `openwebui/docs` GitHub Repository**\n\n   - Navigate to the [Open WebUI Docs Repository](https://github.com/open-webui/docs) on GitHub.\n   - Click the **Fork** button at the top-right corner to create a copy under your GitHub account.\n\n2. **Enable GitHub Actions**\n\n   - In your forked repository, navigate to the **Actions** tab.\n   - If prompted, enable GitHub Actions by following the on-screen instructions.\n\n3. **Enable GitHub Pages**"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/efe5c9ae-b73e-4011-b42f-21c353475cf6
id: 976ead1b-0b44-4caa-a4dd-c5c18c5b06f1
encoding: FLOAT32
metadata:
{"source": "contributing-tutorial.md", "name": "contributing-tutorial.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "313f5e1e-6c5e-42d3-b2a9-9a03d65ab835", "start_index": 940, "hash": "24a4bad48dedfe6e1605be0d807d3ec4f1e8e82e2bf4b01dda334a3349f2a26b", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "3. **Enable GitHub Pages**\n\n   - Go to **Settings** > **Pages** in your forked repository.\n   - Under **Source**, select the branch you want to deploy (e.g., `main`) and the folder (e.g.,`/docs`).\n   - Click **Save** to enable GitHub Pages.\n\n4. **Configure GitHub Environment Variables**\n\n   - In your forked repository, go to **Settings** > **Secrets and variables** > **Actions** > **Variables**.\n   - Add the following environment variables:\n     - `BASE_URL` set to `/docs` (or your chosen base URL for the fork).\n     - `SITE_URL` set to `https://<your-github-username>.github.io/`.\n\n### \ud83d\udcdd Updating the GitHub Pages Workflow and Config File\n\nIf you need to adjust deployment settings to fit your custom setup, here's what to do:\n\na. **Update `.github/workflows/gh-pages.yml`**\n\n- Add environment variables for `BASE_URL` and `SITE_URL` to the build step if necessary:"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/efe5c9ae-b73e-4011-b42f-21c353475cf6
id: 67ef19f8-28a8-4b26-adf5-2d08996908de
encoding: FLOAT32
metadata:
{"source": "contributing-tutorial.md", "name": "contributing-tutorial.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "313f5e1e-6c5e-42d3-b2a9-9a03d65ab835", "start_index": 1723, "hash": "24a4bad48dedfe6e1605be0d807d3ec4f1e8e82e2bf4b01dda334a3349f2a26b", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- Add environment variables for `BASE_URL` and `SITE_URL` to the build step if necessary:\n\n     ```yaml\n       - name: Build\n         env:\n           BASE_URL: ${{ vars.BASE_URL }}\n           SITE_URL: ${{ vars.SITE_URL }}\n         run: npm run build\n     ```\n\nb. **Modify `docusaurus.config.ts` to Use Environment Variables**\n\n- Update `docusaurus.config.ts` to use these environment variables, with default values for local or direct deployment:\n\n     ```typescript\n     const config: Config = {\n       title: \"Open WebUI\",\n       tagline: \"ChatGPT-Style WebUI for LLMs (Formerly Ollama WebUI)\",\n       favicon: \"img/favicon.png\",\n       url: process.env.SITE_URL || \"https://openwebui.com\",\n       baseUrl: process.env.BASE_URL || \"/\",\n       ...\n     };\n     ```\n\n- This setup ensures consistent deployment behavior for forks and custom setups.\n\n5. **Run the `gh-pages` GitHub Workflow**"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/efe5c9ae-b73e-4011-b42f-21c353475cf6
id: abcb7efa-de24-4fd1-8eb7-49b3a526eeab
encoding: FLOAT32
metadata:
{"source": "contributing-tutorial.md", "name": "contributing-tutorial.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "313f5e1e-6c5e-42d3-b2a9-9a03d65ab835", "start_index": 2573, "hash": "24a4bad48dedfe6e1605be0d807d3ec4f1e8e82e2bf4b01dda334a3349f2a26b", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "5. **Run the `gh-pages` GitHub Workflow**\n\n   - In the **Actions** tab, locate the `gh-pages` workflow.\n   - Trigger the workflow manually if necessary, or it may run automatically based on your setup.\n\n6. **Browse to Your Forked Copy**\n\n   - Visit `https://<your-github-username>.github.io/<BASE_URL>` to view your forked documentation.\n\n7. **Draft Your Changes**\n\n   - In your forked repository, navigate to the appropriate directory (e.g., `docs/tutorial/`).\n   - Create a new markdown file for your tutorial or edit existing ones.\n   - Ensure that your tutorial includes the unsupported warning banner.\n\n8. **Submit a Pull Request**\n\n   - Once your tutorial is ready, commit your changes to your forked repository.\n   - Navigate to the original `open-webui/docs` repository.\n   - Click **New Pull Request** and select your fork and branch as the source.\n   - Provide a descriptive title and description for your PR.\n   - Submit the pull request for review.\n\n## Important"}


created_at: 2024-12-28 04:06:16
topic: persistent://default/default/efe5c9ae-b73e-4011-b42f-21c353475cf6
id: dff76d1a-c1ee-4be7-9b2e-0b8a0f9b53d4
encoding: FLOAT32
metadata:
{"source": "contributing-tutorial.md", "name": "contributing-tutorial.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "313f5e1e-6c5e-42d3-b2a9-9a03d65ab835", "start_index": 3535, "hash": "24a4bad48dedfe6e1605be0d807d3ec4f1e8e82e2bf4b01dda334a3349f2a26b", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## Important\n\nCommunity-contributed tutorials must include the the following:\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\n---\n\n:::tip How to Test Docusaurus Locally  \nYou can test your Docusaurus site locally with the following commands:\n\n```bash\nnpm install   # Install dependencies\nnpm run build # Build the site for production\n```\n\nThis will help you catch any issues before deploying\n:::\n\n---"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: b73c10ba-f5b7-4eb7-99e7-f737ae8097d0
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "313f5e1e-6c5e-42d3-b2a9-9a03d65ab835", "hash": "24a4bad48dedfe6e1605be0d807d3ec4f1e8e82e2bf4b01dda334a3349f2a26b", "name": "contributing-tutorial.md", "source": "contributing-tutorial.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 2\ntitle: \"\ud83e\udd1d Contributing Tutorials\"\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# Contributing Tutorials\n\nWe appreciate your interest in contributing tutorials to the Open WebUI documentation. Follow the steps below to set up your environment and submit your tutorial.\n\n## Steps\n\n1. **Fork the `openwebui/docs` GitHub Repository**\n\n   - Navigate to the [Open WebUI Docs Repository](https://github.com/open-webui/docs) on GitHub.\n   - Click the **Fork** button at the top-right corner to create a copy under your GitHub account.\n\n2. **Enable GitHub Actions**\n\n   - In your forked repository, navigate to the **Actions** tab.\n   - If prompted, enable GitHub Actions by following the on-screen instructions.\n\n3. **Enable GitHub Pages**"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 48c5f635-5512-4c0e-a0ab-7ab4bea93d5b
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "313f5e1e-6c5e-42d3-b2a9-9a03d65ab835", "hash": "24a4bad48dedfe6e1605be0d807d3ec4f1e8e82e2bf4b01dda334a3349f2a26b", "name": "contributing-tutorial.md", "source": "contributing-tutorial.md", "start_index": 0, "chroma:document": "3. **Enable GitHub Pages**\n\n   - Go to **Settings** > **Pages** in your forked repository.\n   - Under **Source**, select the branch you want to deploy (e.g., `main`) and the folder (e.g.,`/docs`).\n   - Click **Save** to enable GitHub Pages.\n\n4. **Configure GitHub Environment Variables**\n\n   - In your forked repository, go to **Settings** > **Secrets and variables** > **Actions** > **Variables**.\n   - Add the following environment variables:\n     - `BASE_URL` set to `/docs` (or your chosen base URL for the fork).\n     - `SITE_URL` set to `https://<your-github-username>.github.io/`.\n\n### \ud83d\udcdd Updating the GitHub Pages Workflow and Config File\n\nIf you need to adjust deployment settings to fit your custom setup, here's what to do:\n\na. **Update `.github/workflows/gh-pages.yml`**\n\n- Add environment variables for `BASE_URL` and `SITE_URL` to the build step if necessary:"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 34a34757-52d3-4eba-b104-8336ad55191e
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "313f5e1e-6c5e-42d3-b2a9-9a03d65ab835", "hash": "24a4bad48dedfe6e1605be0d807d3ec4f1e8e82e2bf4b01dda334a3349f2a26b", "name": "contributing-tutorial.md", "source": "contributing-tutorial.md", "start_index": 0, "chroma:document": "- Add environment variables for `BASE_URL` and `SITE_URL` to the build step if necessary:\n\n     ```yaml\n       - name: Build\n         env:\n           BASE_URL: ${{ vars.BASE_URL }}\n           SITE_URL: ${{ vars.SITE_URL }}\n         run: npm run build\n     ```\n\nb. **Modify `docusaurus.config.ts` to Use Environment Variables**\n\n- Update `docusaurus.config.ts` to use these environment variables, with default values for local or direct deployment:\n\n     ```typescript\n     const config: Config = {\n       title: \"Open WebUI\",\n       tagline: \"ChatGPT-Style WebUI for LLMs (Formerly Ollama WebUI)\",\n       favicon: \"img/favicon.png\",\n       url: process.env.SITE_URL || \"https://openwebui.com\",\n       baseUrl: process.env.BASE_URL || \"/\",\n       ...\n     };\n     ```\n\n- This setup ensures consistent deployment behavior for forks and custom setups.\n\n5. **Run the `gh-pages` GitHub Workflow**"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 1e587d57-614c-43d7-8191-4fa58481fc67
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "313f5e1e-6c5e-42d3-b2a9-9a03d65ab835", "hash": "24a4bad48dedfe6e1605be0d807d3ec4f1e8e82e2bf4b01dda334a3349f2a26b", "name": "contributing-tutorial.md", "source": "contributing-tutorial.md", "start_index": 0, "chroma:document": "5. **Run the `gh-pages` GitHub Workflow**\n\n   - In the **Actions** tab, locate the `gh-pages` workflow.\n   - Trigger the workflow manually if necessary, or it may run automatically based on your setup.\n\n6. **Browse to Your Forked Copy**\n\n   - Visit `https://<your-github-username>.github.io/<BASE_URL>` to view your forked documentation.\n\n7. **Draft Your Changes**\n\n   - In your forked repository, navigate to the appropriate directory (e.g., `docs/tutorial/`).\n   - Create a new markdown file for your tutorial or edit existing ones.\n   - Ensure that your tutorial includes the unsupported warning banner.\n\n8. **Submit a Pull Request**\n\n   - Once your tutorial is ready, commit your changes to your forked repository.\n   - Navigate to the original `open-webui/docs` repository.\n   - Click **New Pull Request** and select your fork and branch as the source.\n   - Provide a descriptive title and description for your PR.\n   - Submit the pull request for review.\n\n## Important"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: f1f5cf54-f467-4578-9d85-ea6f1d736834
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "313f5e1e-6c5e-42d3-b2a9-9a03d65ab835", "hash": "24a4bad48dedfe6e1605be0d807d3ec4f1e8e82e2bf4b01dda334a3349f2a26b", "name": "contributing-tutorial.md", "source": "contributing-tutorial.md", "start_index": 0, "chroma:document": "## Important\n\nCommunity-contributed tutorials must include the the following:\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\n---\n\n:::tip How to Test Docusaurus Locally  \nYou can test your Docusaurus site locally with the following commands:\n\n```bash\nnpm install   # Install dependencies\nnpm run build # Build the site for production\n```\n\nThis will help you catch any issues before deploying\n:::\n\n---"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/db729095-6126-4513-a1dd-7894ddff9fb3
id: abacbea2-59ca-4522-96e3-6e54e4d3e8bc
encoding: FLOAT32
metadata:
{"source": "controls.md", "name": "controls.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "9d24573d-f75c-4ea8-9934-72892e077150", "start_index": 0, "hash": "fa069aa2b095ed193785eea2ccecd6e0ec84eb0e0099aaa4f29d6b929ced317f", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 3\ntitle: \"\ud83c\udf9b\ufe0f Chat Controls\"\n---\n\nCOMING SOON!"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: be09ff35-8233-4508-afef-f904efe6483b
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "9d24573d-f75c-4ea8-9934-72892e077150", "hash": "fa069aa2b095ed193785eea2ccecd6e0ec84eb0e0099aaa4f29d6b929ced317f", "name": "controls.md", "source": "controls.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 3\ntitle: \"\ud83c\udf9b\ufe0f Chat Controls\"\n---\n\nCOMING SOON!"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/316b6a7f-f953-4a3b-abcc-722a532903f1
id: fa834706-1928-40f3-89d9-18d63f88c93e
encoding: FLOAT32
metadata:
{"source": "conversation-organization.md", "name": "conversation-organization.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "67f6242e-700a-4f84-90d4-fc029b199844", "start_index": 0, "hash": "29115351f0d25251b0bd2bd41ab64b977b45abb88730ac057c9637dade1e1126", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 4\ntitle: \"\ud83d\uddc2\ufe0f Organizing Conversations\"\n---\n\nOpen WebUI provides powerful organization features that help users manage their conversations. You can easily categorize and tag conversations, making it easier to find and retrieve them later. The two primary ways to organize conversations are through **Folders** and **Tags**.\n\n## Organizing Conversations with Folders\n\nFolders allow you to group related conversations together for quick access and better organization.\n\n- **Creating a Folder**: You can create a new folder to store specific conversations. This is useful if you want to keep conversations of a similar topic or purpose together.\n- **Moving Conversations into Folders**: Conversations can be moved into folders by dragging and dropping them. This allows you to structure your workspace in a way that suits your workflow.\n\n![Folder Demo](/img/folder-demo.gif)\n\n### Example Use Case"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/316b6a7f-f953-4a3b-abcc-722a532903f1
id: aa4a2820-9ea0-4bda-9177-0d9529aa783e
encoding: FLOAT32
metadata:
{"source": "conversation-organization.md", "name": "conversation-organization.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "67f6242e-700a-4f84-90d4-fc029b199844", "start_index": 856, "hash": "29115351f0d25251b0bd2bd41ab64b977b45abb88730ac057c9637dade1e1126", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "![Folder Demo](/img/folder-demo.gif)\n\n### Example Use Case\n\n:::tip **Organizing by Project**\nIf you are managing multiple projects, you can create separate folders for each project and move relevant conversations into these folders. This helps keep all project-related discussions in one place.\n:::\n\n## Tagging Conversations\n\nTags provide an additional layer of organization by allowing you to label conversations with keywords or phrases.\n\n- **Adding Tags to Conversations**: Tags can be applied to conversations based on their content or purpose. Tags are flexible and can be added or removed as needed.\n![Tag Demo](/img/tag-demo.gif)\n- **Using Tags for Searching**: Tags make it easy to locate specific conversations by using the search feature. You can filter conversations by tags to quickly find those related to specific topics.\n\n### Example Use Case"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/316b6a7f-f953-4a3b-abcc-722a532903f1
id: ce233b8c-3ccb-47df-a853-52fca61fb69b
encoding: FLOAT32
metadata:
{"source": "conversation-organization.md", "name": "conversation-organization.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "67f6242e-700a-4f84-90d4-fc029b199844", "start_index": 1693, "hash": "29115351f0d25251b0bd2bd41ab64b977b45abb88730ac057c9637dade1e1126", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Example Use Case\n\n:::tip **Tagging by Topic**\nIf you frequently discuss certain topics, such as \"marketing\" or \"development,\" you can tag conversations with these terms. Later, when you search for a specific tag, all relevant conversations will be quickly accessible.\n:::"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: df2bcc24-c862-431f-b47a-01224482a89c
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "67f6242e-700a-4f84-90d4-fc029b199844", "hash": "29115351f0d25251b0bd2bd41ab64b977b45abb88730ac057c9637dade1e1126", "name": "conversation-organization.md", "source": "conversation-organization.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 4\ntitle: \"\ud83d\uddc2\ufe0f Organizing Conversations\"\n---\n\nOpen WebUI provides powerful organization features that help users manage their conversations. You can easily categorize and tag conversations, making it easier to find and retrieve them later. The two primary ways to organize conversations are through **Folders** and **Tags**.\n\n## Organizing Conversations with Folders\n\nFolders allow you to group related conversations together for quick access and better organization.\n\n- **Creating a Folder**: You can create a new folder to store specific conversations. This is useful if you want to keep conversations of a similar topic or purpose together.\n- **Moving Conversations into Folders**: Conversations can be moved into folders by dragging and dropping them. This allows you to structure your workspace in a way that suits your workflow.\n\n![Folder Demo](/img/folder-demo.gif)\n\n### Example Use Case"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 272bb412-b00a-4470-9d28-073fd3cff97d
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "67f6242e-700a-4f84-90d4-fc029b199844", "hash": "29115351f0d25251b0bd2bd41ab64b977b45abb88730ac057c9637dade1e1126", "name": "conversation-organization.md", "source": "conversation-organization.md", "start_index": 0, "chroma:document": "![Folder Demo](/img/folder-demo.gif)\n\n### Example Use Case\n\n:::tip **Organizing by Project**\nIf you are managing multiple projects, you can create separate folders for each project and move relevant conversations into these folders. This helps keep all project-related discussions in one place.\n:::\n\n## Tagging Conversations\n\nTags provide an additional layer of organization by allowing you to label conversations with keywords or phrases.\n\n- **Adding Tags to Conversations**: Tags can be applied to conversations based on their content or purpose. Tags are flexible and can be added or removed as needed.\n![Tag Demo](/img/tag-demo.gif)\n- **Using Tags for Searching**: Tags make it easy to locate specific conversations by using the search feature. You can filter conversations by tags to quickly find those related to specific topics.\n\n### Example Use Case"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: aa8ecd40-2612-47b4-a18d-df22719f15f4
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "67f6242e-700a-4f84-90d4-fc029b199844", "hash": "29115351f0d25251b0bd2bd41ab64b977b45abb88730ac057c9637dade1e1126", "name": "conversation-organization.md", "source": "conversation-organization.md", "start_index": 0, "chroma:document": "### Example Use Case\n\n:::tip **Tagging by Topic**\nIf you frequently discuss certain topics, such as \"marketing\" or \"development,\" you can tag conversations with these terms. Later, when you search for a specific tag, all relevant conversations will be quickly accessible.\n:::"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/efdfdfaf-d0fc-41d8-bab1-58caffcbe78e
id: d258f9ef-827d-4584-bc39-5c5bf36b5d0c
encoding: FLOAT32
metadata:
{"source": "custom-ca.md", "name": "custom-ca.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "caf01979-1625-474a-8861-2abdde0df964", "start_index": 0, "hash": "6beb94fe263ffd72634530c2eb9b70607fea7e50d8390f186253408cb28a3dc7", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 14\ntitle: \"\ud83d\udec3 Setting up with Custom CA Store\"\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\nIf you get an `[SSL: CERTIFICATE_VERIFY_FAILED]` error when trying to run OI, most likely the issue is that you are on a network which intercepts HTTPS traffic (e.g. a corporate network).\n\nTo fix this, you will need to add the new cert into OI's truststore.\n\n**For pre-built Docker image**:"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/efdfdfaf-d0fc-41d8-bab1-58caffcbe78e
id: 3b590a69-465b-46cb-8f24-f818238dd3ff
encoding: FLOAT32
metadata:
{"source": "custom-ca.md", "name": "custom-ca.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "caf01979-1625-474a-8861-2abdde0df964", "start_index": 583, "hash": "6beb94fe263ffd72634530c2eb9b70607fea7e50d8390f186253408cb28a3dc7", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "**For pre-built Docker image**:\n\n1. Mount the certificiate store from your host machine into the container by passing `--volume=/etc/ssl/certs/ca-certificiate.crt:/etc/ssl/certs/ca-certificiates.crt:ro` as a command-line option to `docker run`\n2. Force python to use the system truststore by setting `REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt` (see https://docs.docker.com/reference/cli/docker/container/run/#env)\n\nIf the environment variable `REQUESTS_CA_BUNDLE` does not work try to set `SSL_CERT_FILE` (as per the [httpx documentation](https://www.python-httpx.org/environment_variables/#ssl_cert_file)) instead with the same value.\n\nExample `compose.yaml` from [@KizzyCode](https://github.com/open-webui/open-webui/issues/1398#issuecomment-2258463210):"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/efdfdfaf-d0fc-41d8-bab1-58caffcbe78e
id: 260b1b76-de48-4e9f-bf87-0cc52b89ab2b
encoding: FLOAT32
metadata:
{"source": "custom-ca.md", "name": "custom-ca.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "caf01979-1625-474a-8861-2abdde0df964", "start_index": 1353, "hash": "6beb94fe263ffd72634530c2eb9b70607fea7e50d8390f186253408cb28a3dc7", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "```yaml\nservices:\n  openwebui:\n    image: ghcr.io/open-webui/open-webui:main\n    volumes:\n      - /var/containers/openwebui:/app/backend/data:rw\n      - /etc/containers/openwebui/compusrv.crt:/etc/ssl/certs/ca-certificates.crt:ro\n      - /etc/timezone:/etc/timezone:ro\n      - /etc/localtime:/etc/localtime:ro\n    environment:\n      - WEBUI_NAME=compusrv\n      - ENABLE_SIGNUP=False\n      - ENABLE_COMMUNITY_SHARING=False\n      - WEBUI_SESSION_COOKIE_SAME_SITE=strict\n      - WEBUI_SESSION_COOKIE_SECURE=True\n      - ENABLE_OLLAMA_API=False\n      - REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt\n```\n\nThe `ro` flag mounts the CA store as read-only and prevents accidental changes to your host CA store\n**For local development**:"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/efdfdfaf-d0fc-41d8-bab1-58caffcbe78e
id: be6f7735-1197-4866-aa9d-674f49094777
encoding: FLOAT32
metadata:
{"source": "custom-ca.md", "name": "custom-ca.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "caf01979-1625-474a-8861-2abdde0df964", "start_index": 2090, "hash": "6beb94fe263ffd72634530c2eb9b70607fea7e50d8390f186253408cb28a3dc7", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "You can also add the certificates in the build process by modifying the `Dockerfile`. This is useful if you want to make changes to the UI, for instance.\nSince the build happens in [multiple stages](https://docs.docker.com/build/building/multi-stage/), you have to add the cert into both\n\n1. Frontend (`build` stage):\n\n```dockerfile\nCOPY package.json package-lock.json <YourRootCert>.crt ./\nENV NODE_EXTRA_CA_CERTS=/app/<YourRootCert>.crt\nRUN npm ci\n```\n\n2. Backend (`base` stage):\n\n```dockerfile\nCOPY <CorporateSSL.crt> /usr/local/share/ca-certificates/\nRUN update-ca-certificates\nENV PIP_CERT=/etc/ssl/certs/ca-certificates.crt \\\n    REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt\n```"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 404c4208-1460-4f4c-9e4d-91c507a6dfb7
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "caf01979-1625-474a-8861-2abdde0df964", "hash": "6beb94fe263ffd72634530c2eb9b70607fea7e50d8390f186253408cb28a3dc7", "name": "custom-ca.md", "source": "custom-ca.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 14\ntitle: \"\ud83d\udec3 Setting up with Custom CA Store\"\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\nIf you get an `[SSL: CERTIFICATE_VERIFY_FAILED]` error when trying to run OI, most likely the issue is that you are on a network which intercepts HTTPS traffic (e.g. a corporate network).\n\nTo fix this, you will need to add the new cert into OI's truststore.\n\n**For pre-built Docker image**:"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: afb1e15a-2eef-418a-a5e2-1794a33e36d1
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "caf01979-1625-474a-8861-2abdde0df964", "hash": "6beb94fe263ffd72634530c2eb9b70607fea7e50d8390f186253408cb28a3dc7", "name": "custom-ca.md", "source": "custom-ca.md", "start_index": 0, "chroma:document": "**For pre-built Docker image**:\n\n1. Mount the certificiate store from your host machine into the container by passing `--volume=/etc/ssl/certs/ca-certificiate.crt:/etc/ssl/certs/ca-certificiates.crt:ro` as a command-line option to `docker run`\n2. Force python to use the system truststore by setting `REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt` (see https://docs.docker.com/reference/cli/docker/container/run/#env)\n\nIf the environment variable `REQUESTS_CA_BUNDLE` does not work try to set `SSL_CERT_FILE` (as per the [httpx documentation](https://www.python-httpx.org/environment_variables/#ssl_cert_file)) instead with the same value.\n\nExample `compose.yaml` from [@KizzyCode](https://github.com/open-webui/open-webui/issues/1398#issuecomment-2258463210):"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 4ec81674-528f-4b9d-a76d-5b6c692e9d67
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "caf01979-1625-474a-8861-2abdde0df964", "hash": "6beb94fe263ffd72634530c2eb9b70607fea7e50d8390f186253408cb28a3dc7", "name": "custom-ca.md", "source": "custom-ca.md", "start_index": 0, "chroma:document": "```yaml\nservices:\n  openwebui:\n    image: ghcr.io/open-webui/open-webui:main\n    volumes:\n      - /var/containers/openwebui:/app/backend/data:rw\n      - /etc/containers/openwebui/compusrv.crt:/etc/ssl/certs/ca-certificates.crt:ro\n      - /etc/timezone:/etc/timezone:ro\n      - /etc/localtime:/etc/localtime:ro\n    environment:\n      - WEBUI_NAME=compusrv\n      - ENABLE_SIGNUP=False\n      - ENABLE_COMMUNITY_SHARING=False\n      - WEBUI_SESSION_COOKIE_SAME_SITE=strict\n      - WEBUI_SESSION_COOKIE_SECURE=True\n      - ENABLE_OLLAMA_API=False\n      - REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt\n```\n\nThe `ro` flag mounts the CA store as read-only and prevents accidental changes to your host CA store\n**For local development**:"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 3a49ef69-b72c-45f6-ad91-d9f881ea00e9
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "caf01979-1625-474a-8861-2abdde0df964", "hash": "6beb94fe263ffd72634530c2eb9b70607fea7e50d8390f186253408cb28a3dc7", "name": "custom-ca.md", "source": "custom-ca.md", "start_index": 0, "chroma:document": "You can also add the certificates in the build process by modifying the `Dockerfile`. This is useful if you want to make changes to the UI, for instance.\nSince the build happens in [multiple stages](https://docs.docker.com/build/building/multi-stage/), you have to add the cert into both\n\n1. Frontend (`build` stage):\n\n```dockerfile\nCOPY package.json package-lock.json <YourRootCert>.crt ./\nENV NODE_EXTRA_CA_CERTS=/app/<YourRootCert>.crt\nRUN npm ci\n```\n\n2. Backend (`base` stage):\n\n```dockerfile\nCOPY <CorporateSSL.crt> /usr/local/share/ca-certificates/\nRUN update-ca-certificates\nENV PIP_CERT=/etc/ssl/certs/ca-certificates.crt \\\n    REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt\n```"}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/0381df18-14c9-433d-b6c7-f8dbbce7c52b
id: 5ea5fd84-6362-4b02-af76-a7e61795bcee
encoding: FLOAT32
metadata:
{"source": "DataStorage.md", "name": "DataStorage.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "3a20d334-5a26-4fec-ade8-9516fdc7f853", "start_index": 1, "hash": "7255aae6c0f9fd9c3c4c95b8ee50ef42e575d4d3f20a140ce73b86c3ecb30e51", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## Data Storage and Bind Mounts\n\nThis project uses [Docker named volumes](https://docs.docker.com/storage/volumes/) to **persist data**. If needed, replace the volume name with a host directory:\n\n**Example**:\n\n```bash\n-v /path/to/folder:/app/backend/data\n```\n\nEnsure the host folder has the correct permissions."}


created_at: 2024-12-28 04:06:17
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 703903bc-274b-4bd0-81a1-edd0d56f95ad
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "3a20d334-5a26-4fec-ade8-9516fdc7f853", "hash": "7255aae6c0f9fd9c3c4c95b8ee50ef42e575d4d3f20a140ce73b86c3ecb30e51", "name": "DataStorage.md", "source": "DataStorage.md", "start_index": 0, "chroma:document": "## Data Storage and Bind Mounts\n\nThis project uses [Docker named volumes](https://docs.docker.com/storage/volumes/) to **persist data**. If needed, replace the volume name with a host directory:\n\n**Example**:\n\n```bash\n-v /path/to/folder:/app/backend/data\n```\n\nEnsure the host folder has the correct permissions."}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/4ab4467c-43d2-42af-836e-25523f566ff2
id: 6e17eac2-ae2d-4e9f-b6b3-30e0f72b4305
encoding: FLOAT32
metadata:
{"source": "default-perms.md", "name": "default-perms.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "90b998f7-0329-4d89-8743-e58af2c8a929", "start_index": 0, "hash": "7e172d1525a7e84ac0a1ed83677732fa3a4c8c5e8ffedca2c9a9df839895bb47", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 4\ntitle: \"\u2611\ufe0f Default Permissions\"\n---\n\nCOMING SOON!"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 8d31a103-65fb-4d10-aaa6-19fcec3c369c
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "90b998f7-0329-4d89-8743-e58af2c8a929", "hash": "7e172d1525a7e84ac0a1ed83677732fa3a4c8c5e8ffedca2c9a9df839895bb47", "name": "default-perms.md", "source": "default-perms.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 4\ntitle: \"\u2611\ufe0f Default Permissions\"\n---\n\nCOMING SOON!"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/02e345f2-7334-4b7f-a726-fa42c4b0423c
id: 9c0aab71-aa78-4bc8-a514-28fd3b46d8cb
encoding: FLOAT32
metadata:
{"source": "development.md", "name": "development.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "8b72cba4-12fe-4dcd-8fc4-3bc8c21bd112", "start_index": 0, "hash": "20e5420b99383be695c5fae76b7dafa4c094b2039493134493727011fb010bf0", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 5\ntitle: \"\ud83d\udee0\ufe0f Development Guide\"\n---\n\nimport Tabs from '@theme/Tabs';\nimport TabItem from '@theme/TabItem';\nimport { TopBanners } from \"@site/src/components/TopBanners\";\n\n<TopBanners />\n\n# \ud83d\udee0\ufe0f Development Setup Guide\n\nWelcome to the **Open WebUI Development Setup Guide!** Whether you're a novice or an experienced developer, this guide will help you set up a **local development environment** for both the frontend and backend components. Let's dive in! \ud83d\ude80\n\n## System Requirements\n\n- **Operating System**: Linux (or WSL on Windows) or macOS  \n- **Python Version**: Python 3.11+  \n- **Node.js Version**: 20.10+\n\n## Development Methods\n\n<Tabs groupId=\"dev-setup\">\n\n<TabItem value=\"local\" label=\"Local Setup\">\n\n### \ud83d\udc27 Local Development Setup\n\n1. **Clone the Repository**:\n\n   ```bash\n   git clone https://github.com/open-webui/open-webui.git\n   cd open-webui\n   ```\n\n2. **Frontend Setup**:\n   - Create a `.env` file:\n\n     ```bash\n     cp -RPp .env.example .env\n     ```"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/02e345f2-7334-4b7f-a726-fa42c4b0423c
id: 768142a4-034c-4cf3-ad86-ab2f46e43c6b
encoding: FLOAT32
metadata:
{"source": "development.md", "name": "development.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "8b72cba4-12fe-4dcd-8fc4-3bc8c21bd112", "start_index": 939, "hash": "20e5420b99383be695c5fae76b7dafa4c094b2039493134493727011fb010bf0", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "```bash\n     cp -RPp .env.example .env\n     ```\n\n   - Install dependencies:\n\n     ```bash\n     npm install\n     ```\n\n   - Start the frontend server:\n\n     ```bash\n     npm run dev\n     ```\n\n     \ud83c\udf10 Available at: [http://localhost:5173](http://localhost:5173).\n\n3. **Backend Setup**:\n   - Navigate to the backend:\n\n     ```bash\n     cd backend\n     ```\n\n   - Use **Conda** for environment setup:\n\n     ```bash\n     conda create --name open-webui python=3.11\n     conda activate open-webui\n     ```\n\n   - Install dependencies:\n\n     ```bash\n     pip install -r requirements.txt -U\n     ```\n\n   - Start the backend:\n\n     ```bash\n     sh dev.sh\n     ```\n\n     \ud83d\udcc4 API docs available at: [http://localhost:8080/docs](http://localhost:8080/docs).\n\n</TabItem>\n\n<TabItem value=\"docker\" label=\"Docker Setup\">\n\n### \ud83d\udc33 Docker-Based Development Setup\n\n1. **Create the Docker Compose File**:\n\n   ```yaml\n   name: open-webui-dev"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/02e345f2-7334-4b7f-a726-fa42c4b0423c
id: 23ff639b-98fd-4ed4-9bc3-55383c24d1c8
encoding: FLOAT32
metadata:
{"source": "development.md", "name": "development.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "8b72cba4-12fe-4dcd-8fc4-3bc8c21bd112", "start_index": 1776, "hash": "20e5420b99383be695c5fae76b7dafa4c094b2039493134493727011fb010bf0", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "1. **Create the Docker Compose File**:\n\n   ```yaml\n   name: open-webui-dev\n\n   services:\n     frontend:\n       build:\n         context: .\n         target: build\n       command: [\"npm\", \"run\", \"dev\"]\n       depends_on:\n         - backend\n       ports:\n         - \"3000:5173\"\n       extra_hosts:\n         - host.docker.internal:host-gateway\n       volumes:\n         - ./src:/app/src\n\n     backend:\n       build:\n         context: .\n         target: base\n       command: [\"bash\", \"dev.sh\"]\n       env_file: \".env\"\n       environment:\n         - ENV=dev\n         - WEBUI_AUTH=False\n       ports:\n         - \"8080:8080\"\n       extra_hosts:\n         - host.docker.internal:host-gateway\n       volumes:\n         - ./backend:/app/backend\n         - data:/app/backend/data\n\n   volumes:\n     data: {}\n   ```\n\n2. **Start the Development Containers**:\n\n   ```bash\n   docker compose -f compose-dev.yaml up --watch\n   ```\n\n3. **Stop the Containers**:\n\n   ```bash\n   docker compose -f compose-dev.yaml down\n   ```"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/02e345f2-7334-4b7f-a726-fa42c4b0423c
id: 109f6f0e-c222-417d-8447-294af4bd4a07
encoding: FLOAT32
metadata:
{"source": "development.md", "name": "development.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "8b72cba4-12fe-4dcd-8fc4-3bc8c21bd112", "start_index": 2685, "hash": "20e5420b99383be695c5fae76b7dafa4c094b2039493134493727011fb010bf0", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "3. **Stop the Containers**:\n\n   ```bash\n   docker compose -f compose-dev.yaml down\n   ```\n\n</TabItem>\n<TabItem value=\"conda\" label=\"Optional Conda Setup\">\n\n### Conda Environment Setup\n\nIf you prefer using **Conda** for isolation:\n\n1. **Create and Activate the Environment**:\n\n   ```bash\n   conda create --name open-webui-dev python=3.11\n   conda activate open-webui-dev\n   ```\n\n2. **Install Dependencies**:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. **Run the Servers**:\n   - Frontend:\n\n     ```bash\n     npm run dev\n     ```\n\n   - Backend:\n\n     ```bash\n     sh dev.sh\n     ```\n\n</TabItem>\n\n<TabItem value=\"troubleshooting\" label=\"Troubleshooting\">\n\n## \ud83d\udc1b Troubleshooting\n\n### **FATAL ERROR: Reached Heap Limit**\n\nIf you encounter memory-related errors during the build, increase the **Node.js heap size**:\n\n1. **Modify Dockerfile**:\n\n   ```dockerfile\n   ENV NODE_OPTIONS=--max-old-space-size=4096\n   ```\n\n2. **Allocate at least 4 GB of RAM** to Node.js.\n\n---\n\n### **Other Issues**"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/02e345f2-7334-4b7f-a726-fa42c4b0423c
id: a8490c3c-ad4a-451a-910a-9061b9685d7b
encoding: FLOAT32
metadata:
{"source": "development.md", "name": "development.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "8b72cba4-12fe-4dcd-8fc4-3bc8c21bd112", "start_index": 3606, "hash": "20e5420b99383be695c5fae76b7dafa4c094b2039493134493727011fb010bf0", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "2. **Allocate at least 4 GB of RAM** to Node.js.\n\n---\n\n### **Other Issues**\n\n- **Port Conflicts**:  \n   Ensure that no other processes are using **ports 8080 or 5173**.\n\n- **Hot Reload Not Working**:  \n   Verify that **watch mode** is enabled for both frontend and backend.\n\n</TabItem>\n\n</Tabs>\n\n## Contributing to Open WebUI\n\n### Local Workflow\n\n1. **Commit Changes Regularly** to track progress.\n2. **Sync with the Main Branch** to avoid conflicts:\n\n   ```bash\n   git pull origin main\n   ```\n\n3. **Run Tests Before Pushing**:\n\n   ```bash\n   npm run test\n   ```\n\nHappy coding! \ud83c\udf89"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: f4222bcc-fa56-4bd2-b577-c6acd91a0de7
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "8b72cba4-12fe-4dcd-8fc4-3bc8c21bd112", "hash": "20e5420b99383be695c5fae76b7dafa4c094b2039493134493727011fb010bf0", "name": "development.md", "source": "development.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 5\ntitle: \"\ud83d\udee0\ufe0f Development Guide\"\n---\n\nimport Tabs from '@theme/Tabs';\nimport TabItem from '@theme/TabItem';\nimport { TopBanners } from \"@site/src/components/TopBanners\";\n\n<TopBanners />\n\n# \ud83d\udee0\ufe0f Development Setup Guide\n\nWelcome to the **Open WebUI Development Setup Guide!** Whether you're a novice or an experienced developer, this guide will help you set up a **local development environment** for both the frontend and backend components. Let's dive in! \ud83d\ude80\n\n## System Requirements\n\n- **Operating System**: Linux (or WSL on Windows) or macOS  \n- **Python Version**: Python 3.11+  \n- **Node.js Version**: 20.10+\n\n## Development Methods\n\n<Tabs groupId=\"dev-setup\">\n\n<TabItem value=\"local\" label=\"Local Setup\">\n\n### \ud83d\udc27 Local Development Setup\n\n1. **Clone the Repository**:\n\n   ```bash\n   git clone https://github.com/open-webui/open-webui.git\n   cd open-webui\n   ```\n\n2. **Frontend Setup**:\n   - Create a `.env` file:\n\n     ```bash\n     cp -RPp .env.example .env\n     ```"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 0768ac7d-4c4f-4026-a689-b6f1b763e946
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "8b72cba4-12fe-4dcd-8fc4-3bc8c21bd112", "hash": "20e5420b99383be695c5fae76b7dafa4c094b2039493134493727011fb010bf0", "name": "development.md", "source": "development.md", "start_index": 0, "chroma:document": "```bash\n     cp -RPp .env.example .env\n     ```\n\n   - Install dependencies:\n\n     ```bash\n     npm install\n     ```\n\n   - Start the frontend server:\n\n     ```bash\n     npm run dev\n     ```\n\n     \ud83c\udf10 Available at: [http://localhost:5173](http://localhost:5173).\n\n3. **Backend Setup**:\n   - Navigate to the backend:\n\n     ```bash\n     cd backend\n     ```\n\n   - Use **Conda** for environment setup:\n\n     ```bash\n     conda create --name open-webui python=3.11\n     conda activate open-webui\n     ```\n\n   - Install dependencies:\n\n     ```bash\n     pip install -r requirements.txt -U\n     ```\n\n   - Start the backend:\n\n     ```bash\n     sh dev.sh\n     ```\n\n     \ud83d\udcc4 API docs available at: [http://localhost:8080/docs](http://localhost:8080/docs).\n\n</TabItem>\n\n<TabItem value=\"docker\" label=\"Docker Setup\">\n\n### \ud83d\udc33 Docker-Based Development Setup\n\n1. **Create the Docker Compose File**:\n\n   ```yaml\n   name: open-webui-dev"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 16103276-ab4a-44fa-a70a-14454cc878b6
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "8b72cba4-12fe-4dcd-8fc4-3bc8c21bd112", "hash": "20e5420b99383be695c5fae76b7dafa4c094b2039493134493727011fb010bf0", "name": "development.md", "source": "development.md", "start_index": 0, "chroma:document": "1. **Create the Docker Compose File**:\n\n   ```yaml\n   name: open-webui-dev\n\n   services:\n     frontend:\n       build:\n         context: .\n         target: build\n       command: [\"npm\", \"run\", \"dev\"]\n       depends_on:\n         - backend\n       ports:\n         - \"3000:5173\"\n       extra_hosts:\n         - host.docker.internal:host-gateway\n       volumes:\n         - ./src:/app/src\n\n     backend:\n       build:\n         context: .\n         target: base\n       command: [\"bash\", \"dev.sh\"]\n       env_file: \".env\"\n       environment:\n         - ENV=dev\n         - WEBUI_AUTH=False\n       ports:\n         - \"8080:8080\"\n       extra_hosts:\n         - host.docker.internal:host-gateway\n       volumes:\n         - ./backend:/app/backend\n         - data:/app/backend/data\n\n   volumes:\n     data: {}\n   ```\n\n2. **Start the Development Containers**:\n\n   ```bash\n   docker compose -f compose-dev.yaml up --watch\n   ```\n\n3. **Stop the Containers**:\n\n   ```bash\n   docker compose -f compose-dev.yaml down\n   ```"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 6e48e8a1-d277-430a-bf74-c392592b3e5f
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "8b72cba4-12fe-4dcd-8fc4-3bc8c21bd112", "hash": "20e5420b99383be695c5fae76b7dafa4c094b2039493134493727011fb010bf0", "name": "development.md", "source": "development.md", "start_index": 0, "chroma:document": "3. **Stop the Containers**:\n\n   ```bash\n   docker compose -f compose-dev.yaml down\n   ```\n\n</TabItem>\n<TabItem value=\"conda\" label=\"Optional Conda Setup\">\n\n### Conda Environment Setup\n\nIf you prefer using **Conda** for isolation:\n\n1. **Create and Activate the Environment**:\n\n   ```bash\n   conda create --name open-webui-dev python=3.11\n   conda activate open-webui-dev\n   ```\n\n2. **Install Dependencies**:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. **Run the Servers**:\n   - Frontend:\n\n     ```bash\n     npm run dev\n     ```\n\n   - Backend:\n\n     ```bash\n     sh dev.sh\n     ```\n\n</TabItem>\n\n<TabItem value=\"troubleshooting\" label=\"Troubleshooting\">\n\n## \ud83d\udc1b Troubleshooting\n\n### **FATAL ERROR: Reached Heap Limit**\n\nIf you encounter memory-related errors during the build, increase the **Node.js heap size**:\n\n1. **Modify Dockerfile**:\n\n   ```dockerfile\n   ENV NODE_OPTIONS=--max-old-space-size=4096\n   ```\n\n2. **Allocate at least 4 GB of RAM** to Node.js.\n\n---\n\n### **Other Issues**"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 9198dc65-62b8-470f-bdcd-a8664a3574d1
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "8b72cba4-12fe-4dcd-8fc4-3bc8c21bd112", "hash": "20e5420b99383be695c5fae76b7dafa4c094b2039493134493727011fb010bf0", "name": "development.md", "source": "development.md", "start_index": 0, "chroma:document": "2. **Allocate at least 4 GB of RAM** to Node.js.\n\n---\n\n### **Other Issues**\n\n- **Port Conflicts**:  \n   Ensure that no other processes are using **ports 8080 or 5173**.\n\n- **Hot Reload Not Working**:  \n   Verify that **watch mode** is enabled for both frontend and backend.\n\n</TabItem>\n\n</Tabs>\n\n## Contributing to Open WebUI\n\n### Local Workflow\n\n1. **Commit Changes Regularly** to track progress.\n2. **Sync with the Main Branch** to avoid conflicts:\n\n   ```bash\n   git pull origin main\n   ```\n\n3. **Run Tests Before Pushing**:\n\n   ```bash\n   npm run test\n   ```\n\nHappy coding! \ud83c\udf89"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/e0985d18-0dc9-4937-8aec-08942b7ea444
id: 29cc1300-1d7d-4afb-95ce-c0caecf6d27f
encoding: FLOAT32
metadata:
{"source": "DockerCompose.md", "name": "DockerCompose.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "d703c0a3-3b1b-4846-8122-e7893621f627", "start_index": 0, "hash": "53d9f1052a4476f4fa42a7fdb64530ac068628d7730caba3528ca8dcf74b96e4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "# Docker Compose Setup\n\nUsing Docker Compose simplifies the management of multi-container Docker applications.\n\nIf you don't have Docker installed, check out our [Docker installation tutorial](docs/tutorials/docker-install.md).\n\nDocker Compose requires an additional package, `docker-compose-v2`.\n\n**Warning:** Older Docker Compose tutorials may reference version 1 syntax, which uses commands like `docker-compose build`. Ensure you use version 2 syntax, which uses commands like `docker compose build` (note the space instead of a hyphen).\n\n## Example `docker-compose.yml`\n\nHere is an example configuration file for setting up Open WebUI with Docker Compose:\n\n```yaml\nversion: '3'\nservices:\n  openwebui:\n    image: ghcr.io/open-webui/open-webui:main\n    ports:\n      - \"3000:8080\"\n    volumes:\n      - open-webui:/app/backend/data\nvolumes:\n  open-webui:\n```\n\n## Starting the Services\n\nTo start your services, run the following command:\n\n```bash\ndocker compose up -d\n```\n\n## Helper Script"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/e0985d18-0dc9-4937-8aec-08942b7ea444
id: 18f2e7da-4489-423d-981d-859694662b7e
encoding: FLOAT32
metadata:
{"source": "DockerCompose.md", "name": "DockerCompose.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "d703c0a3-3b1b-4846-8122-e7893621f627", "start_index": 939, "hash": "53d9f1052a4476f4fa42a7fdb64530ac068628d7730caba3528ca8dcf74b96e4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "```bash\ndocker compose up -d\n```\n\n## Helper Script\n\nA useful helper script called `run-compose.sh` is included with the codebase. This script assists in choosing which Docker Compose files to include in your deployment, streamlining the setup process.\n\n---\n\n**Note:** For Nvidia GPU support, add the following to your service definition in the `docker-compose.yml` file:\n\n```yaml\ndeploy:\n  resources:\n    reservations:\n      devices:\n        - driver: nvidia\n          count: all\n          capabilities: [gpu]\n```\n\nThis setup ensures that your application can leverage GPU resources when available."}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 65438259-ace0-4bc8-8fd6-dcc47fef654d
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "d703c0a3-3b1b-4846-8122-e7893621f627", "hash": "53d9f1052a4476f4fa42a7fdb64530ac068628d7730caba3528ca8dcf74b96e4", "name": "DockerCompose.md", "source": "DockerCompose.md", "start_index": 0, "chroma:document": "# Docker Compose Setup\n\nUsing Docker Compose simplifies the management of multi-container Docker applications.\n\nIf you don't have Docker installed, check out our [Docker installation tutorial](docs/tutorials/docker-install.md).\n\nDocker Compose requires an additional package, `docker-compose-v2`.\n\n**Warning:** Older Docker Compose tutorials may reference version 1 syntax, which uses commands like `docker-compose build`. Ensure you use version 2 syntax, which uses commands like `docker compose build` (note the space instead of a hyphen).\n\n## Example `docker-compose.yml`\n\nHere is an example configuration file for setting up Open WebUI with Docker Compose:\n\n```yaml\nversion: '3'\nservices:\n  openwebui:\n    image: ghcr.io/open-webui/open-webui:main\n    ports:\n      - \"3000:8080\"\n    volumes:\n      - open-webui:/app/backend/data\nvolumes:\n  open-webui:\n```\n\n## Starting the Services\n\nTo start your services, run the following command:\n\n```bash\ndocker compose up -d\n```\n\n## Helper Script"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 0a0dba53-94d8-4f80-890b-11f595d25940
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "d703c0a3-3b1b-4846-8122-e7893621f627", "hash": "53d9f1052a4476f4fa42a7fdb64530ac068628d7730caba3528ca8dcf74b96e4", "name": "DockerCompose.md", "source": "DockerCompose.md", "start_index": 0, "chroma:document": "```bash\ndocker compose up -d\n```\n\n## Helper Script\n\nA useful helper script called `run-compose.sh` is included with the codebase. This script assists in choosing which Docker Compose files to include in your deployment, streamlining the setup process.\n\n---\n\n**Note:** For Nvidia GPU support, add the following to your service definition in the `docker-compose.yml` file:\n\n```yaml\ndeploy:\n  resources:\n    reservations:\n      devices:\n        - driver: nvidia\n          count: all\n          capabilities: [gpu]\n```\n\nThis setup ensures that your application can leverage GPU resources when available."}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/49e73e67-9f9e-4d04-b83d-1d6064cfc4b6
id: 4217ebe1-9f23-4bef-be0e-7c997d4652b0
encoding: FLOAT32
metadata:
{"source": "docker-install.md", "name": "docker-install.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "8a41359f-2cb2-4d3c-92f3-13eaa5f09292", "start_index": 0, "hash": "20b69f0cb6132761a012f47097fe4abdc2471928cf6f1873157b24c82a04f0f4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 0\ntitle: \ud83d\udc33 Installing Docker\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# Installing Docker\n\n## For Windows and Mac Users\n\n- Download Docker Desktop from [Docker's official website](https://www.docker.com/products/docker-desktop).  \n- Follow the installation instructions on the website.  \n- After installation, **open Docker Desktop** to ensure it's running properly.\n\n---\n\n## For Ubuntu Users\n\n1. **Open your terminal.**\n\n2. **Set up Docker's apt repository:**"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/49e73e67-9f9e-4d04-b83d-1d6064cfc4b6
id: dcad490c-0094-4988-bfe9-f541111ba663
encoding: FLOAT32
metadata:
{"source": "docker-install.md", "name": "docker-install.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "8a41359f-2cb2-4d3c-92f3-13eaa5f09292", "start_index": 605, "hash": "20b69f0cb6132761a012f47097fe4abdc2471928cf6f1873157b24c82a04f0f4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\n\n## For Ubuntu Users\n\n1. **Open your terminal.**\n\n2. **Set up Docker's apt repository:**\n\n   ```bash\n   sudo apt-get update\n   sudo apt-get install ca-certificates curl\n   sudo install -m 0755 -d /etc/apt/keyrings\n   sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc\n   sudo chmod a+r /etc/apt/keyrings/docker.asc\n   echo \\\n     \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \\\n     $(. /etc/os-release && echo \"$VERSION_CODENAME\") stable\" | \\\n     sudo tee /etc/apt/sources.list.d/docker.list > /dev/null\n   ```\n\n:::note\nIf using an **Ubuntu derivative** (e.g., Linux Mint), use `UBUNTU_CODENAME` instead of `VERSION_CODENAME`.\n:::\n\n3. **Install Docker Engine:**\n\n   ```bash\n   sudo apt-get update\n   sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin\n   ```\n\n4. **Verify Docker Installation:**\n\n   ```bash\n   sudo docker run hello-world\n   ```"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/49e73e67-9f9e-4d04-b83d-1d6064cfc4b6
id: 8762fd73-4b67-48c7-b9c2-7cb26be310c6
encoding: FLOAT32
metadata:
{"source": "docker-install.md", "name": "docker-install.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "8a41359f-2cb2-4d3c-92f3-13eaa5f09292", "start_index": 1517, "hash": "20b69f0cb6132761a012f47097fe4abdc2471928cf6f1873157b24c82a04f0f4", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "4. **Verify Docker Installation:**\n\n   ```bash\n   sudo docker run hello-world\n   ```\n\n---\n\n## For Other Linux Distributions\n\nFor other Linux distributions, refer to the [official Docker documentation](https://docs.docker.com/engine/install/).\n\n---\n\n## Install and Verify Ollama\n\n1. **Download Ollama** from [https://ollama.com/](https://ollama.com/).\n\n2. **Verify Ollama Installation:**\n   - Open a browser and navigate to:\n     [http://127.0.0.1:11434/](http://127.0.0.1:11434/).\n   - Note: The port may vary based on your installation."}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 0618497d-028a-415d-b20b-6c3a9d252a09
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "8a41359f-2cb2-4d3c-92f3-13eaa5f09292", "hash": "20b69f0cb6132761a012f47097fe4abdc2471928cf6f1873157b24c82a04f0f4", "name": "docker-install.md", "source": "docker-install.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 0\ntitle: \ud83d\udc33 Installing Docker\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# Installing Docker\n\n## For Windows and Mac Users\n\n- Download Docker Desktop from [Docker's official website](https://www.docker.com/products/docker-desktop).  \n- Follow the installation instructions on the website.  \n- After installation, **open Docker Desktop** to ensure it's running properly.\n\n---\n\n## For Ubuntu Users\n\n1. **Open your terminal.**\n\n2. **Set up Docker's apt repository:**"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: c7408c5a-8c59-43e6-bceb-b5b58faa3d14
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "8a41359f-2cb2-4d3c-92f3-13eaa5f09292", "hash": "20b69f0cb6132761a012f47097fe4abdc2471928cf6f1873157b24c82a04f0f4", "name": "docker-install.md", "source": "docker-install.md", "start_index": 0, "chroma:document": "---\n\n## For Ubuntu Users\n\n1. **Open your terminal.**\n\n2. **Set up Docker's apt repository:**\n\n   ```bash\n   sudo apt-get update\n   sudo apt-get install ca-certificates curl\n   sudo install -m 0755 -d /etc/apt/keyrings\n   sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc\n   sudo chmod a+r /etc/apt/keyrings/docker.asc\n   echo \\\n     \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \\\n     $(. /etc/os-release && echo \"$VERSION_CODENAME\") stable\" | \\\n     sudo tee /etc/apt/sources.list.d/docker.list > /dev/null\n   ```\n\n:::note\nIf using an **Ubuntu derivative** (e.g., Linux Mint), use `UBUNTU_CODENAME` instead of `VERSION_CODENAME`.\n:::\n\n3. **Install Docker Engine:**\n\n   ```bash\n   sudo apt-get update\n   sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin\n   ```\n\n4. **Verify Docker Installation:**\n\n   ```bash\n   sudo docker run hello-world\n   ```"}


created_at: 2024-12-28 04:06:18
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 3bd4df3c-d08a-4271-b2c6-11cf46db4fa4
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "8a41359f-2cb2-4d3c-92f3-13eaa5f09292", "hash": "20b69f0cb6132761a012f47097fe4abdc2471928cf6f1873157b24c82a04f0f4", "name": "docker-install.md", "source": "docker-install.md", "start_index": 0, "chroma:document": "4. **Verify Docker Installation:**\n\n   ```bash\n   sudo docker run hello-world\n   ```\n\n---\n\n## For Other Linux Distributions\n\nFor other Linux distributions, refer to the [official Docker documentation](https://docs.docker.com/engine/install/).\n\n---\n\n## Install and Verify Ollama\n\n1. **Download Ollama** from [https://ollama.com/](https://ollama.com/).\n\n2. **Verify Ollama Installation:**\n   - Open a browser and navigate to:\n     [http://127.0.0.1:11434/](http://127.0.0.1:11434/).\n   - Note: The port may vary based on your installation."}


created_at: 2024-12-28 04:06:19
topic: persistent://default/default/33ac8070-8aa3-41c4-a63a-ee19b6710a02
id: 11524a36-08e0-4a3f-a94c-63cb8bfaeb4d
encoding: FLOAT32
metadata:
{"source": "DockerSwarm.md", "name": "DockerSwarm.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "51abedc4-4acb-46fa-a03a-06498364f5b1", "start_index": 0, "hash": "57a77da5a324d817bdfbaa4b4ba00d24b0d8334993e942e30ee3567816301624", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## Docker Swarm\n\nThis installation method requires knowledge on Docker Swarms, as it utilizes a stack file to deploy 3 seperate containers as services in a Docker Swarm.\n\nIt includes isolated containers of ChromaDB, Ollama, and OpenWebUI.\nAdditionally, there are pre-filled [Environment Variables](../advanced-topics/env-configuration) to further illustrate the setup.\n\nChoose the appropriate command based on your hardware setup:\n\n- **Before Starting**:\n\n  Directories for your volumes need to be created on the host, or you can specify a custom location or volume.\n  \n  The current example utilizes an isolated dir `data`, which is within the same dir as the `docker-stack.yaml`.\n  \n      - **For example**:\n  \n        ```bash\n        mkdir -p data/open-webui data/chromadb data/ollama\n        ```\n\n- **With GPU Support**:\n\n  #### Docker-stack.yaml\n\n    ```yaml\n    version: '3.9'"}


created_at: 2024-12-28 04:06:19
topic: persistent://default/default/33ac8070-8aa3-41c4-a63a-ee19b6710a02
id: 0e292eee-dbca-4529-bf6b-857445e4a0b4
encoding: FLOAT32
metadata:
{"source": "DockerSwarm.md", "name": "DockerSwarm.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "51abedc4-4acb-46fa-a03a-06498364f5b1", "start_index": 888, "hash": "57a77da5a324d817bdfbaa4b4ba00d24b0d8334993e942e30ee3567816301624", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "services:\n      openWebUI:\n        image: ghcr.io/open-webui/open-webui:main\n        depends_on:\n            - chromadb\n            - ollama\n        volumes:\n          - ./data/open-webui:/app/backend/data\n        environment:\n          DATA_DIR: /app/backend/data \n          OLLAMA_BASE_URLS: http://ollama:11434\n          CHROMA_HTTP_PORT: 8000\n          CHROMA_HTTP_HOST: chromadb\n          CHROMA_TENANT: default_tenant\n          VECTOR_DB: chroma\n          WEBUI_NAME: Awesome ChatBot\n          CORS_ALLOW_ORIGIN: \"*\" # This is the current Default, will need to change before going live\n          RAG_EMBEDDING_ENGINE: ollama\n          RAG_EMBEDDING_MODEL: nomic-embed-text-v1.5\n          RAG_EMBEDDING_MODEL_TRUST_REMOTE_CODE: \"True\"\n        ports:\n          - target: 8080\n            published: 8080\n            mode: overlay\n        deploy:\n          replicas: 1\n          restart_policy:\n            condition: any\n            delay: 5s\n            max_attempts: 3"}


created_at: 2024-12-28 04:06:19
topic: persistent://default/default/33ac8070-8aa3-41c4-a63a-ee19b6710a02
id: 5138180c-3582-4144-ac84-e128ceabb83b
encoding: FLOAT32
metadata:
{"source": "DockerSwarm.md", "name": "DockerSwarm.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "51abedc4-4acb-46fa-a03a-06498364f5b1", "start_index": 1870, "hash": "57a77da5a324d817bdfbaa4b4ba00d24b0d8334993e942e30ee3567816301624", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "chromadb:\n        hostname: chromadb\n        image: chromadb/chroma:0.5.15\n        volumes:\n          - ./data/chromadb:/chroma/chroma\n        environment:\n          - IS_PERSISTENT=TRUE\n          - ALLOW_RESET=TRUE\n          - PERSIST_DIRECTORY=/chroma/chroma\n        ports: \n          - target: 8000\n            published: 8000\n            mode: overlay\n        deploy:\n          replicas: 1\n          restart_policy:\n            condition: any\n            delay: 5s\n            max_attempts: 3\n        healthcheck: \n          test: [\"CMD-SHELL\", \"curl localhost:8000/api/v1/heartbeat || exit 1\"]\n          interval: 10s\n          retries: 2\n          start_period: 5s\n          timeout: 10s"}


created_at: 2024-12-28 04:06:19
topic: persistent://default/default/33ac8070-8aa3-41c4-a63a-ee19b6710a02
id: 87d27c19-8286-490f-ace0-9e534e6056fc
encoding: FLOAT32
metadata:
{"source": "DockerSwarm.md", "name": "DockerSwarm.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "51abedc4-4acb-46fa-a03a-06498364f5b1", "start_index": 2571, "hash": "57a77da5a324d817bdfbaa4b4ba00d24b0d8334993e942e30ee3567816301624", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "ollama:\n        image: ollama/ollama:latest\n        hostname: ollama\n        ports:\n          - target: 11434\n            published: 11434\n            mode: overlay\n        deploy:\n          resources:\n            reservations:\n              generic_resources:\n                - discrete_resource_spec:\n                    kind: \"NVIDIA-GPU\"\n                    value: 0\n          replicas: 1\n          restart_policy:\n            condition: any\n            delay: 5s\n            max_attempts: 3\n        volumes:\n          - ./data/ollama:/root/.ollama\n\n    ```\n\n  - **Additional Requirements**:"}


created_at: 2024-12-28 04:06:19
topic: persistent://default/default/33ac8070-8aa3-41c4-a63a-ee19b6710a02
id: be7bba52-5511-4b39-8767-d8e6c091c7d0
encoding: FLOAT32
metadata:
{"source": "DockerSwarm.md", "name": "DockerSwarm.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "51abedc4-4acb-46fa-a03a-06498364f5b1", "start_index": 3129, "hash": "57a77da5a324d817bdfbaa4b4ba00d24b0d8334993e942e30ee3567816301624", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "```\n\n  - **Additional Requirements**:\n\n      1. Ensure CUDA is Enabled, follow your OS and GPU instructions for that.\n      2. Enable Docker GPU support, see [Nvidia Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html \" on Nvidia's site.\")\n      3. Follow the [Guide here on configuring Docker Swarm to with with your GPU](https://gist.github.com/tomlankhorst/33da3c4b9edbde5c83fc1244f010815c#configuring-docker-to-work-with-your-gpus)\n    - Ensure _GPU Resource_ is enabled in `/etc/nvidia-container-runtime/config.toml` and enable GPU resource advertising by uncommenting the `swarm-resource = \"DOCKER_RESOURCE_GPU\"`. The docker daemon must be restarted after updating these files on each node.\n\n- **With CPU Support**:\n  \n    Modify the Ollama Service within `docker-stack.yaml` and remove the lines for `generic_resources:`"}


created_at: 2024-12-28 04:06:19
topic: persistent://default/default/33ac8070-8aa3-41c4-a63a-ee19b6710a02
id: ef2b6235-e830-47d3-9069-81ebf7796e5f
encoding: FLOAT32
metadata:
{"source": "DockerSwarm.md", "name": "DockerSwarm.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "51abedc4-4acb-46fa-a03a-06498364f5b1", "start_index": 4021, "hash": "57a77da5a324d817bdfbaa4b4ba00d24b0d8334993e942e30ee3567816301624", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "```yaml\n        ollama:\n      image: ollama/ollama:latest\n      hostname: ollama\n      ports:\n        - target: 11434\n          published: 11434\n          mode: overlay\n      deploy:\n        replicas: 1\n        restart_policy:\n          condition: any\n          delay: 5s\n          max_attempts: 3\n      volumes:\n        - ./data/ollama:/root/.ollama\n    ```\n\n- **Deploy Docker Stack**:\n  \n  ```bash\n  docker stack deploy -c docker-stack.yaml -d super-awesome-ai\n  ```"}


created_at: 2024-12-28 04:06:19
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: ea463fb9-d99d-4ffa-8131-1a9e621da695
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "51abedc4-4acb-46fa-a03a-06498364f5b1", "hash": "57a77da5a324d817bdfbaa4b4ba00d24b0d8334993e942e30ee3567816301624", "name": "DockerSwarm.md", "source": "DockerSwarm.md", "start_index": 0, "chroma:document": "## Docker Swarm\n\nThis installation method requires knowledge on Docker Swarms, as it utilizes a stack file to deploy 3 seperate containers as services in a Docker Swarm.\n\nIt includes isolated containers of ChromaDB, Ollama, and OpenWebUI.\nAdditionally, there are pre-filled [Environment Variables](../advanced-topics/env-configuration) to further illustrate the setup.\n\nChoose the appropriate command based on your hardware setup:\n\n- **Before Starting**:\n\n  Directories for your volumes need to be created on the host, or you can specify a custom location or volume.\n  \n  The current example utilizes an isolated dir `data`, which is within the same dir as the `docker-stack.yaml`.\n  \n      - **For example**:\n  \n        ```bash\n        mkdir -p data/open-webui data/chromadb data/ollama\n        ```\n\n- **With GPU Support**:\n\n  #### Docker-stack.yaml\n\n    ```yaml\n    version: '3.9'"}


created_at: 2024-12-28 04:06:19
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 6df426d4-caf2-455c-8741-553af03db761
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "51abedc4-4acb-46fa-a03a-06498364f5b1", "hash": "57a77da5a324d817bdfbaa4b4ba00d24b0d8334993e942e30ee3567816301624", "name": "DockerSwarm.md", "source": "DockerSwarm.md", "start_index": 0, "chroma:document": "services:\n      openWebUI:\n        image: ghcr.io/open-webui/open-webui:main\n        depends_on:\n            - chromadb\n            - ollama\n        volumes:\n          - ./data/open-webui:/app/backend/data\n        environment:\n          DATA_DIR: /app/backend/data \n          OLLAMA_BASE_URLS: http://ollama:11434\n          CHROMA_HTTP_PORT: 8000\n          CHROMA_HTTP_HOST: chromadb\n          CHROMA_TENANT: default_tenant\n          VECTOR_DB: chroma\n          WEBUI_NAME: Awesome ChatBot\n          CORS_ALLOW_ORIGIN: \"*\" # This is the current Default, will need to change before going live\n          RAG_EMBEDDING_ENGINE: ollama\n          RAG_EMBEDDING_MODEL: nomic-embed-text-v1.5\n          RAG_EMBEDDING_MODEL_TRUST_REMOTE_CODE: \"True\"\n        ports:\n          - target: 8080\n            published: 8080\n            mode: overlay\n        deploy:\n          replicas: 1\n          restart_policy:\n            condition: any\n            delay: 5s\n            max_attempts: 3"}


created_at: 2024-12-28 04:06:19
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 1d938c25-ef4c-4b04-8996-d6af5d15731e
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "51abedc4-4acb-46fa-a03a-06498364f5b1", "hash": "57a77da5a324d817bdfbaa4b4ba00d24b0d8334993e942e30ee3567816301624", "name": "DockerSwarm.md", "source": "DockerSwarm.md", "start_index": 0, "chroma:document": "chromadb:\n        hostname: chromadb\n        image: chromadb/chroma:0.5.15\n        volumes:\n          - ./data/chromadb:/chroma/chroma\n        environment:\n          - IS_PERSISTENT=TRUE\n          - ALLOW_RESET=TRUE\n          - PERSIST_DIRECTORY=/chroma/chroma\n        ports: \n          - target: 8000\n            published: 8000\n            mode: overlay\n        deploy:\n          replicas: 1\n          restart_policy:\n            condition: any\n            delay: 5s\n            max_attempts: 3\n        healthcheck: \n          test: [\"CMD-SHELL\", \"curl localhost:8000/api/v1/heartbeat || exit 1\"]\n          interval: 10s\n          retries: 2\n          start_period: 5s\n          timeout: 10s"}


created_at: 2024-12-28 04:06:19
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 2bcba87a-2b63-40e9-a4c1-5faa6c65f065
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "51abedc4-4acb-46fa-a03a-06498364f5b1", "hash": "57a77da5a324d817bdfbaa4b4ba00d24b0d8334993e942e30ee3567816301624", "name": "DockerSwarm.md", "source": "DockerSwarm.md", "start_index": 0, "chroma:document": "ollama:\n        image: ollama/ollama:latest\n        hostname: ollama\n        ports:\n          - target: 11434\n            published: 11434\n            mode: overlay\n        deploy:\n          resources:\n            reservations:\n              generic_resources:\n                - discrete_resource_spec:\n                    kind: \"NVIDIA-GPU\"\n                    value: 0\n          replicas: 1\n          restart_policy:\n            condition: any\n            delay: 5s\n            max_attempts: 3\n        volumes:\n          - ./data/ollama:/root/.ollama\n\n    ```\n\n  - **Additional Requirements**:"}


created_at: 2024-12-28 04:06:19
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 047b1b13-91dd-41e2-b520-50cbb97ae4f6
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "51abedc4-4acb-46fa-a03a-06498364f5b1", "hash": "57a77da5a324d817bdfbaa4b4ba00d24b0d8334993e942e30ee3567816301624", "name": "DockerSwarm.md", "source": "DockerSwarm.md", "start_index": 0, "chroma:document": "```\n\n  - **Additional Requirements**:\n\n      1. Ensure CUDA is Enabled, follow your OS and GPU instructions for that.\n      2. Enable Docker GPU support, see [Nvidia Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html \" on Nvidia's site.\")\n      3. Follow the [Guide here on configuring Docker Swarm to with with your GPU](https://gist.github.com/tomlankhorst/33da3c4b9edbde5c83fc1244f010815c#configuring-docker-to-work-with-your-gpus)\n    - Ensure _GPU Resource_ is enabled in `/etc/nvidia-container-runtime/config.toml` and enable GPU resource advertising by uncommenting the `swarm-resource = \"DOCKER_RESOURCE_GPU\"`. The docker daemon must be restarted after updating these files on each node.\n\n- **With CPU Support**:\n  \n    Modify the Ollama Service within `docker-stack.yaml` and remove the lines for `generic_resources:`"}


created_at: 2024-12-28 04:06:19
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: f7e75223-7f2a-4fcf-a52b-df4a1e76f15d
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "51abedc4-4acb-46fa-a03a-06498364f5b1", "hash": "57a77da5a324d817bdfbaa4b4ba00d24b0d8334993e942e30ee3567816301624", "name": "DockerSwarm.md", "source": "DockerSwarm.md", "start_index": 0, "chroma:document": "```yaml\n        ollama:\n      image: ollama/ollama:latest\n      hostname: ollama\n      ports:\n        - target: 11434\n          published: 11434\n          mode: overlay\n      deploy:\n        replicas: 1\n        restart_policy:\n          condition: any\n          delay: 5s\n          max_attempts: 3\n      volumes:\n        - ./data/ollama:/root/.ollama\n    ```\n\n- **Deploy Docker Stack**:\n  \n  ```bash\n  docker stack deploy -c docker-stack.yaml -d super-awesome-ai\n  ```"}


created_at: 2024-12-28 04:06:19
topic: persistent://default/default/48fb7948-4339-4a34-ac4e-bc25101c8957
id: 18574ed0-034f-406c-bfed-d4df168855ce
encoding: FLOAT32
metadata:
{"source": "DockerUpdating.md", "name": "DockerUpdating.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "454cc0c0-ac25-4b7a-8ccd-f31e78bae7f3", "start_index": 0, "hash": "18564643291b407acf6fa55251d2750bf551afea4eef236bdedbae3fe8456392", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "## Updating\n\nTo update your local Docker installation to the latest version, you can either use **Watchtower** or manually update the container.\n\n### Option 1: Using Watchtower\n\nWith [Watchtower](https://containrrr.dev/watchtower/), you can automate the update process:\n\n```bash\ndocker run --rm --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once open-webui\n```\n\n_(Replace `open-webui` with your container's name if it's different.)_\n\n### Option 2: Manual Update\n\n1. Stop and remove the current container:\n\n   ```bash\n   docker rm -f open-webui\n   ```\n\n2. Pull the latest version:\n\n   ```bash\n   docker pull ghcr.io/open-webui/open-webui:main\n   ```\n\n3. Start the container again:\n\n   ```bash\n   docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main\n   ```\n\nBoth methods will get your Docker instance updated and running with the latest build."}


created_at: 2024-12-28 04:06:19
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 6b061bdc-57d1-4e8e-ac64-a6c9a1b1cae4
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "454cc0c0-ac25-4b7a-8ccd-f31e78bae7f3", "hash": "18564643291b407acf6fa55251d2750bf551afea4eef236bdedbae3fe8456392", "name": "DockerUpdating.md", "source": "DockerUpdating.md", "start_index": 0, "chroma:document": "## Updating\n\nTo update your local Docker installation to the latest version, you can either use **Watchtower** or manually update the container.\n\n### Option 1: Using Watchtower\n\nWith [Watchtower](https://containrrr.dev/watchtower/), you can automate the update process:\n\n```bash\ndocker run --rm --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once open-webui\n```\n\n_(Replace `open-webui` with your container's name if it's different.)_\n\n### Option 2: Manual Update\n\n1. Stop and remove the current container:\n\n   ```bash\n   docker rm -f open-webui\n   ```\n\n2. Pull the latest version:\n\n   ```bash\n   docker pull ghcr.io/open-webui/open-webui:main\n   ```\n\n3. Start the container again:\n\n   ```bash\n   docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main\n   ```\n\nBoth methods will get your Docker instance updated and running with the latest build."}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: e1def272-8853-41a3-9a13-ed50d2bce1a8
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 0, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "---\nsidebar_position: 4\ntitle: \"\ud83c\udf0d Environment Variable Configuration\"\n---\n\n\n## Overview\n\nOpen WebUI provides a range of environment variables that allow you to customize and configure\nvarious aspects of the application. This page serves as a comprehensive reference for all available\nenvironment variables, including their types, default values, and descriptions.\n\n:::info\nLast updated: v0.3.20\n:::\n\n## App/Backend\n\nThe following environment variables are used by `backend/config.py` to provide Open WebUI startup\nconfiguration. Please note that some variables may have different default values depending on\nwhether you're running Open WebUI directly or via Docker. For more information on logging\nenvironment variables, see our [logging documentation](https://docs.openwebui.com/getting-started/advanced-topics/logging)).\n\n### General\n\n#### `ENV`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 5c7c44db-f8bb-4423-8541-b4939529641a
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 824, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### General\n\n#### `ENV`\n\n- Type: `str` (enum: `dev`, `prod`)\n- Options:\n  - `dev` - Enables the FastAPI API docs on `/docs`\n  - `prod` - Automatically configures several environment variables\n- Default:\n  - **Backend Default**: `dev`\n  - **Docker Default**: `prod`\n- Description: Environment setting.\n\n#### `WEBUI_AUTH`\n\n- Type: `bool`\n- Default Setting: `True`\n- Description: This setting enables or disables authentication.\n\n:::danger\nIf set to `False`, authentication will be disabled for your Open WebUI instance. However, it's\nimportant to note that turning off authentication is only possible for fresh installations without\nany existing users. If there are already users registered, you cannot disable authentication\ndirectly. Ensure that no users are present in the database, if you intend to turn off `WEBUI_AUTH`.\n:::\n\n#### `WEBUI_NAME`\n\n- Type: `str`\n- Default: `Open WebUI`\n- Description: Sets the main WebUI name. Appends `(Open WebUI)` if overridden.\n\n#### `WEBUI_URL`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 44442ea6-2b9b-44cf-81fc-9f180e2108ca
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 1790, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `WEBUI_URL`\n\n- Type: `str`\n- Default: `http://localhost:3000`\n- Description: Specifies the URL where the Open WebUI is reachable. Currently used for search engine support.\n\n#### `AIOHTTP_CLIENT_TIMEOUT`\n\n- Type: `int`\n- Default: `300`\n- Description: Specifies the timeout duration in seconds for the aiohttp client.\n\n:::info\nThis is the maximum amount of time the client will wait for a response before timing out.\nIf set to an empty string (' '), the timeout will be set to `None`, effectively disabling the timeout and\nallowing the client to wait indefinitely.\n:::\n\n#### `DATA_DIR`\n\n- Type: `str`\n- Default: `./data`\n- Description: Specifies the base directory for data storage, including uploads, cache, vector database, etc.\n\n#### `FRONTEND_BUILD_DIR`\n\n- Type: `str`\n- Default: `../build`\n- Description: Specifies the location of the built frontend files.\n\n#### `STATIC_DIR`\n\n- Type: `str`\n- Default: `./static`\n- Description: Specifies the directory for static files, such as the favicon."}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 070ec3d1-bc1f-44bf-a6c7-f3adc68f56ce
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 2790, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `CUSTOM_NAME`\n\n- Type: `str`\n- Description: Sets `WEBUI_NAME` but polls **api.openwebui.com** for metadata.\n\n#### `ENABLE_SIGNUP`\n\n- Type: `bool`\n- Default: `True`\n- Description: Toggles user account creation.\n\n#### `ENABLE_LOGIN_FORM`\n\n- Type: `bool`\n- Default: `True`\n- Description: Toggles email, password, sign in and \"or\" (only when `ENABLE_OAUTH_SIGNUP` is set to True) elements.\n\n:::danger\nThis should **only** ever be set to `False` when [ENABLE_OAUTH_SIGNUP](https://docs.openwebui.com/getting-started/advanced-topics/env-configuration/#enable_oauth_signup)\nis also being used and set to `True`. Failure to do so will result in the inability to login.\n:::\n\n#### `ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION`\n\n- Type: `bool`\n- Default: `True`\n- Description: Bypass SSL Verification for RAG on Websites.\n\n#### `DEFAULT_MODELS`\n\n- Type: `str`\n- Description: Sets a default Language Model.\n\n#### `DEFAULT_USER_ROLE`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: b7342be7-4bce-4f13-a383-6391a30495f9
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 3625, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- Type: `str`\n- Description: Sets a default Language Model.\n\n#### `DEFAULT_USER_ROLE`\n\n- Type: `str` (enum: `pending`, `user`, `admin`)\n- Options:\n  - `pending` - New users are pending until their accounts are manually activated by an admin.\n  - `user` - New users are automatically activated with regular user permissions.\n  - `admin` - New users are automatically activated with administrator permissions.\n- Default: `pending`\n- Description: Sets the default role assigned to new users.\n\n#### `USER_PERMISSIONS_CHAT_DELETION`\n\n- Type: `bool`\n- Default: `True`\n- Description: Toggles user permission to delete chats.\n\n#### `USER_PERMISSIONS_CHAT_EDITING`\n\n- Type: `bool`\n- Default: `True`\n- Description: Toggles user permission to edit chats.\n\n#### `USER_PERMISSIONS_CHAT_TEMPORARY`\n\n- Type: `bool`\n- Default: `True`\n- Description: Toggles user permission to create temporary chats.\n\n#### `ENABLE_MODEL_FILTER`\n\n- Type: `bool`\n- Default: `False`\n- Description: Toggles Language Model filtering."}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: bac6f5f4-fce8-454d-b36d-a4e919725f57
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 4538, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- Type: `bool`\n- Default: `False`\n- Description: Toggles Language Model filtering.\n\n#### `MODEL_FILTER_LIST`\n\n- Type: `str`\n- Description: Sets the Language Model filter list, semicolon-separated\n- Example: `llama3.1:instruct;gemma2:latest`\n\n#### `WEBHOOK_URL`\n\n- Type: `str`\n- Description: Sets a webhook for integration with Slack/Microsoft Teams.\n\n#### `ENABLE_ADMIN_EXPORT`\n\n- Type: `bool`\n- Default: `True`\n- Description: Controls whether admin users can export data.\n\n#### `ENABLE_ADMIN_CHAT_ACCESS`\n\n- Type: `bool`\n- Default: `True`\n- Description: Enables admin users to access all chats.\n\n#### `ENABLE_COMMUNITY_SHARING`\n\n- Type: `bool`\n- Default: `True`\n- Description: Controls whether users are shown the share to community button.\n\n#### `ENABLE_MESSAGE_RATING`\n\n- Type: `bool`\n- Default: `True`\n- Description: Enables message rating feature.\n\n#### `WEBUI_BUILD_HASH`\n\n- Type: `str`\n- Default: `dev-build`\n- Description: Used for identifying the Git SHA of the build for releases."}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 163a1e06-0f6a-4a0b-b32b-f9d9fbdd2a11
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 5530, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `WEBUI_BANNERS`\n\n- Type: `list` of `dict`\n- Default: `[]`\n- Description: List of banners to show to users. Format of banners are:\n\n```json\n[{\"id\": \"string\",\"type\": \"string [info, success, warning, error]\",\"title\": \"string\",\"content\": \"string\",\"dismissible\": False,\"timestamp\": 1000}]\n```\n\n#### `WEBUI_AUTH_TRUSTED_EMAIL_HEADER`\n\n- Type: `str`\n- Description: Defines the trusted request header for authentication. See [SSO docs](/features/sso).\n\n#### `WEBUI_AUTH_TRUSTED_NAME_HEADER`\n\n- Type: `str`\n- Description: Defines the trusted request header for the username of anyone registering with the\n`WEBUI_AUTH_TRUSTED_EMAIL_HEADER` header. See [SSO docs](/features/sso).\n\n#### `WEBUI_SECRET_KEY`\n\n- Type: `str`\n- Default: `t0p-s3cr3t`\n- Docker Default: Randomly generated on first start\n- Description: Overrides the randomly generated string used for JSON Web Token.\n\n#### `JWT_EXPIRES_IN`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 5db741c6-279a-4bdf-91a3-18df4de55d56
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 6401, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `JWT_EXPIRES_IN`\n\n- Type: `int`\n- Default: `-1`\n- Description: Sets the JWT expiration time in seconds. A value of -1 disables expiration.\n\n#### `USE_CUDA_DOCKER`\n\n- Type: `bool`\n- Default: `False`\n- Description: Builds the Docker image with NVIDIA CUDA support. Enables GPU acceleration\nfor local Whisper and embeddings.\n\n#### `DATABASE_URL`\n\n- Type: `str`\n- Default: `sqlite:///${DATA_DIR}/webui.db`\n- Description: Specifies the database URL to connect to.\n\n:::info\nSupports SQLite and Postgres. Changing the URL does not migrate data between databases.\nDocumentation on URL scheme available [here](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls).\n:::\n\n#### `DATABASE_POOL_SIZE`\n\n- Type: `int`\n- Default: `0`\n- Description: Specifies the size of the database pool. A value of `0` disables pooling.\n\n#### `DATABASE_POOL_MAX_OVERFLOW`\n\n- Type: `int`\n- Default: `0`\n- Description: Specifies the database pool max overflow."}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 7a9a1d09-eede-424e-8920-9b37e277d5b3
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 7261, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- Type: `int`\n- Default: `0`\n- Description: Specifies the database pool max overflow.\n\n:::info\nMore information about this setting can be found [here](https://docs.sqlalchemy.org/en/20/core/pooling.html#sqlalchemy.pool.QueuePool.params.max_overflow).\n:::\n\n#### `DATABASE_POOL_TIMEOUT`\n\n- Type: `int`\n- Default: `30`\n- Description: Specifies the database pool timeout in seconds to get a connection.\n\n:::info\nMore information about this setting can be found [here](https://docs.sqlalchemy.org/en/20/core/pooling.html#sqlalchemy.pool.QueuePool.params.timeout).\n:::\n\n#### `DATABASE_POOL_RECYCLE`\n\n- Type: `int`\n- Default: `3600`\n- Description: Specifies the database pool recycle time in seconds.\n\n:::info\nMore information about this setting can be found [here](https://docs.sqlalchemy.org/en/20/core/pooling.html#setting-pool-recycle).\n:::\n\n#### `PORT`\n\n- Type: `int`\n- Default: `8080`\n- Description: Sets the port to run Open WebUI from."}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: c91a15f6-5747-42f1-ba14-8602786420a4
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 8100, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `PORT`\n\n- Type: `int`\n- Default: `8080`\n- Description: Sets the port to run Open WebUI from.\n\n:::info\nIf installed via Python, you must instead pass `--port` as a command line argument.\n:::\n\n#### `RESET_CONFIG_ON_START`\n\n- Type: `bool`\n- Default: `False`\n- Description: Resets the `config.json` file on startup.\n\n#### `DEFAULT_LOCALE`\n\n- Type: `str`\n- Default: `en`\n- Description: Sets the default locale for the application.\n\n#### `FUNCTIONS_DIR`\n\n- Type: `str`\n- Default: `./functions`\n- Description: Specifies the directory for custom functions.\n\n#### `SHOW_ADMIN_DETAILS`\n\n- Type: `bool`\n- Default: `True`\n- Description: Toggles whether to show admin user details in the interface.\n\n#### `ADMIN_EMAIL`\n\n- Type: `str`\n- Description: Sets the admin email shown by `SHOW_ADMIN_DETAILS`\n\n#### `SAFE_MODE`\n\n- Type: `bool`\n- Default: `False`\n- Description: Enables safe mode, which disables potentially unsafe features, deactivating all functions.\n\n#### `ENABLE_FORWARD_USER_INFO_HEADERS`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 0d16187d-bea7-4735-8095-0bf3388a1de2
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 9052, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `ENABLE_FORWARD_USER_INFO_HEADERS`\n\n- type: `bool`\n- Default: `False`\n- Description: Forwards user information (name, id, email, and role) as X-headers to OpenAI API.\nIf enabled, the following headers are forwarded:\n  - `X-OpenWebUI-User-Name`\n  - `X-OpenWebUI-User-Id`\n  - `X-OpenWebUI-User-Email`\n  - `X-OpenWebUI-User-Role`\n\n#### `WEBUI_SESSION_COOKIE_SAME_SITE`\n\n- Type: `str` (enum: `lax`, `strict`, `none`)\n- Options:\n  - `lax` - Sets the `SameSite` attribute to lax, allowing session cookies to be sent with\nrequests initiated by third-party websites.\n  - `strict` - Sets the `SameSite` attribute to strict, blocking session cookies from being sent\nwith requests initiated by third-party websites.\n  - `none` - Sets the `SameSite` attribute to none, allowing session cookies to be sent with\nrequests initiated by third-party websites, but only over HTTPS.\n- Default: `lax`\n- Description: Sets the `SameSite` attribute for session cookies.\n\n#### `WEBUI_SESSION_COOKIE_SECURE`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 339b5955-4790-4859-a24e-7574aca938a1
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 10004, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `WEBUI_SESSION_COOKIE_SECURE`\n\n- Type: `bool`\n- Default: `False`\n- Description: Sets the `Secure` attribute for session cookies if set to `True`.\n\n#### `CONTENT_SECURITY_POLICY`\n\n- Type: `str`\n- Description: Sets the `content-security-policy` HTTP header\n- Example: `default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' https://* data:; child-src 'none'; font-src 'self' data:; worker-src 'self';`\n\n#### `AIOHTTP_CLIENT_TIMEOUT`\n\n- Type: `int`\n- Description: Sets the timeout in seconds for internal aiohttp connections. This impacts things\nsuch as connections to Ollama and OpenAI endpoints.\n\n#### `AIOHTTP_CLIENT_TIMEOUT_OPENAI_MODEL_LIST`\n\n- Type: `int`\n- Description: Sets the timeout in seconds for fetching the OpenAI model list. This can be useful in cases where network latency requires a longer timeout duration to successfully retrieve the model list.\n\n#### `FONTS_DIR`\n\n- Type: `str`\n- Description: Specifies the directory for fonts.\n\n### Ollama"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: d485cc0a-5e8e-4c47-967f-39622d6a7789
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 10884, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `FONTS_DIR`\n\n- Type: `str`\n- Description: Specifies the directory for fonts.\n\n### Ollama\n\n#### `ENABLE_OLLAMA_API`\n\n- Type: `bool`\n- Default: `True`\n- Description: Enables the use of Ollama APIs.\n\n#### `OLLAMA_BASE_URL`\n\n- Type: `str`\n- Default: `http://localhost:11434`\n- Docker Default:\n  - If `K8S_FLAG` is set: `http://ollama-service.open-webui.svc.cluster.local:11434`\n  - If `USE_OLLAMA_DOCKER=True`: `http://localhost:11434`\n  - Else `http://host.docker.internal:11434`\n- Description: Configures the Ollama backend URL.\n\n#### `OLLAMA_BASE_URLS`\n\n- Type: `str`\n- Description: Configures load-balanced Ollama backend hosts, separated by `;`. See\n[`OLLAMA_BASE_URL`](#ollama_base_url). Takes precedence over[`OLLAMA_BASE_URL`](#ollama_base_url).\n\n#### `USE_OLLAMA_DOCKER`\n\n- Type: `bool`\n- Default: `False`\n- Description: Builds the Docker image with a bundled Ollama instance.\n\n#### `K8S_FLAG`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 49d8fa26-6423-40c3-a10b-1cfe0c239338
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 11772, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `K8S_FLAG`\n\n- Type: `bool`\n- Description: If set, assumes Helm chart deployment and sets [`OLLAMA_BASE_URL`](#ollama_base_url) to `http://ollama-service.open-webui.svc.cluster.local:11434`\n\n### OpenAI\n\n#### `ENABLE_OPENAI_API`\n\n- Type: `bool`\n- Default: `True`\n- Description: Enables the use of OpenAI APIs.\n\n#### `OPENAI_API_BASE_URL`\n\n- Type: `str`\n- Default: `https://api.openai.com/v1`\n- Description: Configures the OpenAI base API URL.\n\n#### `OPENAI_API_BASE_URLS`\n\n- Type: `str`\n- Description: Supports balanced OpenAI base API URLs, semicolon-separated.\n- Example: `http://host-one:11434;http://host-two:11434`\n\n#### `OPENAI_API_KEY`\n\n- Type: `str`\n- Description: Sets the OpenAI API key.\n\n#### `OPENAI_API_KEYS`\n\n- Type: `str`\n- Description: Supports multiple OpenAI API keys, semicolon-separated.\n- Example: `sk-124781258123;sk-4389759834759834`\n\n### Tasks\n\n#### `TASK_MODEL`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 4f2f9c82-1387-4659-ac78-a081e9fca6e8
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 12633, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Tasks\n\n#### `TASK_MODEL`\n\n- Type: `str`\n- Description: The default model to use for tasks such as title and web search query generation\nwhen using Ollama models.\n\n#### `TASK_MODEL_EXTERNAL`\n\n- Type: `str`\n- Description: The default model to use for tasks such as title and web search query generation\nwhen using OpenAI-compatible endpoints.\n\n#### `TITLE_GENERATION_PROMPT_TEMPLATE`\n\n- Type: `str`\n- Description: Prompt to use when generating chat titles.\n- Default:\n\n```\nCreate a concise, 3-5 word title with an emoji as a title for the prompt in the given language. Suitable Emojis for the summary can be used to enhance understanding but avoid quotation marks or special formatting. RESPOND ONLY WITH THE TITLE TEXT.\n\nExamples of titles:\n\ud83d\udcc9 Stock Market Trends\n\ud83c\udf6a Perfect Chocolate Chip Recipe\nEvolution of Music Streaming\nRemote Work Productivity Tips\nArtificial Intelligence in Healthcare\n\ud83c\udfae Video Game Development Insights\n\nPrompt: {{prompt:middletruncate:8000}}\n```"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 802ed5c9-4dc6-417c-a6c3-004b260ee429
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 13563, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "Prompt: {{prompt:middletruncate:8000}}\n```\n\n#### `SEARCH_QUERY_GENERATION_PROMPT_TEMPLATE`\n\n- Type: `str`\n- Description: Prompt to use when generating search queries.\n- Default:\n\n```\nAssess the need for a web search based on the current question and prior interactions, but lean towards suggesting a Google search query if uncertain. Generate a Google search query even when the answer might be straightforward, as additional information may enhance comprehension or provide updated data. If absolutely certain that no further information is required, return an empty string. Default to a search query if unsure or in doubt. Today's date is {{CURRENT_DATE}}.\n\nCurrent Question:\n{{prompt:end:4000}}\n\nInteraction History:\n{{MESSAGES:END:6}}\n```\n\n#### `TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE`\n\n- Type: `str`\n- Description: Prompt to use when calling tools.\n- Default:"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: f62e570c-2fbf-46d8-ae35-9c0a7a3ad9ac
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 14354, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- Type: `str`\n- Description: Prompt to use when calling tools.\n- Default:\n\n```\nAvailable Tools: {{TOOLS}}\\nReturn an empty string if no tools match the query. If a function tool matches, construct and return a JSON object in the format {\\\"name\\\": \\\"functionName\\\", \\\"parameters\\\": {\\\"requiredFunctionParamKey\\\": \\\"requiredFunctionParamValue\\\"}} using the appropriate tool and its parameters. Only return the object and limit the response to the JSON object without additional text.\n```\n\n#### `CORS_ALLOW_ORIGIN`\n\n- Type: `str`\n- Default: `*`\n- Description: Sets the allowed origins for Cross-Origin Resource Sharing (CORS).\n\n### RAG\n\n#### `VECTOR_DB`\n\n- Type: `str`\n- Default: `chroma`\n- Description: Specifies which vector database system to use, either 'chroma' for ChromaDB or 'milvus' for Milvus. This setting determines which vector storage system will be used for managing embeddings.\n\n#### `CHROMA_TENANT`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: b9013a66-cdc6-4796-8fe9-67ce2d668f0e
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 15246, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `CHROMA_TENANT`\n\n- Type: `str`\n- Default: `default_tenant`\n- Description: Sets the tenant for ChromaDB to use for RAG embeddings.\n\n#### `CHROMA_DATABASE`\n\n- Type: `str`\n- Default: `default_database`\n- Description: Sets the database in the ChromaDB tenant to use for RAG embeddings.\n\n#### `CHROMA_HTTP_HOST`\n\n- Type: `str`\n- Description: Specifies the hostname of a remote ChromaDB Server. Uses a local ChromaDB instance if not set.\n\n#### `CHROMA_HTTP_PORT`\n\n- Type: `int`\n- Default: `8000`\n- Description: Specifies the port of a remote ChromaDB Server.\n\n#### `CHROMA_HTTP_HEADERS`\n\n- Type: `str`\n- Description: Comma-separated list of HTTP headers to include with every ChromaDB request.\n- Example: `Authorization=Bearer heuhagfuahefj,User-Agent=OpenWebUI`.\n\n#### `CHROMA_HTTP_SSL`\n\n- Type: `bool`\n- Default: `False`\n- Description: Controls whether or not SSL is used for ChromaDB Server connections.\n\n#### `CHROMA_CLIENT_AUTH_PROVIDER`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 68ed8cd1-456e-4815-9fbc-37dd5c7c546c
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 16153, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `CHROMA_CLIENT_AUTH_PROVIDER`\n\n- Type: `str`\n- Description: Specifies auth provider for remote ChromaDB Server.\n- Example: `chromadb.auth.basic_authn.BasicAuthClientProvider`\n\n#### `CHROMA_CLIENT_AUTH_CREDENTIALS`\n\n- Type: `str`\n- Description: Specifies auth credentials for remote ChromaDB Server.\n- Example: `username:password`\n\n#### `MILVUS_URI`\n\n- Type: `str`\n- Default: `${DATA_DIR}/vector_db/milvus.db`\n- Description: Specifies the URI for connecting to the Milvus vector database. This can point to a local or remote Milvus server based on the deployment configuration.\n\n#### `RAG_TOP_K`\n\n- Type: `int`\n- Default: `5`\n- Description: Sets the default number of results to consider when using RAG.\n\n#### `RAG_RELEVANCE_THRESHOLD`\n\n- Type: `float`\n- Default: `0.0`\n- Description: Sets the relevance threshold to consider for documents when used with reranking.\n\n#### `ENABLE_RAG_HYBRID_SEARCH`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 8c30404e-8cc7-423b-862a-ca066f06da10
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 17024, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `ENABLE_RAG_HYBRID_SEARCH`\n\n- Type: `bool`\n- Default: `False`\n- Description: Enables the use of ensemble search with `BM25` + `ChromaDB`, with reranking using\n`sentence_transformers` models.\n\n#### `ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION`\n\n- Type: `bool`\n- Default: `True`\n- Description: Enables TLS certification verification when browsing web pages for RAG.\n\n#### `RAG_EMBEDDING_ENGINE`\n\n- Type: `str` (enum: `ollama`, `openai`)\n- Options:\n  - Leave empty for `Default (SentenceTransformers)` - Uses SentenceTransformers for embeddings.\n  - `ollama` - Uses the Ollama API for embeddings.\n  - `openai` - Uses the OpenAI API for embeddings.\n- Description: Selects an embedding engine to use for RAG.\n\n#### `PDF_EXTRACT_IMAGES`\n\n- Type: `bool`\n- Default: `False`\n- Description: Extracts images from PDFs using OCR when loading documents.\n\n#### `RAG_EMBEDDING_MODEL`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 7188632a-306a-46df-8b96-4a8719bc75cb
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 17866, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `RAG_EMBEDDING_MODEL`\n\n- Type: `str`\n- Default: `sentence-transformers/all-MiniLM-L6-v2`\n- Description: Sets a model for embeddings. Locally, a Sentence-Transformer model is used.\n\n#### `RAG_EMBEDDING_MODEL_AUTO_UPDATE`\n\n- Type: `bool`\n- Default: `False`\n- Description: Toggles automatic update of the Sentence-Transformer model.\n\n#### `RAG_EMBEDDING_MODEL_TRUST_REMOTE_CODE`\n\n- Type: `bool`\n- Default: `False`\n- Description: Determines whether or not to allow custom models defined on the Hub in their own modeling files.\n\n#### `RAG_TEMPLATE`\n\n- Type: `str`\n- Default:\n\n```\nYou are given a user query, some textual context and rules, all inside xml tags. You have to answer the query based on the context while respecting the rules.\n\n<context>\n[context]\n</context>"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: a73e83b9-0c9d-42e9-9cfe-c5fa8c4dc698
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 18606, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "<context>\n[context]\n</context>\n\n<rules>\n- If you don't know, just say so.\n- If you are not sure, ask for clarification.\n- Answer in the same language as the user query.\n- If the context appears unreadable or of poor quality, tell the user then answer as best as you can.\n- If the answer is not in the context but you think you know the answer, explain that to the user then answer with your own knowledge.\n- Answer directly and without using xml tags.\n</rules>\n\n<user_query>\n[query]\n</user_query>\n```\n\n- Description: Template to use when injecting RAG documents into chat completion\n\n#### `RAG_RERANKING_MODEL`\n\n- Type: `str`\n- Description: Sets a model for reranking results. Locally, a Sentence-Transformer model is used.\n\n#### `RAG_RERANKING_MODEL_AUTO_UPDATE`\n\n- Type: `bool`\n- Default: `False`\n- Description: Toggles automatic update of the reranking model.\n\n#### `RAG_RERANKING_MODEL_TRUST_REMOTE_CODE`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 17f42cf7-bf0d-425f-ac97-756c606c1915
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 19470, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `RAG_RERANKING_MODEL_TRUST_REMOTE_CODE`\n\n- Type: `bool`\n- Default: `False`\n- Description: Determines whether or not to allow custom models defined on the Hub in their own\nmodeling files for reranking.\n\n#### `RAG_OPENAI_API_BASE_URL`\n\n- Type: `str`\n- Default: `${OPENAI_API_BASE_URL}`\n- Description: Sets the OpenAI base API URL to use for RAG embeddings.\n\n#### `RAG_OPENAI_API_KEY`\n\n- Type: `str`\n- Default: `${OPENAI_API_KEY}`\n- Description: Sets the OpenAI API key to use for RAG embeddings.\n\n#### `RAG_EMBEDDING_OPENAI_BATCH_SIZE`\n\n- Type: `int`\n- Default: `1`\n- Description: Sets the batch size for OpenAI embeddings.\n\n#### `ENABLE_RAG_LOCAL_WEB_FETCH`\n\n- Type: `bool`\n- Default: `False`\n- Description: Enables local web fetching for RAG. Enabling this allows Server Side Request\nForgery attacks against local network resources.\n\n#### `YOUTUBE_LOADER_LANGUAGE`\n\n- Type: `str`\n- Default: `en`\n- Description: Sets the language to use for YouTube video loading.\n\n#### `CHUNK_SIZE`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 21001d11-1d64-4d4f-a2a7-eb082468f2f8
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 20439, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `CHUNK_SIZE`\n\n- Type: `int`\n- Default: `1500`\n- Description: Sets the document chunk size for embeddings.\n\n#### `CHUNK_OVERLAP`\n\n- Type: `int`\n- Default: `100`\n- Description: Specifies how much overlap there should be between chunks.\n\n#### `CONTENT_EXTRACTION_ENGINE`\n\n- Type: `str` (`tika`)\n- Options:\n  - Leave empty to use default\n  - `tika` - Use a local Apache Tika server\n- Description: Sets the content extraction engine to use for document ingestion.\n\n#### `TIKA_SERVER_URL`\n\n- Type: `str`\n- Default: `http://localhost:9998`\n- Description: Sets the URL for the Apache Tika server.\n\n#### `RAG_FILE_MAX_COUNT`\n\n- Type: `int`\n- Default: `10`\n- Description: Sets the maximum number of files that can be uploaded at once for document ingestion.\n\n#### `RAG_FILE_MAX_SIZE`\n\n- Type: `int`\n- Default: `100` (100MB)\n- Description: Sets the maximum size of a file that can be uploaded for document ingestion.\n\n### Web Search\n\n#### `ENABLE_RAG_WEB_SEARCH`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: a9d2ff04-009c-488b-8117-bf05c6766520
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 21351, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Web Search\n\n#### `ENABLE_RAG_WEB_SEARCH`\n\n- Type: `bool`\n- Default: `False`\n- Description: Enable web search toggle\n\n#### `ENABLE_SEARCH_QUERY`\n\n- Type: `bool`\n- Default: `False`\n- Description: Enables the generation of search queries from prompts\n\n#### `RAG_WEB_SEARCH_ENGINE`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 3b313440-e701-448e-bd8a-67a4b4a59fff
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 21634, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- Type: `str` (enum: `searxng`, `google_pse`, `brave`, `serpstack`, `serper`, `serply`, `searchapi`, `duckduckgo`, `tavily`, `jina`)\n- Options:\n  - `searxng` - Uses the [SearXNG](https://github.com/searxng/searxng) search engine.\n  - `google_pse` - Uses the [Google Programmable Search Engine](https://programmablesearchengine.google.com/about/).\n  - `brave` - Uses the [Brave search engine](https://brave.com/search/api/).\n  - `serpstack` - Uses the [Serpstack search engine](https://serpstack.com/).\n  - `serper` - Uses the [Serper search engine](https://serper.dev/).\n  - `serply` - Uses the [Serply search engine](https://serply.io/).\n  - `searchapi` - Uses the [SearchAPI search engine](https://www.searchapi.io/).\n  - `duckduckgo` - Uses the [DuckDuckGo search engine](https://duckduckgo.com/).\n  - `tavily` - Uses the [Tavily search engine](https://tavily.com/).\n  - `jina` - Uses the [Jina search engine](https://jina.ai/).\n- Description: Select engine for performing searches"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: e78968f4-06a4-44dc-b564-f4fa708011d3
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 22620, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `SEARXNG_QUERY_URL`\n\n- Type: `str`\n- Description: The [SearXNG search API](https://docs.searxng.org/dev/search_api.html) URL supporting JSON output. `<query>` is replaced with\nthe search query. Example: `http://searxng.local/search?q=<query>`\n\n#### `GOOGLE_PSE_API_KEY`\n\n- Type: `str`\n- Description: The API key for the Google Programmable Search Engine (PSE) service.\n\n#### `GOOGLE_PSE_ENGINE_ID`\n\n- Type: `str`\n- Description: The engine ID for the Google Programmable Search Engine (PSE) service.\n\n#### `BRAVE_SEARCH_API_KEY`\n\n- Type: `str`\n- Description: The API key for the Brave Search API.\n\n#### `SERPSTACK_API_KEY`\n\n- Type: `str`\n- Description: The API key for Serpstack search API.\n\n#### `SERPSTACK_HTTPS`\n\n- Type: `bool`\n- Default: `True`\n- Description: Configures the use of HTTPS for Serpstack requests. Free tier requests are restricted to HTTP only.\n\n#### `SERPER_API_KEY`\n\n- Type: `str`\n- Description: The API key for the Serper search API.\n\n#### `SERPLY_API_KEY`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 44fc620a-1d3b-4c40-b3c6-bb64eb602054
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 23512, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- Type: `str`\n- Description: The API key for the Serper search API.\n\n#### `SERPLY_API_KEY`\n\n- Type: `str`\n- Description: The API key for the Serply search API.\n\n#### `TAVILY_API_KEY`\n\n- Type: `str`\n- Description: The API key for the Tavily search API.\n\n#### `RAG_WEB_SEARCH_RESULT_COUNT`\n\n- Type: `int`\n- Default: `3`\n- Description: Maximum number of search results to crawl.\n\n#### `RAG_WEB_SEARCH_CONCURRENT_REQUESTS`\n\n- Type: `int`\n- Default: `10`\n- Description: Number of concurrent requests to crawl web pages returned from search results.\n\n#### `SEARCHAPI_API_KEY`\n\n- Type: `str`\n- Description: Sets the SearchAPI API key.\n\n#### `SEARCHAPI_ENGINE`\n\n- Type: `str`\n- Description: Sets the SearchAPI engine.\n\n### Speech to Text\n\n#### `AUDIO_STT_ENGINE`\n\n- Type: `str` (enum: `openai`)\n- Options:\n  - Leave empty to use local Whisper engine for Speech-to-Text.\n  - `openai` - Uses OpenAI engine for Speech-to-Text.\n- Description: Specifies the Speech-to-Text engine to use."}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 39dfde20-1200-4d2e-b03a-6860d7625059
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 24488, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "#### `AUDIO_STT_OPENAI_API_BASE_URL`\n\n- Type: `str`\n- Default: `${OPENAI_API_BASE_URL}`\n- Description: Sets the OpenAI-compatible base URL to use for Speech-to-Text.\n\n#### `AUDIO_STT_OPENAI_API_KEY`\n\n- Type: `str`\n- Default: `${OPENAI_API_KEY}`\n- Description: Sets the OpenAI API key to use for Speech-to-Text.\n\n#### `AUDIO_STT_MODEL`\n\n- Type: `str`\n- Default: `whisper-1`\n- Description: Specifies the Speech-to-Text model to use for OpenAI-compatible endpoints.\n\n#### `WHISPER_MODEL`\n\n- Type: `str`\n- Default: `base`\n- Description: Sets the Whisper model to use for Speech-to-Text. The backend used is faster_whisper with quantization to `int8`.\n\n#### `WHISPER_MODEL_DIR`\n\n- Type: `str`\n- Default: `${DATA_DIR}/cache/whisper/models`\n- Description: Specifies the directory to store Whisper model files.\n\n#### `WHISPER_MODEL_AUTO_UPDATE`\n\n- Type: `bool`\n- Default: `False`\n- Description: Toggles automatic update of the Whisper model.\n\n### Text to Speech\n\n#### `AUDIO_TTS_ENGINE`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: e0f97c16-af92-4ba9-8081-9ad5bdaa13cd
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 25423, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### Text to Speech\n\n#### `AUDIO_TTS_ENGINE`\n\n- Type: `str` (enum: `elevenlabs`, `openai`)\n- Options:\n  - Leave empty to use built-in WebAPI engine for Text-to-Speech.\n  - `elevenlabs` - Uses ElevenLabs engine for Text-to-Speech\n  - `openai` - Uses OpenAI engine for Text-to-Speech.\n- Description: Specifies the Text-to-Speech engine to use.\n\n#### `AUDIO_TTS_API_KEY`\n\n- Type: `str`\n- Description: Sets the API key for Text-to-Speech.\n\n#### `AUDIO_TTS_OPENAI_API_BASE_URL`\n\n- Type: `str`\n- Default: `${OPENAI_API_BASE_URL}`\n- Description: Sets the OpenAI-compatible base URL to use for text-to-speech.\n\n#### `AUDIO_TTS_OPENAI_API_KEY`\n\n- Type: `str`\n- Default: `${OPENAI_API_KEY}`\n- Description: Sets the API key to use for text-to-speech.\n\n#### `AUDIO_TTS_MODEL`\n\n- Type: `str`\n- Default: `tts-1`\n- Description: Specifies the OpenAI text-to-speech model to use.\n\n#### `AUDIO_TTS_VOICE`\n\n- Type: `str`\n- Default: `alloy`\n- Description: Sets the OpenAI text-to-speech voice to use."}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 4f8c8c70-60b6-40ce-8c19-bd74058d49d0
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 26310, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- Type: `str`\n- Default: `alloy`\n- Description: Sets the OpenAI text-to-speech voice to use.\n\n#### `AUDIO_TTS_SPLIT_ON`\n\n- Type: `str`\n- Default: `punctuation`\n- Description: Sets the OpenAI text-to-speech split on to use.\n\n### Image Generation\n\n#### `ENABLE_IMAGE_GENERATION`\n\n- Type: `bool`\n- Default: `False`\n- Description: Enables or disables image generation features.\n\n#### `IMAGE_GENERATION_ENGINE`\n\n- Type: `str` (enum: `openai`, `comfyui`, `automatic1111`)\n- Options:\n  - `openai` - Uses OpenAI DALL-E for image generation.\n  - `comfyui` - Uses ComfyUI engine for image generation.\n  - `automatic1111` - Uses Automatic1111 engine for image generation (default).\n- Default: `automatic1111`\n- Description: Specifies the engine to use for image generation.\n\n#### `AUTOMATIC1111_BASE_URL`\n\n- Type: `str`\n- Description: Specifies the URL to Automatic1111's Stable Diffusion API.\n\n#### `AUTOMATIC1111_API_AUTH`\n\n- Type: `str`\n- Description: Sets the Automatic1111 API authentication."}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 94e13dc0-8d92-4093-b7e9-5206c7bc3697
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 27225, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- Type: `str`\n- Description: Sets the Automatic1111 API authentication.\n\n#### `COMFYUI_BASE_URL`\n\n- Type: `str`\n- Description: Specifies the URL to the ComfyUI image generation API.\n\n#### `COMFYUI_WORKFLOW`\n\n- Type: `str`\n- Description: Sets the ComfyUI workflow.\n\n#### `IMAGES_OPENAI_API_BASE_URL`\n\n- Type: `str`\n- Default: `${OPENAI_API_BASE_URL}`\n- Description: Sets the OpenAI-compatible base URL to use for DALL-E image generation.\n\n#### `IMAGES_OPENAI_API_KEY`\n\n- Type: `str`\n- Default: `${OPENAI_API_KEY}`\n- Description: Sets the API key to use for DALL-E image generation.\n\n#### `IMAGE_GENERATION_MODEL`\n\n- Type: `str`\n- Description: Default model to use for image generation\n\n#### `IMAGE_SIZE`\n\n- Type: `str`\n- Default: `512x512`\n- Description: Sets the default image size to generate.\n\n#### `IMAGE_STEPS`\n\n- Type: `int`\n- Default: `50`\n- Description: Sets the default iteration steps for image generation. Used for ComfyUI and AUTOMATIC1111.\n\n### OAuth\n\n#### `ENABLE_OAUTH_SIGNUP`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 4376f657-ba13-416c-ad7d-62da812a0058
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 28178, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "### OAuth\n\n#### `ENABLE_OAUTH_SIGNUP`\n\n- Type: `bool`\n- Default: `False`\n- Description: Enables user account creation via OAuth.\n\n#### `OAUTH_MERGE_ACCOUNTS_BY_EMAIL`\n\n- Type: `bool`\n- Default: `False`\n- Description: If enabled, merges OAuth accounts with existing accounts using the same email\naddress. This is considered unsafe as providers may not verify email addresses and can lead to\naccount takeovers.\n\n#### `OAUTH_USERNAME_CLAIM`\n\n- Type: `str`\n- Default: `name`\n- Description: Set username claim for OpenID.\n\n#### `OAUTH_EMAIL_CLAIM`\n\n- Type: `str`\n- Default: `email`\n- Description: Set email claim for OpenID.\n\n#### `OAUTH_PICTURE_CLAIM`\n\n- Type: `str`\n- Default: `picture`\n- Description: Set picture (avatar) claim for OpenID.\n\n#### `OAUTH_CLIENT_ID`\n\n- Type: `str`\n- Description: Sets the client ID for OIDC\n\n#### `OAUTH_CLIENT_SECRET`\n\n- Type: `str`\n- Description: Sets the client secret for OIDC\n\n#### `OAUTH_SCOPES`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 1cfe331b-b0a1-4e44-8135-3f2c5cf97c67
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 29027, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- Type: `str`\n- Description: Sets the client secret for OIDC\n\n#### `OAUTH_SCOPES`\n\n- Type: `str`\n- Default: `openid email profile`\n- Description: Sets the scope for OIDC authentication. `openid` and `email` are required.\n\n#### `OAUTH_PROVIDER_NAME`\n\n- Type: `str`\n- Default: `SSO`\n- Description: Sets the name for the OIDC provider.\n\n#### `ENABLE_OAUTH_ROLE_MANAGEMENT`\n\n- Type: `bool`\n- Default: `False`\n- Description: Enables role management to oauth delegation.\n\n#### `OAUTH_ROLES_CLAIM`\n\n- Type: `str`\n- Default: `roles`\n- Description: Sets the roles claim to look for in the OIDC token.\n\n#### `OAUTH_ALLOWED_ROLES`\n\n- Type: `str`\n- Default: `user,admin`\n- Description: Sets the roles that are allowed access to the platform.\n\n#### `OAUTH_ADMIN_ROLES`\n\n- Type: `str`\n- Default: `admin`\n- Description: Sets the roles that are considered administrators.\n\n#### `GOOGLE_CLIENT_ID`\n\n- Type: `str`\n- Description: Sets the client ID for Google OAuth\n\n#### `GOOGLE_CLIENT_SECRET`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: 08f4e26f-e6b0-43cb-bd2f-098281148767
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 29909, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- Type: `str`\n- Description: Sets the client ID for Google OAuth\n\n#### `GOOGLE_CLIENT_SECRET`\n\n- Type: `str`\n- Description: Sets the client secret for Google OAuth\n\n#### `GOOGLE_OAUTH_SCOPE`\n\n- Type: `str`\n- Default: `openid email profile`\n- Description: Sets the scope for Google OAuth authentication.\n\n#### `GOOGLE_REDIRECT_URI`\n\n- Type: `str`\n- Description: Sets the redirect URI for Google OAuth\n\n#### `MICROSOFT_CLIENT_ID`\n\n- Type: `str`\n- Description: Sets the client ID for Microsoft OAuth\n\n#### `MICROSOFT_CLIENT_SECRET`\n\n- Type: `str`\n- Description: Sets the client secret for Microsoft OAuth\n\n#### `MICROSOFT_CLIENT_TENANT_ID`\n\n- Type: `str`\n- Description: Sets the tenant ID for Microsoft OAuth\n\n#### `MICROSOFT_OAUTH_SCOPE`\n\n- Type: `str`\n- Default: `openid email profile`\n- Description: Sets the scope for Microsoft OAuth authentication.\n\n#### `MICROSOFT_REDIRECT_URI`\n\n- Type: `str`\n- Description: Sets the redirect URI for Microsoft OAuth\n\n#### `OPENID_PROVIDER_URL`"}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: fb9b1767-b8f8-4710-a998-21029df22b45
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 30792, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "- Type: `str`\n- Description: Sets the redirect URI for Microsoft OAuth\n\n#### `OPENID_PROVIDER_URL`\n\n- Type: `str`\n- Description: Path to the `.well-known/openid-configuration` endpoint\n\n#### `OPENID_REDIRECT_URI`\n\n- Type: `str`\n- Description: Sets the redirect URI for OIDC\n\n### Tools\n\n#### `TOOLS_DIR`\n\n- Type: `str`\n- Default: `${DATA_DIR}/tools`\n- Description: Specifies the directory for custom tools.\n\n### Redis\n\n#### `ENABLE_WEBSOCKET_SUPPORT`\n\n- Type: `bool`\n- Default: `False`\n- Description: Enables websocket support in Open WebUI (used with Redis).\n\n#### `WEBSOCKET_MANAGER`\n\n- Type: `str`\n- Default: `redis`\n- Description: Specifies the websocket manager to use (in this case, Redis).\n\n#### `WEBSOCKET_REDIS_URL`\n\n- Type: `str`\n- Default: `redis://localhost:6379/0`\n- Description: Specifies the URL of the Redis instance for websocket communication.\n\n## Misc Environment Variables\n\nThese variables are not specific to Open WebUI but can still be valuable in certain contexts."}


created_at: 2024-12-28 04:06:20
topic: persistent://default/default/9ad6faee-2d83-4792-830e-95cd12dfd446
id: b10f1244-4e37-42cc-92e3-e3d3095c36b0
encoding: FLOAT32
metadata:
{"source": "env-configuration.md", "name": "env-configuration.md", "created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "start_index": 31685, "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "chroma:document": "These variables are not specific to Open WebUI but can still be valuable in certain contexts.\n\n### Proxy Settings\n\nOpen WebUI supports using proxies for HTTP and HTTPS retrievals. To specify proxy settings,\nOpen WebUI uses the following environment variables:\n\n#### `http_proxy`\n\n- Type: `str`\n- Description: Sets the URL for the HTTP proxy.\n\n#### `https_proxy`\n\n- Type: `str`\n- Description: Sets the URL for the HTTPS proxy.\n\n#### `no_proxy`\n\n- Type: `str`\n- Description: Lists domain extensions (or IP addresses) for which the proxy should not be used,\nseparated by commas. For example, setting no_proxy to '.mit.edu' ensures that the proxy is\nbypassed when accessing documents from MIT."}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 85b92ee1-a232-4a50-90f6-7d9fc3aebe3f
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "---\nsidebar_position: 4\ntitle: \"\ud83c\udf0d Environment Variable Configuration\"\n---\n\n\n## Overview\n\nOpen WebUI provides a range of environment variables that allow you to customize and configure\nvarious aspects of the application. This page serves as a comprehensive reference for all available\nenvironment variables, including their types, default values, and descriptions.\n\n:::info\nLast updated: v0.3.20\n:::\n\n## App/Backend\n\nThe following environment variables are used by `backend/config.py` to provide Open WebUI startup\nconfiguration. Please note that some variables may have different default values depending on\nwhether you're running Open WebUI directly or via Docker. For more information on logging\nenvironment variables, see our [logging documentation](https://docs.openwebui.com/getting-started/advanced-topics/logging)).\n\n### General\n\n#### `ENV`"}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: e68282a0-03de-42af-8969-b8d95089305b
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "### General\n\n#### `ENV`\n\n- Type: `str` (enum: `dev`, `prod`)\n- Options:\n  - `dev` - Enables the FastAPI API docs on `/docs`\n  - `prod` - Automatically configures several environment variables\n- Default:\n  - **Backend Default**: `dev`\n  - **Docker Default**: `prod`\n- Description: Environment setting.\n\n#### `WEBUI_AUTH`\n\n- Type: `bool`\n- Default Setting: `True`\n- Description: This setting enables or disables authentication.\n\n:::danger\nIf set to `False`, authentication will be disabled for your Open WebUI instance. However, it's\nimportant to note that turning off authentication is only possible for fresh installations without\nany existing users. If there are already users registered, you cannot disable authentication\ndirectly. Ensure that no users are present in the database, if you intend to turn off `WEBUI_AUTH`.\n:::\n\n#### `WEBUI_NAME`\n\n- Type: `str`\n- Default: `Open WebUI`\n- Description: Sets the main WebUI name. Appends `(Open WebUI)` if overridden.\n\n#### `WEBUI_URL`"}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: f7ebf175-c302-43e3-9fe3-00e2cd00f51c
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "#### `WEBUI_URL`\n\n- Type: `str`\n- Default: `http://localhost:3000`\n- Description: Specifies the URL where the Open WebUI is reachable. Currently used for search engine support.\n\n#### `AIOHTTP_CLIENT_TIMEOUT`\n\n- Type: `int`\n- Default: `300`\n- Description: Specifies the timeout duration in seconds for the aiohttp client.\n\n:::info\nThis is the maximum amount of time the client will wait for a response before timing out.\nIf set to an empty string (' '), the timeout will be set to `None`, effectively disabling the timeout and\nallowing the client to wait indefinitely.\n:::\n\n#### `DATA_DIR`\n\n- Type: `str`\n- Default: `./data`\n- Description: Specifies the base directory for data storage, including uploads, cache, vector database, etc.\n\n#### `FRONTEND_BUILD_DIR`\n\n- Type: `str`\n- Default: `../build`\n- Description: Specifies the location of the built frontend files.\n\n#### `STATIC_DIR`\n\n- Type: `str`\n- Default: `./static`\n- Description: Specifies the directory for static files, such as the favicon."}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 3967a5f9-b60c-4e8a-9d57-32f8e37fd397
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "#### `CUSTOM_NAME`\n\n- Type: `str`\n- Description: Sets `WEBUI_NAME` but polls **api.openwebui.com** for metadata.\n\n#### `ENABLE_SIGNUP`\n\n- Type: `bool`\n- Default: `True`\n- Description: Toggles user account creation.\n\n#### `ENABLE_LOGIN_FORM`\n\n- Type: `bool`\n- Default: `True`\n- Description: Toggles email, password, sign in and \"or\" (only when `ENABLE_OAUTH_SIGNUP` is set to True) elements.\n\n:::danger\nThis should **only** ever be set to `False` when [ENABLE_OAUTH_SIGNUP](https://docs.openwebui.com/getting-started/advanced-topics/env-configuration/#enable_oauth_signup)\nis also being used and set to `True`. Failure to do so will result in the inability to login.\n:::\n\n#### `ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION`\n\n- Type: `bool`\n- Default: `True`\n- Description: Bypass SSL Verification for RAG on Websites.\n\n#### `DEFAULT_MODELS`\n\n- Type: `str`\n- Description: Sets a default Language Model.\n\n#### `DEFAULT_USER_ROLE`"}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 097a3d5b-1a58-48d5-a0dd-d610255d74f6
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "- Type: `str`\n- Description: Sets a default Language Model.\n\n#### `DEFAULT_USER_ROLE`\n\n- Type: `str` (enum: `pending`, `user`, `admin`)\n- Options:\n  - `pending` - New users are pending until their accounts are manually activated by an admin.\n  - `user` - New users are automatically activated with regular user permissions.\n  - `admin` - New users are automatically activated with administrator permissions.\n- Default: `pending`\n- Description: Sets the default role assigned to new users.\n\n#### `USER_PERMISSIONS_CHAT_DELETION`\n\n- Type: `bool`\n- Default: `True`\n- Description: Toggles user permission to delete chats.\n\n#### `USER_PERMISSIONS_CHAT_EDITING`\n\n- Type: `bool`\n- Default: `True`\n- Description: Toggles user permission to edit chats.\n\n#### `USER_PERMISSIONS_CHAT_TEMPORARY`\n\n- Type: `bool`\n- Default: `True`\n- Description: Toggles user permission to create temporary chats.\n\n#### `ENABLE_MODEL_FILTER`\n\n- Type: `bool`\n- Default: `False`\n- Description: Toggles Language Model filtering."}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: a89523d3-301e-4913-bc2f-387f34c34213
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "- Type: `bool`\n- Default: `False`\n- Description: Toggles Language Model filtering.\n\n#### `MODEL_FILTER_LIST`\n\n- Type: `str`\n- Description: Sets the Language Model filter list, semicolon-separated\n- Example: `llama3.1:instruct;gemma2:latest`\n\n#### `WEBHOOK_URL`\n\n- Type: `str`\n- Description: Sets a webhook for integration with Slack/Microsoft Teams.\n\n#### `ENABLE_ADMIN_EXPORT`\n\n- Type: `bool`\n- Default: `True`\n- Description: Controls whether admin users can export data.\n\n#### `ENABLE_ADMIN_CHAT_ACCESS`\n\n- Type: `bool`\n- Default: `True`\n- Description: Enables admin users to access all chats.\n\n#### `ENABLE_COMMUNITY_SHARING`\n\n- Type: `bool`\n- Default: `True`\n- Description: Controls whether users are shown the share to community button.\n\n#### `ENABLE_MESSAGE_RATING`\n\n- Type: `bool`\n- Default: `True`\n- Description: Enables message rating feature.\n\n#### `WEBUI_BUILD_HASH`\n\n- Type: `str`\n- Default: `dev-build`\n- Description: Used for identifying the Git SHA of the build for releases."}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: c83c17e1-4072-4d9d-b9f1-80d444ca56fa
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "#### `WEBUI_BANNERS`\n\n- Type: `list` of `dict`\n- Default: `[]`\n- Description: List of banners to show to users. Format of banners are:\n\n```json\n[{\"id\": \"string\",\"type\": \"string [info, success, warning, error]\",\"title\": \"string\",\"content\": \"string\",\"dismissible\": False,\"timestamp\": 1000}]\n```\n\n#### `WEBUI_AUTH_TRUSTED_EMAIL_HEADER`\n\n- Type: `str`\n- Description: Defines the trusted request header for authentication. See [SSO docs](/features/sso).\n\n#### `WEBUI_AUTH_TRUSTED_NAME_HEADER`\n\n- Type: `str`\n- Description: Defines the trusted request header for the username of anyone registering with the\n`WEBUI_AUTH_TRUSTED_EMAIL_HEADER` header. See [SSO docs](/features/sso).\n\n#### `WEBUI_SECRET_KEY`\n\n- Type: `str`\n- Default: `t0p-s3cr3t`\n- Docker Default: Randomly generated on first start\n- Description: Overrides the randomly generated string used for JSON Web Token.\n\n#### `JWT_EXPIRES_IN`"}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: e22e1141-b7f4-4247-9190-a974e99d4795
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "#### `JWT_EXPIRES_IN`\n\n- Type: `int`\n- Default: `-1`\n- Description: Sets the JWT expiration time in seconds. A value of -1 disables expiration.\n\n#### `USE_CUDA_DOCKER`\n\n- Type: `bool`\n- Default: `False`\n- Description: Builds the Docker image with NVIDIA CUDA support. Enables GPU acceleration\nfor local Whisper and embeddings.\n\n#### `DATABASE_URL`\n\n- Type: `str`\n- Default: `sqlite:///${DATA_DIR}/webui.db`\n- Description: Specifies the database URL to connect to.\n\n:::info\nSupports SQLite and Postgres. Changing the URL does not migrate data between databases.\nDocumentation on URL scheme available [here](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls).\n:::\n\n#### `DATABASE_POOL_SIZE`\n\n- Type: `int`\n- Default: `0`\n- Description: Specifies the size of the database pool. A value of `0` disables pooling.\n\n#### `DATABASE_POOL_MAX_OVERFLOW`\n\n- Type: `int`\n- Default: `0`\n- Description: Specifies the database pool max overflow."}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 177a828d-c9de-4530-bbd7-28dcb52a3f6a
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "- Type: `int`\n- Default: `0`\n- Description: Specifies the database pool max overflow.\n\n:::info\nMore information about this setting can be found [here](https://docs.sqlalchemy.org/en/20/core/pooling.html#sqlalchemy.pool.QueuePool.params.max_overflow).\n:::\n\n#### `DATABASE_POOL_TIMEOUT`\n\n- Type: `int`\n- Default: `30`\n- Description: Specifies the database pool timeout in seconds to get a connection.\n\n:::info\nMore information about this setting can be found [here](https://docs.sqlalchemy.org/en/20/core/pooling.html#sqlalchemy.pool.QueuePool.params.timeout).\n:::\n\n#### `DATABASE_POOL_RECYCLE`\n\n- Type: `int`\n- Default: `3600`\n- Description: Specifies the database pool recycle time in seconds.\n\n:::info\nMore information about this setting can be found [here](https://docs.sqlalchemy.org/en/20/core/pooling.html#setting-pool-recycle).\n:::\n\n#### `PORT`\n\n- Type: `int`\n- Default: `8080`\n- Description: Sets the port to run Open WebUI from."}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 33ec1e82-1ad5-4405-8cb3-101a93e4852f
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "#### `PORT`\n\n- Type: `int`\n- Default: `8080`\n- Description: Sets the port to run Open WebUI from.\n\n:::info\nIf installed via Python, you must instead pass `--port` as a command line argument.\n:::\n\n#### `RESET_CONFIG_ON_START`\n\n- Type: `bool`\n- Default: `False`\n- Description: Resets the `config.json` file on startup.\n\n#### `DEFAULT_LOCALE`\n\n- Type: `str`\n- Default: `en`\n- Description: Sets the default locale for the application.\n\n#### `FUNCTIONS_DIR`\n\n- Type: `str`\n- Default: `./functions`\n- Description: Specifies the directory for custom functions.\n\n#### `SHOW_ADMIN_DETAILS`\n\n- Type: `bool`\n- Default: `True`\n- Description: Toggles whether to show admin user details in the interface.\n\n#### `ADMIN_EMAIL`\n\n- Type: `str`\n- Description: Sets the admin email shown by `SHOW_ADMIN_DETAILS`\n\n#### `SAFE_MODE`\n\n- Type: `bool`\n- Default: `False`\n- Description: Enables safe mode, which disables potentially unsafe features, deactivating all functions.\n\n#### `ENABLE_FORWARD_USER_INFO_HEADERS`"}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 01007768-6333-4c5b-a6c1-268b22c84114
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "#### `ENABLE_FORWARD_USER_INFO_HEADERS`\n\n- type: `bool`\n- Default: `False`\n- Description: Forwards user information (name, id, email, and role) as X-headers to OpenAI API.\nIf enabled, the following headers are forwarded:\n  - `X-OpenWebUI-User-Name`\n  - `X-OpenWebUI-User-Id`\n  - `X-OpenWebUI-User-Email`\n  - `X-OpenWebUI-User-Role`\n\n#### `WEBUI_SESSION_COOKIE_SAME_SITE`\n\n- Type: `str` (enum: `lax`, `strict`, `none`)\n- Options:\n  - `lax` - Sets the `SameSite` attribute to lax, allowing session cookies to be sent with\nrequests initiated by third-party websites.\n  - `strict` - Sets the `SameSite` attribute to strict, blocking session cookies from being sent\nwith requests initiated by third-party websites.\n  - `none` - Sets the `SameSite` attribute to none, allowing session cookies to be sent with\nrequests initiated by third-party websites, but only over HTTPS.\n- Default: `lax`\n- Description: Sets the `SameSite` attribute for session cookies.\n\n#### `WEBUI_SESSION_COOKIE_SECURE`"}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: bbcaf61c-9a89-4e3b-8eea-6ded2648e8d8
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "#### `WEBUI_SESSION_COOKIE_SECURE`\n\n- Type: `bool`\n- Default: `False`\n- Description: Sets the `Secure` attribute for session cookies if set to `True`.\n\n#### `CONTENT_SECURITY_POLICY`\n\n- Type: `str`\n- Description: Sets the `content-security-policy` HTTP header\n- Example: `default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' https://* data:; child-src 'none'; font-src 'self' data:; worker-src 'self';`\n\n#### `AIOHTTP_CLIENT_TIMEOUT`\n\n- Type: `int`\n- Description: Sets the timeout in seconds for internal aiohttp connections. This impacts things\nsuch as connections to Ollama and OpenAI endpoints.\n\n#### `AIOHTTP_CLIENT_TIMEOUT_OPENAI_MODEL_LIST`\n\n- Type: `int`\n- Description: Sets the timeout in seconds for fetching the OpenAI model list. This can be useful in cases where network latency requires a longer timeout duration to successfully retrieve the model list.\n\n#### `FONTS_DIR`\n\n- Type: `str`\n- Description: Specifies the directory for fonts.\n\n### Ollama"}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: a1cd7f2a-8f76-48bb-8881-aa4782d1e66d
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "#### `FONTS_DIR`\n\n- Type: `str`\n- Description: Specifies the directory for fonts.\n\n### Ollama\n\n#### `ENABLE_OLLAMA_API`\n\n- Type: `bool`\n- Default: `True`\n- Description: Enables the use of Ollama APIs.\n\n#### `OLLAMA_BASE_URL`\n\n- Type: `str`\n- Default: `http://localhost:11434`\n- Docker Default:\n  - If `K8S_FLAG` is set: `http://ollama-service.open-webui.svc.cluster.local:11434`\n  - If `USE_OLLAMA_DOCKER=True`: `http://localhost:11434`\n  - Else `http://host.docker.internal:11434`\n- Description: Configures the Ollama backend URL.\n\n#### `OLLAMA_BASE_URLS`\n\n- Type: `str`\n- Description: Configures load-balanced Ollama backend hosts, separated by `;`. See\n[`OLLAMA_BASE_URL`](#ollama_base_url). Takes precedence over[`OLLAMA_BASE_URL`](#ollama_base_url).\n\n#### `USE_OLLAMA_DOCKER`\n\n- Type: `bool`\n- Default: `False`\n- Description: Builds the Docker image with a bundled Ollama instance.\n\n#### `K8S_FLAG`"}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 6323cf9c-fca6-4588-aa03-08a21a5fb2c4
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "#### `K8S_FLAG`\n\n- Type: `bool`\n- Description: If set, assumes Helm chart deployment and sets [`OLLAMA_BASE_URL`](#ollama_base_url) to `http://ollama-service.open-webui.svc.cluster.local:11434`\n\n### OpenAI\n\n#### `ENABLE_OPENAI_API`\n\n- Type: `bool`\n- Default: `True`\n- Description: Enables the use of OpenAI APIs.\n\n#### `OPENAI_API_BASE_URL`\n\n- Type: `str`\n- Default: `https://api.openai.com/v1`\n- Description: Configures the OpenAI base API URL.\n\n#### `OPENAI_API_BASE_URLS`\n\n- Type: `str`\n- Description: Supports balanced OpenAI base API URLs, semicolon-separated.\n- Example: `http://host-one:11434;http://host-two:11434`\n\n#### `OPENAI_API_KEY`\n\n- Type: `str`\n- Description: Sets the OpenAI API key.\n\n#### `OPENAI_API_KEYS`\n\n- Type: `str`\n- Description: Supports multiple OpenAI API keys, semicolon-separated.\n- Example: `sk-124781258123;sk-4389759834759834`\n\n### Tasks\n\n#### `TASK_MODEL`"}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 2ae60362-0776-4492-9140-85842bd29644
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "### Tasks\n\n#### `TASK_MODEL`\n\n- Type: `str`\n- Description: The default model to use for tasks such as title and web search query generation\nwhen using Ollama models.\n\n#### `TASK_MODEL_EXTERNAL`\n\n- Type: `str`\n- Description: The default model to use for tasks such as title and web search query generation\nwhen using OpenAI-compatible endpoints.\n\n#### `TITLE_GENERATION_PROMPT_TEMPLATE`\n\n- Type: `str`\n- Description: Prompt to use when generating chat titles.\n- Default:\n\n```\nCreate a concise, 3-5 word title with an emoji as a title for the prompt in the given language. Suitable Emojis for the summary can be used to enhance understanding but avoid quotation marks or special formatting. RESPOND ONLY WITH THE TITLE TEXT.\n\nExamples of titles:\n\ud83d\udcc9 Stock Market Trends\n\ud83c\udf6a Perfect Chocolate Chip Recipe\nEvolution of Music Streaming\nRemote Work Productivity Tips\nArtificial Intelligence in Healthcare\n\ud83c\udfae Video Game Development Insights\n\nPrompt: {{prompt:middletruncate:8000}}\n```"}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 46878090-9781-4ea5-bd5d-4eebcbf4ad1d
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "Prompt: {{prompt:middletruncate:8000}}\n```\n\n#### `SEARCH_QUERY_GENERATION_PROMPT_TEMPLATE`\n\n- Type: `str`\n- Description: Prompt to use when generating search queries.\n- Default:\n\n```\nAssess the need for a web search based on the current question and prior interactions, but lean towards suggesting a Google search query if uncertain. Generate a Google search query even when the answer might be straightforward, as additional information may enhance comprehension or provide updated data. If absolutely certain that no further information is required, return an empty string. Default to a search query if unsure or in doubt. Today's date is {{CURRENT_DATE}}.\n\nCurrent Question:\n{{prompt:end:4000}}\n\nInteraction History:\n{{MESSAGES:END:6}}\n```\n\n#### `TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE`\n\n- Type: `str`\n- Description: Prompt to use when calling tools.\n- Default:"}


created_at: 2024-12-28 04:06:21
topic: persistent://default/default/b6de8a8b-537e-4b0e-b8b5-652445befdfa
id: 6db6ebb2-489c-4a10-bff7-c4e3fcbcfbd5
encoding: FLOAT32
metadata:
{"created_by": "fd14fd72-e381-4cf3-a8f9-e171967d318c", "embedding_config": "{\"engine\": \"\", \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"}", "file_id": "079c8e0b-ac11-4fea-9a51-c24e0b4b8915", "hash": "c790d68c79ccf875fbc5bfb2ce7506ff85315e8f508320d65cf16296f6565289", "name": "env-configuration.md", "source": "env-configuration.md", "start_index": 0, "chroma:document": "- Type: `str`\n- Description: Prompt to use when calling tools.\n- Default:\n\n```\nAvailable Tools: {{TOOLS}}\\nReturn an empty string if no tools match the query. If a function tool matches, construct and return a JSON object in the format {\\\"name\\\": \\\"functionName\\\", \\\"parameters\\\": {\\\"requiredFunctionParamKey\\\": \\\"requiredFunctionParamValue\\\"}} using the appropriate tool and its parameters. Only return the object and limit the response to the JSON object without additional text.\n```\n\n#### `CORS_ALLOW_ORIGIN`\n\n- Type: `str`\n- Default: `*`\n- Description: Sets the allowed origins for Cross-Origin Resource Sharing (CORS).\n\n### RAG\n\n#### `VECTOR_DB`\n\n- Type: `str`\n- Default: `chroma`\n- Description: Specifies which vector database system to use, either 'chroma' for ChromaDB or 'milvus' for Milvus. This setting determines which vector storage system will be used for managing embeddings.\n\n#### `CHROMA_TENANT`"}


