Commit graph

792 commits

Author SHA1 Message Date
Timothy Jaeryang Baek
1bc9711afd refac 2025-09-05 17:28:05 +04:00
Timothy Jaeryang Baek
df66e21472 enh: regex pattern support for groups 2025-09-03 18:50:02 +04:00
Timothy Jaeryang Baek
37bf0087e5 refac: tool message format 2025-09-03 13:57:14 +04:00
Sihyeon Jang
0503fbd2e3 perf: fix N+1 query issue in tools access control checking
- Pre-fetch user group IDs once per request in get_tools endpoint
- Pass user_group_ids to has_access to avoid repeated group queries
- Optimize access control validation from 1+N to 1+1 query pattern
- Reduce database load when checking multiple tools access permissions

Signed-off-by: Sihyeon Jang <sihyeon.jang@navercorp.com>
2025-09-03 05:49:53 +09:00
Timothy Jaeryang Baek
e830b4959e enh: llama cpp timing stats 2025-09-01 22:49:49 +04:00
Timothy Jaeryang Baek
f56889c5c7 fix: fillter exception handling 2025-09-01 14:14:20 +04:00
Timothy Jaeryang Baek
ed5d95f434 refac 2025-09-01 02:41:29 +04:00
Timothy Jaeryang Baek
77b65ccbfb refac/enh: forward headers to tool server 2025-09-01 01:52:10 +04:00
Timothy Jaeryang Baek
e0ab5adb97 refac 2025-08-31 23:52:50 +04:00
Timothy Jaeryang Baek
b0f6f24ca8 refac 2025-08-31 23:42:34 +04:00
Timothy Jaeryang Baek
e7c7c65227 refac/fix: error message 2025-08-28 02:35:29 +04:00
Timothy Jaeryang Baek
e39ce16a86 enh: custom reasoning tags 2025-08-27 17:24:16 +04:00
Timothy Jaeryang Baek
31485835a7 enh: query caching
Co-Authored-By: Jacob Leksan <63938553+jmleksan@users.noreply.github.com>
2025-08-27 03:07:21 +04:00
Timothy Jaeryang Baek
e4b6855984 enh: CHAT_RESPONSE_MAX_TOOL_CALL_RETRIES 2025-08-27 02:58:25 +04:00
Timothy Jaeryang Baek
43b2eca418 refac 2025-08-22 14:01:57 +04:00
Timothy Jaeryang Baek
278a4edd0b fix: tool server not loading 2025-08-22 13:44:03 +04:00
Timothy Jaeryang Baek
efcf6db687 refac 2025-08-21 04:46:43 +04:00
Timothy Jaeryang Baek
66f00ce4bf refac 2025-08-21 04:40:08 +04:00
Timothy Jaeryang Baek
094a16ab49 refac 2025-08-21 03:38:26 +04:00
Timothy Jaeryang Baek
faf01bdeac fix: None Type tool installation during startup
Co-Authored-By: Adam Outler <adamoutler@gmail.com>
2025-08-20 23:58:08 +04:00
Timothy Jaeryang Baek
919d65f36f feat/enh: ENABLE_OTEL_TRACES granular otel support 2025-08-20 23:03:12 +04:00
Timothy Jaeryang Baek
b3a95f40fc refac/enh: add performance indexes
Co-Authored-By: decent-engineer-decent-datascientist <77806775+decent-engineer-decent-datascientist@users.noreply.github.com>
2025-08-19 03:24:10 +04:00
Tim Jaeryang Baek
96643f5b6d
Merge pull request #14682 from olivier-lacroix/genai-tool-function
refactor: Improve tool callable generation to allow for genai native function call
2025-08-19 03:16:12 +04:00
Timothy Jaeryang Baek
d6f709574e refac/enh: async process chat handling 2025-08-19 01:24:53 +04:00
Timothy Jaeryang Baek
4bc77b544e refac 2025-08-18 23:39:14 +04:00
Timothy Jaeryang Baek
70d0477418 refac: tool name collision handling 2025-08-18 21:28:28 +04:00
Timothy Jaeryang Baek
f592748011 refac: tool server redis cache 2025-08-18 20:53:46 +04:00
Timothy Jaeryang Baek
8a157578f4 enh/refac: ability to specify external tool server id 2025-08-18 20:38:55 +04:00
Timothy Jaeryang Baek
68d42ef850 refac 2025-08-18 19:49:29 +04:00
Timothy Jaeryang Baek
d7363fd65f fix: arena model selected model id 2025-08-17 04:55:45 +04:00
Timothy Jaeryang Baek
ccd2a0be5b refac 2025-08-17 04:15:13 +04:00
Tim Jaeryang Baek
47560d4d72
Merge pull request #14703 from rragundez/code-interpreter-blacklist
feat: Blacklist modules from arbitrary code execution in code interpreter
2025-08-17 04:12:12 +04:00
Timothy Jaeryang Baek
7f0c50f445 refac 2025-08-17 04:06:16 +04:00
Tim Jaeryang Baek
6a109e972e
Merge pull request #15863 from tcx4c70/feat/sqlite-wal
perf(db): Improve performance of db, especially sqlite
2025-08-17 03:55:59 +04:00
Sihyeon Jang
3da22af859 fix(utils/middleware): flush pending chat deltas on stream termination
Guarantees the last partial delta chunk is emitted when the SSE stream closes (EOF, break, or `[DONE]` sentinel).

