Commit graph

4653 commits

Author SHA1 Message Date
silentoplayz
fe28097817 feat: refactor model import to a single backend endpoint
This refactors the model import functionality to improve performance and user experience by centralizing the logic on the backend.

Previously, the frontend would parse an imported JSON file and send an individual API request for each model, which was slow and inefficient.

This change introduces a new backend endpoint, `/api/v1/models/import`, that accepts a list of model objects. The frontend now reads the selected JSON file, parses it, and sends the entire payload to the backend in a single request. The backend then processes this list, creating or updating models as necessary.

This commit also includes the following fixes:
- Handles cases where the imported JSON contains models without `meta` or `params` fields by providing default empty values.
2025-09-28 18:49:42 -04:00
silentoplayz
231d182c35 feat: move JSON model import to backend
This moves the JSON model import functionality to the backend. Instead of the frontend parsing the JSON file and sending multiple requests, it now uploads the file to a new endpoint (/api/v1/models/import), which processes the file and imports the models. This improves efficiency and provides better user feedback.
2025-09-28 18:09:58 -04:00
Timothy Jaeryang Baek
fe54fb61aa fix: session middleware should be required by default 2025-09-28 16:35:13 -05:00
Timothy Jaeryang Baek
91b6483aa9 refac 2025-09-28 14:46:01 -05:00
Classic298
b1e63639cd
ADD FAT WARNING - QDRANT 2025-09-28 21:17:07 +02:00
Classic298
0e99c43495
ADD FAT WARNING 2025-09-28 21:16:02 +02:00
Timothy Jaeryang Baek
4f06f29348 refac 2025-09-28 13:22:39 -05:00
Tim Jaeryang Baek
e71ed76165
Merge pull request #17857 from silentoplayz/feat-bulk-unarchive
feat: add backend handling for unarchiving all chats
2025-09-28 12:45:49 -05:00
Timothy Jaeryang Baek
742e2ff193 refac 2025-09-28 12:42:02 -05:00
silentoplayz
a572cf4842 feat: add backend handling for unarchiving all chats
The previous implementation for unarchiving all chats in `ArchivedChatsModal.svelte` was inefficient, as it sent a separate request for each chat, which could potentially overload the server.

This commit introduces a new backend endpoint, `/chats/unarchive/all`, to handle the bulk unarchiving of all chats for a user with a single API call.

The frontend has been updated to use this new endpoint, resolving the performance issue by minimizing the number of requests to the server.
2025-09-28 13:25:34 -04:00
Timothy Jaeryang Baek
97dae432ab refac 2025-09-28 12:23:20 -05:00
Timothy Jaeryang Baek
db9d3d386d refac: mcp spec/response handling 2025-09-28 12:22:11 -05:00
Timothy Jaeryang Baek
4aa41aa139 refac 2025-09-28 12:00:19 -05:00
silentoplayz
670dfca6a8 remove: used advanced params 2025-09-28 11:41:12 -04:00
Classic298
1773a4d4b8
typo 2025-09-28 11:14:27 +02:00
Classic298
27af4506df
Update config.py 2025-09-28 11:10:37 +02:00
Classic298
01d4a8ab7a
Update factory.py 2025-09-28 11:06:29 +02:00
Classic298
8dc43f9e3a
Create milvus_multitenancy.py 2025-09-28 11:05:15 +02:00
Classic298
50a2204046
add env vars 2025-09-28 11:04:24 +02:00
Timothy Jaeryang Baek
272c6f5ec5 refac 2025-09-27 04:38:54 -05:00
Timothy Jaeryang Baek
86ef57f6c3 refac 2025-09-27 04:33:00 -05:00
Timothy Jaeryang Baek
b4eea78aff refac 2025-09-27 04:06:42 -05:00
Timothy Jaeryang Baek
1a18928c94 enh: reply to message 2025-09-27 04:05:12 -05:00
Timothy Jaeryang Baek
bad7d69a58 feat/enh: external tool server manual JSON spec 2025-09-26 22:02:48 -05:00
Timothy Jaeryang Baek
c80bb31968 refac/enh: folder optimization 2025-09-26 20:48:17 -05:00
Timothy Jaeryang Baek
54beeeaf72 refac: tools 2025-09-26 19:01:22 -05:00
Timothy Jaeryang Baek
b77848244b refac: user valves 2025-09-26 17:49:42 -05:00
Tim Jaeryang Baek
d10b518f42
Merge pull request #17801 from Classic298/feature/notes-public-sharing-permission
feat: add permission toggle for public sharing of notes
2025-09-26 16:11:17 -05:00
Timothy Jaeryang Baek
4997ef2662 refac 2025-09-26 15:57:03 -05:00
Timothy Jaeryang Baek
cda4c95c86 fix: default tool calling 2025-09-26 15:50:16 -05:00
google-labs-jules[bot]
41e4e7395c feat: add permission toggle for public sharing of notes
This commit introduces a new permission toggle that allows administrators to control whether users can publicly share their notes.

