Commit graph

765 commits

Author SHA1 Message Date
Tim Jaeryang Baek
4cccb097f9
Merge pull request #16131 from open-webui/main
refac
2025-07-29 23:46:00 +04:00
Timothy Jaeryang Baek
b8da4a8cd8 refac 2025-07-29 23:45:25 +04:00
Konosuke Kachi
0a8f482264 fix: properly handle full URLs in form_data.path 2025-07-28 23:34:23 +09:00
Tim Jaeryang Baek
58dbd869ba
Merge pull request #16071 from GSAlex/main
fix: Render template variables in folder system prompts
2025-07-28 17:40:47 +04:00
Yang Yang
b52d28c94c fix: Render template variables in folder system prompts
Fixes #16019
2025-07-27 23:20:43 +08:00
Sihyeon Jang
f59da361f1 feat: Re-use Redis connection pools via local cache to prevent transient exhaustion
Every call to get_redis_connection() spawned a new pool, so workers slowly accumulated thousands of open sockets. Even though connections were eventually released, skewed release timing still pushed us past Redis’ max-clients and the cluster egress IP cap.

A module-level _CONNECTION_CACHE now memoises pools by (redis_url, sentinel_hosts, async_mode, decode_responses).

Result: flat connection count, no more IP or FD exhaustion. Public API unchanged.

Signed-off-by: Sihyeon Jang <sihyeon.jang@navercorp.com>
2025-07-24 18:44:42 +09:00
Timothy Jaeryang Baek
bf3c807047 refac 2025-07-22 11:38:47 +04:00
Timothy Jaeryang Baek
d8b80caff3 refac/fix: remove insecure arg for otel http exporter 2025-07-21 16:35:23 +04:00
Timothy Jaeryang Baek
a638a187bb refac 2025-07-19 19:32:52 +04:00
Adam Tao
739098ab60 feat(logger): Add trace_id and span_id to log
Signed-off-by: Adam Tao <tcx4c70@gmail.com>
2025-07-19 18:36:54 +08:00
Timothy Jaeryang Baek
ea18ffdade refac/fix 2025-07-19 12:17:35 +04:00
Tim Jaeryang Baek
a395abd5d7
Merge pull request #15794 from expruc/feat/otel_user_metrics
feat: open telemetry user metrics
2025-07-18 14:22:21 +04:00
Tim Jaeryang Baek
3500d26931
Merge pull request #15825 from EventHorizon-AI/fix/ollama-tool-call
fix: ollama tool call
2025-07-18 12:58:07 +04:00
Timothy Jaeryang Baek
2fa8aff82f refac/fix: tag handling 2025-07-18 11:56:40 +04:00
EntropyYue
260137fc12 fix: ollama tool call 2025-07-18 06:11:53 +08:00
expruc
cbbc4cfd26 added active and total user metrics 2025-07-16 22:06:36 +03:00
Timothy Jaeryang Baek
83c09f15ac refac/enh: reasoning tag handling 2025-07-16 15:20:03 +04:00
Tim Jaeryang Baek
5832c3ea97
Merge pull request #15718 from sihyeonn/feat/sh-support-failover
feat: add Redis Sentinel failover support for high availability
2025-07-16 14:39:42 +04:00
Timothy Jaeryang Baek
abe280f0a3 refac/fix: reranking function 2025-07-16 13:56:02 +04:00
Sihyeon Jang
9067eac4ca chore: add log for redis.exceptions
Signed-off-by: Sihyeon Jang <sihyeon.jang@navercorp.com>
2025-07-16 15:23:18 +09:00
Sihyeon Jang
65882c30cb refactor: change MAX_RETRY_COUNT as env
Signed-off-by: Sihyeon Jang <sihyeon.jang@navercorp.com>
2025-07-16 15:23:18 +09:00
Sihyeon Jang
1b7ac7c739 chore: format, lint
Signed-off-by: Sihyeon Jang <sihyeon.jang@navercorp.com>
2025-07-16 15:23:18 +09:00
Sihyeon Jang
423d0923d9 feat: add Redis Sentinel failover support for high availability
- Implement SentinelRedisProxy class with automatic master discovery
- Add retry logic for handling connection failures and read-only errors
- Support both async and sync Redis operations with Sentinel
- Ensure backward compatibility with existing Redis configurations
- Provide seamless failover during master node outages

This enhancement significantly improves system reliability by eliminating
single points of failure in Redis deployments and ensuring continuous
service availability during infrastructure issues.