* Buffer `last_delta_data` and track `delta_count`
* Flush automatically once `delta_count >= chunk_size`
* Perform a final flush after the iterator ends

Signed-off-by: Sihyeon Jang <sihyeon.jang@navercorp.com>
2025-08-16 13:03:57 +09:00
Timothy Jaeryang Baek
f1c28455ad refac: async webhook request 2025-08-15 00:07:02 +04:00
Timothy Jaeryang Baek
b43acc2b3d refac/fix: tag attribute handling 2025-08-14 04:04:34 +04:00
Timothy Jaeryang Baek
3e8d3b08fa refac 2025-08-14 04:04:20 +04:00
Timothy Jaeryang Baek
2ed9896dea refac/fix: oauth jwt cookie 2025-08-14 02:00:38 +04:00
Tim Jaeryang Baek
0845b7ffe5
Merge pull request #16582 from koflerm/patch-1
Fix: Retrieve Username Claim from Userinfo Endpoint
2025-08-13 19:23:44 +04:00
Markus Kofler
2011e5711d
Enable Retrieving Username Claim from Userinfo Endpoint 2025-08-13 16:27:25 +02:00
Thomas Rehn
7aa41d5d0c feat: use AIOHTTP_CLIENT_TIMEOUT for tool calls to make timeout configurable 2025-08-12 12:29:02 +02:00
Timothy Jaeryang Baek
f890fe6901 enh: allow plaintext for external tool servers 2025-08-11 17:36:36 +04:00
Timothy Jaeryang Baek
97448e25ec fix: openai error handling 2025-08-11 17:00:06 +04:00
Timothy Jaeryang Baek
fbb8c111ed refac 2025-08-11 00:39:12 +04:00
Timothy Jaeryang Baek
059cc636f6 fix: openai response propagation issue 2025-08-11 00:37:06 +04:00
Adam Tao
7bd7559bfe refactor: format
Signed-off-by: Adam Tao <tcx4c70@gmail.com>
2025-08-10 22:28:31 +08:00
Adam Tao
635cb8e3ff perf(db): deduplicate update_user_last_active_by_id to reduce conflicts
Signed-off-by: Adam Tao <tcx4c70@gmail.com>
2025-08-10 22:28:31 +08:00
xhejtman
c4e0051ab2
Fix audit get_current_user
get_current_user has 4 args not 3 args:
```
get_current_user(
    request: Request,
    response: Response,
    background_tasks: BackgroundTasks,
    auth_token: HTTPAuthorizationCredentials = Depends(bearer_security)
```
2025-08-10 02:10:00 +02:00
Timothy Jaeryang Baek
4e9c75be50 enh: CHAT_RESPONSE_STREAM_DELTA_CHUNK_SIZE 2025-08-09 23:49:56 +04:00
Timothy Jaeryang Baek
1a93891d97 feat: stream delta chunk
Co-Authored-By: Jan Kessler <Ithanil@users.noreply.github.com>
2025-08-09 23:43:27 +04:00
Timothy Jaeryang Baek
4485c7a5d2 refac 2025-08-09 21:38:31 +04:00
Tim Jaeryang Baek
17084f629c
Merge pull request #16385 from gaby/2025-08-08-13-38-31
feat: Propagate upstream OpenAI router errors
2025-08-09 00:58:14 +04:00
Timothy Jaeryang Baek
c1d566bad4 enh: oauth_sub_claim 2025-08-09 00:46:14 +04:00
Timothy Jaeryang Baek
f923a85f40 refac/fix: reasoning_content chunk 2025-08-09 00:31:28 +04:00
Juan Calderon-Perez
d2f2d42e09 Format python code 2025-08-08 10:09:31 -04:00
Tim Jaeryang Baek
67dcef5e9a
Merge pull request #16344 from Rain6435/fix-openapi-array-parameters
fix: include items property in OpenAPI array parameters
  for OpenAI function calling