- Adds a new environment variable `USER_PERMISSIONS_NOTES_ALLOW_PUBLIC_SHARING` to control the default setting.
- Adds a `public_notes` permission to the `sharing` section of the user permissions.
- Adds a toggle switch to the admin panel for managing this permission.
- Implements backend logic to enforce the permission when a user attempts to share a note publicly.
2025-09-26 20:48:01 +00:00
Timothy Jaeryang Baek
680783266c refac/fix: tool response header type check 2025-09-26 15:42:17 -05:00
Timothy Jaeryang Baek
ac08529380 refac 2025-09-26 14:40:30 -05:00
Timothy Jaeryang Baek
0431ad9cc4 refac: get_discovery_urls 2025-09-26 14:34:26 -05:00
Tim Jaeryang Baek
f8a3ed2d18
Merge pull request #17770 from Classic298/feat-milvus-diskann-support
feat: Add DISKANN index type support for Milvus
2025-09-26 14:23:53 -05:00
Classic298
9e3d5407ae
Merge branch 'open-webui:main' into feat-milvus-diskann-support 2025-09-26 10:43:01 +02:00
Classic298
b550d78905
Merge branch 'open-webui:main' into fix-milvus-limit-error 2025-09-26 10:42:53 +02:00
google-labs-jules[bot]
123dbf152e feat: Add DISKANN index type support for Milvus
This commit introduces support for the DISKANN index type in the Milvus vector database integration.

Changes include:
- Added `MILVUS_DISKANN_MAX_DEGREE` and `MILVUS_DISKANN_SEARCH_LIST_SIZE` configuration variables.
- Updated the Milvus client to recognize and configure the DISKANN index type during collection creation.
2025-09-26 06:54:06 +00:00
google-labs-jules[bot]
e7ccaf6e78 Fix: milvus error because the limit set to None by default
The pymilvus library expects -1 for unlimited queries, but the code was passing None, which caused a TypeError. This commit changes the default value of the limit parameter in the query method from None to -1. It also updates the call site in the get method to pass -1 instead of None and updates the type hint and a comment to reflect this change.
2025-09-26 06:39:54 +00:00
Timothy Jaeryang Baek
2fa222d00a refac 2025-09-25 15:20:13 -05:00
Timothy Jaeryang Baek
6920fed97e refac 2025-09-25 14:53:21 -05:00
Timothy Jaeryang Baek
a0e323b89b refac 2025-09-25 14:20:02 -05:00
Timothy Jaeryang Baek
7f411dd5cc feat/enh: perplexity search support 2025-09-25 14:02:46 -05:00
Timothy Jaeryang Baek
b38d59dee6 refac 2025-09-25 13:53:56 -05:00
Timothy Jaeryang Baek
da661756fa refac/fix: proper notes db operations 2025-09-25 13:47:43 -05:00
Tim Jaeryang Baek
b76d234f97
Merge pull request #17607 from sihyeonn/perf/sh-notes
perf: optimize notes query and separate access control logic
2025-09-25 12:13:42 -05:00
Tim Jaeryang Baek
cd417ca0ba
Merge pull request #17744 from Classic298/fix-rag-full-context
Fix: Prevent RAG queries when all files are in full context
2025-09-25 11:55:41 -05:00
Timothy Jaeryang Baek
4f8f8e0e0b chore: dep bump 2025-09-25 11:51:04 -05:00
Timothy Jaeryang Baek
ff44fa242d refac 2025-09-25 11:28:33 -05:00
Timothy Jaeryang Baek
3c7d01163d refac 2025-09-25 11:02:49 -05:00
google-labs-jules[bot]
4a7e1b93e5 Fix: Prevent RAG queries when all files are in full context
This commit fixes an issue where Retrieval-Augmented Generation (RAG)
queries were still being generated even when all attached files were set
to 'full context' mode. This was inefficient as the full content of the
files was already available to the model.

