[PR #12131] [CLOSED] perf: fetch documents once in hybrid search #38482

Closed
opened 2026-04-25 11:28:59 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/12131
Author: @Phlogi
Created: 3/27/2025
Status: Closed

Base: mainHead: dev-fetch-documents-once


📝 Commits (10+)

  • b61ea39 refactor(lint): code lint
  • d7a0437 refac: model sort list
  • 20826e1 Update translation.json
  • cf449d1 Update translation.json
  • 25544b3 Merge branch 'open-webui:dev' into dev
  • 27a6d19 Update translation.json
  • ab92737 refac
  • 7a1cf10 Merge pull request #11358 from OrenZhang/i18n_translation
  • 17a4360 Update translation.json
  • 3b39807 fix: updatepost_response_handler nativ tools handler to use parameters from properties fixing defaults always used

📊 Changes

153 files changed (+7359 additions, -1503 deletions)

View changed files

📝 .github/pull_request_template.md (+3 -3)
📝 Dockerfile (+1 -1)
📝 backend/open_webui/config.py (+60 -4)
📝 backend/open_webui/env.py (+27 -15)
📝 backend/open_webui/functions.py (+3 -0)
📝 backend/open_webui/main.py (+43 -10)
📝 backend/open_webui/retrieval/loaders/main.py (+53 -1)
backend/open_webui/retrieval/loaders/tavily.py (+93 -0)
📝 backend/open_webui/retrieval/utils.py (+51 -37)
📝 backend/open_webui/retrieval/vector/dbs/chroma.py (+20 -7)
📝 backend/open_webui/retrieval/vector/dbs/milvus.py (+4 -1)
📝 backend/open_webui/retrieval/vector/dbs/opensearch.py (+110 -65)
📝 backend/open_webui/retrieval/vector/dbs/pgvector.py (+3 -1)
📝 backend/open_webui/retrieval/vector/dbs/qdrant.py (+2 -1)
📝 backend/open_webui/retrieval/web/utils.py (+172 -76)
📝 backend/open_webui/routers/audio.py (+3 -1)
📝 backend/open_webui/routers/auths.py (+1 -1)
📝 backend/open_webui/routers/chats.py (+103 -0)
📝 backend/open_webui/routers/files.py (+1 -1)
📝 backend/open_webui/routers/images.py (+2 -4)

...and 80 more files

📄 Description

Before submitting, make sure you've checked the following:

  • Link to discussion opened before PR: https://github.com/open-webui/open-webui/discussions/11729

  • Target branch: Please verify that the pull request targets the dev branch.

  • Description: Provide a concise description of the changes made in this pull request.

  • Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.

  • Documentation: Have you updated relevant documentation Open WebUI Docs, or other documentation sources?

  • Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation?

  • Testing: Have you written and run sufficient tests for validating the changes?

  • Code review: Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?

  • Prefix: To cleary categorize this pull request, prefix the pull request title, using one of the following

Changelog Entry

Description

  • Typically multiple queries are run against the same collection and the data is fetched multiple times. This is avoided.

Changed

Function query_doc_with_hybrid_search updates:

  • Get all collection data in parallel and only once for all queries.
  • The collection_data is then passed to the query_doc_with_hybrid_search function.

Removed

  • Unneeded imports at top removed: uuid and asyncio and others

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/open-webui/pull/12131 **Author:** [@Phlogi](https://github.com/Phlogi) **Created:** 3/27/2025 **Status:** ❌ Closed **Base:** `main` ← **Head:** `dev-fetch-documents-once` --- ### 📝 Commits (10+) - [`b61ea39`](https://github.com/open-webui/open-webui/commit/b61ea393b42d49deb1b333e1460275dc4d22f96e) refactor(lint): code lint - [`d7a0437`](https://github.com/open-webui/open-webui/commit/d7a04374385e6d809f13851d81f3408bbb5e0221) refac: model sort list - [`20826e1`](https://github.com/open-webui/open-webui/commit/20826e15b3a9e124830fee85a35886690c640abf) Update translation.json - [`cf449d1`](https://github.com/open-webui/open-webui/commit/cf449d1c7edb24b7a5cb0328bba57516e2ef2f98) Update translation.json - [`25544b3`](https://github.com/open-webui/open-webui/commit/25544b38bde0af100f8c8e49bb176f8274bad7f4) Merge branch 'open-webui:dev' into dev - [`27a6d19`](https://github.com/open-webui/open-webui/commit/27a6d1917de5b7cb9de89bf45ee0b28807a9a5bf) Update translation.json - [`ab92737`](https://github.com/open-webui/open-webui/commit/ab92737a9ab21c562d5e6718e59eb76cbfe7f219) refac - [`7a1cf10`](https://github.com/open-webui/open-webui/commit/7a1cf1095a8c54f8b7925ad1fe9fa0f308059597) Merge pull request #11358 from OrenZhang/i18n_translation - [`17a4360`](https://github.com/open-webui/open-webui/commit/17a43605667745e0890f189c1372664a32563ec5) Update translation.json - [`3b39807`](https://github.com/open-webui/open-webui/commit/3b39807377b945a9a36729195807658e79bd08f4) fix: updatepost_response_handler nativ tools handler to use parameters from properties fixing defaults always used ### 📊 Changes **153 files changed** (+7359 additions, -1503 deletions) <details> <summary>View changed files</summary> 📝 `.github/pull_request_template.md` (+3 -3) 📝 `Dockerfile` (+1 -1) 📝 `backend/open_webui/config.py` (+60 -4) 📝 `backend/open_webui/env.py` (+27 -15) 📝 `backend/open_webui/functions.py` (+3 -0) 📝 `backend/open_webui/main.py` (+43 -10) 📝 `backend/open_webui/retrieval/loaders/main.py` (+53 -1) ➕ `backend/open_webui/retrieval/loaders/tavily.py` (+93 -0) 📝 `backend/open_webui/retrieval/utils.py` (+51 -37) 📝 `backend/open_webui/retrieval/vector/dbs/chroma.py` (+20 -7) 📝 `backend/open_webui/retrieval/vector/dbs/milvus.py` (+4 -1) 📝 `backend/open_webui/retrieval/vector/dbs/opensearch.py` (+110 -65) 📝 `backend/open_webui/retrieval/vector/dbs/pgvector.py` (+3 -1) 📝 `backend/open_webui/retrieval/vector/dbs/qdrant.py` (+2 -1) 📝 `backend/open_webui/retrieval/web/utils.py` (+172 -76) 📝 `backend/open_webui/routers/audio.py` (+3 -1) 📝 `backend/open_webui/routers/auths.py` (+1 -1) 📝 `backend/open_webui/routers/chats.py` (+103 -0) 📝 `backend/open_webui/routers/files.py` (+1 -1) 📝 `backend/open_webui/routers/images.py` (+2 -4) _...and 80 more files_ </details> ### 📄 Description **Before submitting, make sure you've checked the following:** - Link to discussion opened before PR: https://github.com/open-webui/open-webui/discussions/11729 - [x] **Target branch:** Please verify that the pull request targets the `dev` branch. - [x] **Description:** Provide a concise description of the changes made in this pull request. - [x] **Changelog:** Ensure a changelog entry following the format of [Keep a Changelog](https://keepachangelog.com/) is added at the bottom of the PR description. - [x] **Documentation:** Have you updated relevant documentation [Open WebUI Docs](https://github.com/open-webui/docs), or other documentation sources? - [x] **Dependencies:** Are there any new dependencies? Have you updated the dependency versions in the documentation? - [x] **Testing:** Have you written and run sufficient tests for validating the changes? - [x] **Code review:** Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards? - [x] **Prefix:** To cleary categorize this pull request, prefix the pull request title, using one of the following # Changelog Entry ### Description - Typically multiple queries are run against the same collection and the data is fetched multiple times. This is avoided. ### Changed #### Function query_doc_with_hybrid_search updates: - Get all collection data in parallel and only once for all queries. - The collection_data is then passed to the query_doc_with_hybrid_search function. ### Removed - Unneeded imports at top removed: uuid and asyncio and others --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-25 11:28:59 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#38482