Signed-off-by: Sihyeon Jang <sihyeon.jang@navercorp.com>
2025-07-16 15:23:17 +09:00
Timothy Jaeryang Baek
18bd83413b refac 2025-07-14 14:05:06 +04:00
Timothy Jaeryang Baek
0013f5c1fc refac/enh: forward user info header to reranker 2025-07-14 13:59:10 +04:00
Timothy Jaeryang Baek
80f3c97668 refac: folder chat handling
Co-Authored-By: Classic298 <27028174+Classic298@users.noreply.github.com>
2025-07-13 01:26:56 +04:00
Timothy Jaeryang Baek
4351702587 refac 2025-07-12 02:38:52 +04:00
Timothy Jaeryang Baek
0202926e35 refac 2025-07-11 18:09:24 +04:00
Ioannis Papapanagiotou
54d606eabf refactor(logger): Conditionally include extra_json in logs 2025-07-11 01:29:27 -07:00
Timothy Jaeryang Baek
3b9d86de0b refac 2025-07-11 12:00:21 +04:00
Tim Jaeryang Baek
9d8378d2e2
Merge pull request #15604 from EventHorizon-AI/fix/tool-results
fix: tool results
2025-07-09 12:45:10 +04:00
EntropyYue
5b8007fcb5 fix: tool result frontend 2025-07-09 15:01:19 +08:00
EntropyYue
dc0d420af5 fix: tool result 2025-07-09 14:40:53 +08:00
Timothy Jaeryang Baek
3a9d5b0494 refac 2025-07-07 23:51:01 +04:00
Timothy Jaeryang Baek
cfcfefb20c refac: tools handling 2025-07-07 11:42:52 +04:00
Timothy Jaeryang Baek
05a9b72670 refac/fix: base model cache 2025-07-07 11:30:27 +04:00
Timothy Jaeryang Baek
e28bc37e41 enh: AUDIT_UVICORN_LOGGER_NAMES 2025-07-03 21:54:25 +04:00
Timothy Jaeryang Baek
8b35ea6eea enh: OTEL_OTLP_SPAN_EXPORTER 2025-06-30 15:52:32 +04:00
Timothy Jaeryang Baek
8a334decf6 refac: ENABLE_MODEL_LIST_CACHE -> ENABLE_BASE_MODELS_CACHE 2025-06-30 13:27:07 +04:00
Timothy Jaeryang Baek
962e078a9a refac 2025-06-28 19:15:52 +04:00
Timothy Jaeryang Baek
8e95e5267c refac 2025-06-25 13:36:41 +04:00
Timothy Jaeryang Baek
1f123eb100 refac 2025-06-25 12:20:08 +04:00
Timothy Jaeryang Baek
947b77db24 refac 2025-06-24 10:36:33 +04:00
Timothy Jaeryang Baek
f4b92868c4 refac 2025-06-23 12:54:50 +04:00
Jesper Kristensen
4119ab261e
Added support for basic auth wiht OTEL exporter 2025-06-18 11:42:33 +02:00
Timothy Jaeryang Baek
0134b5eca4 fix: action reserved user param 2025-06-18 10:50:49 +04:00
Timothy Jaeryang Baek
340d9820b8 refac 2025-06-16 18:33:45 +04:00
Timothy Jaeryang Baek
ab877e1d7e refac 2025-06-16 17:18:43 +04:00
Timothy Jaeryang Baek
6a5aac43df refac 2025-06-16 15:29:40 +04:00
Tim Jaeryang Baek
d6664369a1
Merge pull request #14886 from Constantinople-AI/fix-no-arg-mcp-call
Isolated fix to single section
2025-06-16 15:28:48 +04:00
Tim Jaeryang Baek
61d8d2f2cb
Merge pull request #14197 from jk-f5/otel_metrics
feat: Add OpenTelemetry Metrics Support via OTLP Exporter
2025-06-16 12:49:41 +04:00
Timothy Jaeryang Baek
ea578af45f refac: use first user message as title instead of 'new chat' 2025-06-16 12:37:41 +04:00
Jason Kidd
fced3efd98
fix: Trailing slash was never removed from request.base_url because it's not a string but rather a starlette.datastructures.URL 2025-06-12 12:29:08 -07:00
Tim Jaeryang Baek
09bbcee391
Merge pull request #14893 from tcx4c70/fix/log-format-error
fix(tools): not all arguments converted during string formatting
2025-06-12 12:30:31 +04:00
Timothy Jaeryang Baek
9b9d5d84f4 fix: trusted header email case sensitive issue 2025-06-12 12:22:15 +04:00
Taehong Gu
ba591d8c41 Configure LDAP group synchronization with Open WebUI 2025-06-11 23:55:31 +09:00
Adam Tao
809d91a3df fix(tools): not all arguments converted during string formatting
Signed-off-by: Adam Tao <tcx4c70@gmail.com>
2025-06-11 21:36:36 +08:00
2underscores
88c8ea883c Isolated fix to single section 2025-06-11 19:58:55 +10:00
Jason Kidd
210dc746f0
feat: Add OpenTelemetry Metrics Support via OTLP Exporter 2025-06-10 10:52:10 -07:00
Timothy Jaeryang Baek
b39d33cefb refac 2025-06-10 16:52:37 +04:00
Timothy Jaeryang Baek
a28bec865b refac 2025-06-10 13:16:44 +04:00
Timothy Jaeryang Baek
b7a91b1963 refac: ollama response 2025-06-10 13:10:31 +04:00
Timothy Jaeryang Baek
0b336fb6f1 refac 2025-06-10 12:53:18 +04:00
Timothy Jaeryang Baek
8f68b25510 enh/refac: ollama advanced params 2025-06-10 12:48:34 +04:00
Tim Jaeryang Baek
6d4f449085
Merge pull request #14775 from janaki-sasidhar/fix/insecure-user-switching-when-trusted-email-header
fix: verify trusted email header matches active user session
2025-06-09 17:44:30 +04:00
Timothy Jaeryang Baek
ea8dc333ee refac/fix: multi-replica tasks 2025-06-09 17:21:10 +04:00
Timothy Jaeryang Baek
db3c26ab7a refac: async redis 2025-06-09 15:37:05 +04:00
Timothy Jaeryang Baek
0c57980e72 refac: tasks 2025-06-08 20:58:31 +04:00
sasidhar
6860dec08f fix: properly sign out user on trusted email mismatch
When using trusted email header authentication, properly sign out the user
when the logged-in user's email doesn't match the trusted email header value.
This ensures proper session cleanup when the OAuth server changes the
authenticated user.