The `chat_completion_files_handler` in `backend/open_webui/utils/middleware.py`
has been updated to:
- Check if all attached files have the `context: 'full'` property.
- Skip the `generate_queries` step if all files are in full context mode.
- Pass a `full_context=True` flag to the `get_sources_from_items`
  function to ensure it fetches the entire document content instead of
  performing a vector search.

This change ensures that RAG queries are only generated when necessary,
improving the efficiency of the system.
2025-09-25 15:54:58 +00:00
Timothy Jaeryang Baek
cd7bd0aa20 refac 2025-09-25 02:00:02 -05:00
Timothy Jaeryang Baek
4d16cf6bf3 refac 2025-09-25 01:59:18 -05:00
Timothy Jaeryang Baek
422d38fd11 refac 2025-09-25 01:56:09 -05:00
Timothy Jaeryang Baek
77e971dd9f feat: oauth2.1 mcp integration 2025-09-25 01:49:16 -05:00
Timothy Jaeryang Baek
972be4eda5 enh: oauth2.1 dynamic client registration 2025-09-25 00:28:13 -05:00
Timothy Jaeryang Baek
34d16791a8 refac 2025-09-24 23:27:45 -05:00
Tim Jaeryang Baek
d3b09c6a02
Merge pull request #17223 from itk-dev/feature/session-in-redis
feat: Added support for redis as session storage
2025-09-24 23:23:56 -05:00
Timothy Jaeryang Baek
27d61307cd refac: tools valves 2025-09-24 21:12:25 -05:00
Timothy Jaeryang Baek
685cca5bd5 chore: dep bump 2025-09-24 18:58:17 -05:00
Timothy Jaeryang Baek
bd02a456ab chore: langchain dep bump 2025-09-24 18:55:33 -05:00
Timothy Jaeryang Baek
9f0010e234 enh: channel model @ image support 2025-09-24 16:08:36 -05:00
Timothy Jaeryang Baek
fe65fe0b97 refac: ollama cloud web search count support 2025-09-24 15:58:56 -05:00
Timothy Jaeryang Baek
4b6d34438b refac 2025-09-24 15:20:31 -05:00
Timothy Jaeryang Baek
e06489d92b enh: search_ollama_cloud 2025-09-24 15:19:05 -05:00
Timothy Jaeryang Baek
23a51f2d01 refac: robust file upload failed handling 2025-09-24 12:17:01 -05:00
Timothy Jaeryang Baek
0dee15ba97 refac/enh: include foldered chats in ref chat input menu 2025-09-24 11:27:19 -05:00
Timothy Jaeryang Baek
ac879513e5 enh: channel read/write perm 2025-09-24 10:09:59 -05:00
Timothy Jaeryang Baek
f096e99059 refac: rag context handling 2025-09-24 09:38:14 -05:00
Timothy Jaeryang Baek
b25c7da154 refac: valves 2025-09-24 09:21:53 -05:00
Timothy Jaeryang Baek
b8086c5edf refac: folder delete logic 2025-09-24 09:04:54 -05:00
Timothy Jaeryang Baek
199f371f58 refac 2025-09-24 07:17:41 -05:00
Timothy Jaeryang Baek
c5a967e05f refac 2025-09-24 06:56:50 -05:00
Timothy Jaeryang Baek
651f385ba5 fix: oauth refresh server metadata 2025-09-24 06:56:24 -05:00
Timothy Jaeryang Baek
1c64269387 refac 2025-09-23 16:51:31 -05:00
Timothy Jaeryang Baek
f33d6eabdf chore: bump azure identity 2025-09-23 16:48:31 -05:00
Timothy Jaeryang Baek
06e5c00f24 refac 2025-09-23 03:52:43 -04:00
Timothy Jaeryang Baek
f7b0fdde2a refac 2025-09-23 03:42:25 -04:00
Timothy Jaeryang Baek
7aa3903b6b refac 2025-09-23 03:36:11 -04:00
Timothy Jaeryang Baek
6bf4ba523d refac 2025-09-23 03:35:00 -04:00
Timothy Jaeryang Baek
c42c0436f2 refac 2025-09-23 03:33:24 -04:00
Timothy Jaeryang Baek
61f20acf61 refac 2025-09-23 03:32:25 -04:00
Timothy Jaeryang Baek
c55afc4255 refac 2025-09-23 03:19:36 -04:00
Timothy Jaeryang Baek
f1bbf3a91e refac 2025-09-23 03:05:38 -04:00
Timothy Jaeryang Baek
de7f7b3d85 refac 2025-09-23 02:40:59 -04:00
Timothy Jaeryang Baek
777e81f7a8 feat: experimental mcp support 2025-09-23 02:03:26 -04:00
Timothy Jaeryang Baek
466d5bb696 refac: add separate Client IDs for OneDrive 2025-09-21 01:40:14 -04:00
Timothy Jaeryang Baek
6e4a2f18e1 refac 2025-09-21 00:14:43 -04:00
Sihyeon Jang
7042318c34 fix: prevent memory leaks in file handling and HTTP connections
- Fix file handle memory leak in download_file_stream by properly closing and reopening files
- Add requests.Session context manager for proper HTTP connection cleanup
- Remove unnecessary file.seek(0) after file reopening
- Add timeout to prevent hanging connections