2025-08-08 12:12:28 +04:00
Rain6435
30540cb40e fix: include items property in OpenAPI array parameters for OpenAI function calling
Resolves issue where OpenAPI specs with array query parameters were generating
  invalid OpenAI function schemas missing the required 'items' property, causing
  400 Bad Request errors from OpenAI.

  The fix ensures that when converting OpenAPI parameter schemas to OpenAI function
  schemas, array parameters properly include their 'items' property definition.

  Fixes open-webui/open-webui#14115
2025-08-07 01:21:22 -04:00
Timothy Jaeryang Baek
0912a023c2 fix: jwt token exposed in url 2025-08-06 21:02:54 +04:00
Timothy Jaeryang Baek
2f349b5979 refac 2025-08-06 15:06:43 +04:00
Timothy Jaeryang Baek
f2cae3d0a7 refac 2025-08-06 15:02:39 +04:00
Timothy Jaeryang Baek
5d4199bf52 chore: format 2025-08-06 14:27:58 +04:00
Timothy Jaeryang Baek
3a1bbcb12e refac 2025-08-06 13:48:43 +04:00
Timothy Jaeryang Baek
2e36540023 refac: tag handling 2025-08-06 13:32:28 +04:00
Timothy Jaeryang Baek
f24b76d9a3 refac: has_users
Co-Authored-By: pickle-dice <159401444+hassan-ajek@users.noreply.github.com>
2025-08-05 22:15:22 +04:00
Tim Jaeryang Baek
0b627248f5
Merge pull request #15640 from ipapapa/feat/cleaner-logs
refactor(logger): Conditionally include extra_json in logs
2025-08-04 17:52:12 +04:00
Timothy Jaeryang Baek
35400daf19 enh/refac: redis cluster support 2025-08-04 14:15:08 +04:00
Tim Jaeryang Baek
7c29084a19
Merge pull request #16237 from expruc/chore/separate_otel_logs_config
chore: separate otel logs config
2025-08-03 21:08:55 +04:00
expruc
58180c0586 added otel lgos specific config 2025-08-02 22:15:22 +03:00
Timothy Jaeryang Baek
00084c6ca6 refac/fix: tool payload 2025-08-02 19:36:46 +04:00
Tim Jaeryang Baek
49926f06ee
Merge branch 'dev' into feat/otel-logger-handler 2025-08-02 14:52:16 +04:00
Timothy Jaeryang Baek
446f4ee5a8 refac 2025-08-02 13:59:07 +04:00
expruc
a679fb3f45 split otel metrics from general otel configuration 2025-08-02 11:30:34 +03:00
expruc
2035eabb1f added otel logging handler 2025-07-31 21:58:49 +03:00
Timothy Jaeryang Baek
aa83ebae58 refac: lazySpanExporter no longer needed 2025-07-31 17:30:37 +04:00
Timothy Jaeryang Baek
6b34b2c946 refac 2025-07-31 16:47:02 +04:00
Tim Jaeryang Baek
1f22e1d84c
Merge pull request #16096 from gkkachi/dev
fix: properly handle full URLs in form_data.path
2025-07-31 16:45:48 +04:00
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