- Add response parameter to get_current_user function
- Delete JWT token cookie on email mismatch
- Delete OAuth token cookie if present
- Force re-authentication with 401 error
2025-06-08 14:26:55 +05:30
sasidhar
61f49ff580 fix: ensure trusted email header matches logged-in user
When using trusted email header authentication, verify that the logged-in user's
email matches the value in the header. This prevents session conflicts when the
OAuth server changes the authenticated user.

- Move trusted email verification after user existence check
- Raise 401 if email mismatch is detected
- Only perform verification when WEBUI_AUTH_TRUSTED_EMAIL_HEADER is enabled
2025-06-08 14:16:10 +05:30
Rodrigo Agundez
41e28a9f6f Use standardized procedure to save and load images 2025-06-08 16:26:58 +08:00
Rodrigo Agundez
bb09245792 Inject code to block imports from blacklisted modules
Co-authored-by: KG <kahghi@users.noreply.github.com>
2025-06-05 23:21:37 +08:00
Olivier Lacroix
4f982e244f Ensure tool callable can be used by genai directly 2025-06-05 10:58:22 +10:00
Timothy Jaeryang Baek
5e35aab292 chore: format 2025-06-05 01:12:28 +04:00
Timothy Jaeryang Baek
ab36b8aeae refac: embeddings endpoint 2025-06-05 00:37:31 +04:00
Tim Jaeryang Baek
14e158fde9
Merge pull request #14667 from hdnh2006/main
feat: OpenAI-compatible `/api/embeddings` endpoint with provider-agnostic OpenWebUI architecture
2025-06-05 00:25:56 +04:00
henry
04da2b05f6 convert embedding function name to be more consistence 2025-06-04 18:24:27 +02:00
henry
cc12e9e1a3 Ollama embeddings adapted to pydantic 2025-06-04 17:06:38 +02:00
henry
8f6c3f46d6 payload and response modifed for compatibility 2025-06-04 16:11:40 +02:00
henry
e0769c6a1f new embedding.py added for handling openai and ollama embedding 2025-06-04 16:09:39 +02:00
Timothy Jaeryang Baek
bbafeca495 refac: reserved __user__ param format 2025-06-04 15:53:07 +04:00
Timothy Jaeryang Baek
d2b5a1614a refac 2025-06-03 21:52:25 +04:00
Timothy Jaeryang Baek
185249623b feat: follow ups backend integration 2025-06-03 18:47:49 +04:00
Timothy Jaeryang Baek
9e49fbc8bf feat: follow ups 2025-06-03 18:07:29 +04:00
Timothy Jaeryang Baek
4e82c44f3e refac 2025-05-31 15:04:38 +04:00
Timothy Jaeryang Baek
be989f3645 refac: better memory error handling 2025-05-30 00:12:28 +04:00
Timothy Jaeryang Baek
4c45d67677 refac/fix: memory 2025-05-30 00:10:52 +04:00
Timothy Jaeryang Baek
4371d2c5a5 enh: better custom param handling 2025-05-29 23:32:14 +04:00
Timothy Jaeryang Baek
d43bbcae28 refac/fix: open webui params handling 2025-05-29 12:57:58 +04:00
Timothy Jaeryang Baek
9220afe7b3 feat: custom advanced params 2025-05-29 03:33:11 +04:00
Timothy Jaeryang Baek
bb4115fa0e refac: allow all params 2025-05-29 02:56:37 +04:00
Timothy Jaeryang Baek
551597b9cc chore: format 2025-05-29 02:36:33 +04:00
Timothy Jaeryang Baek
d81886e315 refac 2025-05-28 01:42:42 +04:00
Timothy Jaeryang Baek
7effb04782 refac 2025-05-28 01:41:49 +04:00
Timothy Jaeryang Baek
f5fefb49d5 refac 2025-05-28 01:38:24 +04:00
Timothy Jaeryang Baek
e4a53e0a3c refac 2025-05-28 01:34:53 +04:00
Tim Jaeryang Baek
100a764293
Merge pull request #14402 from torisetxd/parallelized-model-fetching
perf: Parallelize base model fetching
2025-05-27 16:56:44 +04:00
Timothy Jaeryang Baek
1d216b82ba refac 2025-05-27 16:48:17 +04:00
toriset
9eccce2444
Added proper type hints to new functions
Forgot about that...
2025-05-27 15:44:20 +03:00
toriset
27de981246
Parallelize base model fetching 2025-05-27 15:35:16 +03:00
Timothy Jaeryang Baek
40bea00e3d refac 2025-05-27 16:06:00 +04:00
Timothy Jaeryang Baek
b944acd3ff refac: function cache 2025-05-27 14:39:35 +04:00
Gunwoo Hur
14c3d0c2d1 Prevent duplicate function module loads with caching helper and refactor 2025-05-27 18:08:58 +09:00
Timothy Jaeryang Baek
5c74e56bd0 chore: format 2025-05-27 02:18:43 +04:00
Tim Jaeryang Baek
1cb8fa0f03
Merge pull request #14362 from PVBLIC-F/fix/chat-engagement-critical
Fix/chat engagement critical
2025-05-27 02:17:34 +04:00
cheadings71
256034e285 Update misc.py
Before fix: Chat engagement failed with TypeError and KeyError
After fix: Chat works smoothly with automatic title generation and proper history
2025-05-26 14:55:48 -07:00
cheadings71
d414662d23 fix: resolve chat engagement TypeError - Fix get_message_list() to return [] instead of None - Fix middleware to use correct metadata message_id - Add safe fallback for missing role field - Ensure assistant messages include role field 2025-05-26 14:35:09 -07:00
Timothy Jaeryang Baek
2c7ccc69fe enh: allow custom openapi json url 2025-05-27 00:20:47 +04:00
Timothy Jaeryang Baek
a38e44e870 enh: external tool server custom name/description support 2025-05-27 00:10:33 +04:00
Timothy Jaeryang Baek
2d5b82df8c enh: include sources field in non-streaming response 2025-05-26 22:22:37 +04:00
Timothy Jaeryang Baek
fc5dfd3536 refac 2025-05-26 22:02:40 +04:00
fl0w1nd
332043c38b fix: Correctly handle toggle filters to prevent unintended activation 2025-05-25 17:59:31 +08:00
Tim Jaeryang Baek
e663b90a9f
Merge pull request #14069 from Ithanil/bm25_weight
feat: Configurable weight for BM25Retriever during hybrid search
2025-05-24 01:13:03 +04:00
Timothy Jaeryang Baek
bf97dbe052 refac 2025-05-24 01:12:11 +04:00
Timothy Jaeryang Baek
80eaa24ca8 enh: provide source name in context if available 2025-05-24 00:52:09 +04:00
Timothy Jaeryang Baek
8b5e89eada chore: format 2025-05-24 00:43:38 +04:00
Jan Kessler
e70dd33233
rename BM25_WEIGHT -> HYBRID_BM25_WEIGHT 2025-05-23 22:06:44 +02:00
Tim Jaeryang Baek
99f88082ca
Merge pull request #14248 from diwakar-s-maurya/patch-3
feat: Show tool call parameters along tool ouput
2025-05-23 22:55:08 +04:00
Diwakar Singh Maurya
549237fb05 Show tool call parameters along tool ouput 2025-05-23 17:42:05 +00:00
Timothy Jaeryang Baek
797c7d4e56 refac: allow min_p for openai requests 2025-05-23 21:28:02 +04:00
Timothy Jaeryang Baek
a2f12db8d9 refac: memories 2025-05-23 03:26:14 +04:00
Timothy Jaeryang Baek
4c55ad71a7 fix: local/external models 2025-05-23 02:48:31 +04:00
Timothy Jaeryang Baek
a68ec8822a enh: filter md image for task generations 2025-05-23 01:33:08 +04:00
Timothy Jaeryang Baek
d4c3cfbaba refac: oauth redirect url to use WEBUI_URL 2025-05-23 01:03:28 +04:00
Timothy Jaeryang Baek
787987d2f0 refac/fix: optional tool param type 2025-05-22 12:41:00 +04:00
Timothy Jaeryang Baek
e3e7eb96f6 refac 2025-05-20 23:55:11 +04:00
Timothy Jaeryang Baek
74ace200fe fix/refac: functions multi-replica issue 2025-05-20 20:20:27 +04:00
Jan Kessler
308d8ac04a
make bm25_weight a regular parameter of query_doc.. / get_sources_from_files functions 2025-05-20 11:46:32 +02:00
Tim Jaeryang Baek
fbcc80485b
Merge pull request #13972 from jarrod-lowe/otel-attrs
feat: Add user details to opentelemetry spans
2025-05-17 21:54:56 +04:00
Timothy Jaeryang Baek
08e4c163ea feat: local/external connections 2025-05-17 01:47:48 +04:00
Jarrod Lowe
df853246f3 Add user details to otel span 2025-05-17 09:11:26 +12:00
Timothy Jaeryang Baek
359bcb837d refac 2025-05-17 00:08:03 +04:00
Timothy Jaeryang Baek
ecae944fd0 refac 2025-05-16 23:59:24 +04:00
Timothy Jaeryang Baek
1f38350128 feat: toggle filter middleware 2025-05-16 23:33:02 +04:00
Timothy Jaeryang Baek
b61efcf54a feat: toggle filter 2025-05-16 22:59:02 +04:00
Timothy Jaeryang Baek
7bbeaec93b revert 2025-05-16 22:43:42 +04:00
Timothy Jaeryang Baek
363ac35c09 refac 2025-05-16 22:17:47 +04:00
Tim Jaeryang Baek
50bc6d9b12
Merge pull request #13919 from dongfangzan/main
feat: add switching thinking/non-thinking modes to models
2025-05-16 22:08:04 +04:00
Timothy Jaeryang Baek
07b5e84221 refac 2025-05-16 21:29:50 +04:00
Timothy Jaeryang Baek
528a2cf96a refac 2025-05-16 18:19:28 +04:00
Timothy Jaeryang Baek
2aa5e73728 refac: filter details 2025-05-16 18:01:55 +04:00
Timothy Jaeryang Baek
dec9dd1ac0 refac: web search queries 2025-05-16 17:11:42 +04:00
dongfangzan
9b93b81f84 feat: add switching thinking/non-thinking modes to models 2025-05-15 19:56:10 +08:00
Timothy Jaeryang Baek
b143c71da2 refac: AIOHTTP_CLIENT_SESSION_SSL 2025-05-14 23:33:52 +04:00
Timothy Jaeryang Baek
04287eb6d6 refac 2025-05-14 23:27:34 +04:00
hwzhuhao
fb2950201a refactor: replace print statements with logging 2025-05-12 22:18:47 +08:00
Timothy Jaeryang Baek
c61790b355 chore: format 2025-05-10 19:00:01 +04:00
Timothy Jaeryang Baek
34ec10a78c refac: web search performance
Co-Authored-By: Mabeck <64421281+mmabeck@users.noreply.github.com>
2025-05-10 17:54:41 +04:00
Anthony Uk
337ece4d50 code_interpreter.py: allow non-root jupyter base_url 2025-05-09 20:32:01 +02:00
Alexander Grimm
a655bb5a63 skip checks in title gen 2025-05-08 06:55:43 +00:00