This prevents memory accumulation during large file downloads and ensures
proper resource cleanup in all scenarios.

Signed-off-by: Sihyeon Jang <sihyeon.jang@navercorp.com>
2025-09-20 06:37:10 +09:00
Sihyeon Jang
6ae6cc9741 perf: optimize get_notes_by_user_id to reduce database queries
- Replace inefficient memory-based filtering with database-level filtering
- Add proper access control conditions to SQL query
- Reduce memory usage by filtering at database level instead of loading all notes
- Maintain access control validation with post-filtering for complex cases

This change significantly improves performance for users with many notes
by reducing the number of database queries and memory usage.

Signed-off-by: Sihyeon Jang <sihyeon.jang@navercorp.com>
2025-09-20 06:33:24 +09:00
Timothy Jaeryang Baek
60db9ec8ef refac: built-in tools ui component support 2025-09-19 01:38:44 -05:00
Timothy Jaeryang Baek
e4c4ba0979 fix: oauth token 2025-09-19 00:10:48 -05:00
Timothy Jaeryang Baek
7be5b7f50f refac 2025-09-18 22:03:14 -05:00
Timothy Jaeryang Baek
07c5b25bc8 feat: tool ui element support 2025-09-18 20:55:23 -05:00
Timothy Jaeryang Baek
d4f21c7e84 refac 2025-09-18 10:43:59 -05:00
Timothy Jaeryang Baek
b9e200f104 fix: isdangerous dep 2025-09-18 09:39:40 -05:00
Timothy Jaeryang Baek
cde5879987 fix: onedrive 2025-09-17 12:18:23 -05:00
Timothy Jaeryang Baek
60f62c2f59 refac 2025-09-17 11:28:04 -05:00
Timothy Jaeryang Baek
c01255570b chore: format 2025-09-17 11:11:46 -05:00
Timothy Jaeryang Baek
caf0a1fbb6 feat: Allow Azure OpenAI to authenticate using DefaultAzureCredential
Co-Authored-By: Selene Blok <20491756+selenecodes@users.noreply.github.com>
2025-09-17 11:04:47 -05:00