Originally created by @dotmobo on GitHub (Jul 21, 2025).
Check Existing Issues
I have searched the existing issues and discussions.
I am using the latest version of Open WebUI.
Installation Method
Docker
Open WebUI Version
v0.6.18
Ollama Version (if applicable)
No response
Operating System
Ubuntu 22.04
Browser (if applicable)
No response
Confirmation
I have read and followed all instructions in README.md.
I am using the latest version of both Open WebUI and Ollama.
I have included the browser console logs.
I have included the Docker container logs.
I have provided every relevant configuration, setting, and environment variable used in my setup.
I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
Start with the initial platform/version/OS and dependencies used,
Specify exact install/launch/configure commands,
List URLs visited, user input (incl. example values/emails/passwords if needed),
Describe all options and toggles enabled or changed,
Include any files or environmental changes,
Identify the expected and actual result at each stage,
Ensure any reasonably skilled user can follow and hit the same issue.
Expected Behavior
Hybrid search with embedding and reranking should get data from the knowledge database of the model.
Broken since v0.6.16
Actual Behavior
Since v0.6.16, the hybrid search functionality (using an OpenAI embedding model and an OpenAI reranking model) has stopped working.
In v0.6.17, I saw in the changelog: "Hybrid Search Functionality Restored". But it still doesn't work for me.
Still broken in v0.6.18.
2025-07-21 08:55:49.781 | INFO | httpx._client:_send_single_request:1025 - HTTP Request: GET http://192.168.0.10:6333/collections/open-webui_knowledge/exists "HTTP/1.1 200 OK" - {}
2025-07-21 08:55:49.782 | INFO | open_webui.retrieval.utils:query_collection_with_hybrid_search:352 - Starting hybrid search for 1 query in 1 collection... - {}
2025-07-21 08:55:49.839 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 130.79.202.31:0 - "POST /api/chat/completions HTTP/1.1" 200 - {}
But no documents are retrieved.
Additional Information
No response
Originally created by @dotmobo on GitHub (Jul 21, 2025).
### Check Existing Issues
- [x] I have searched the existing issues and discussions.
- [x] I am using the latest version of Open WebUI.
### Installation Method
Docker
### Open WebUI Version
v0.6.18
### Ollama Version (if applicable)
_No response_
### Operating System
Ubuntu 22.04
### Browser (if applicable)
_No response_
### Confirmation
- [x] I have read and followed all instructions in `README.md`.
- [x] I am using the latest version of **both** Open WebUI and Ollama.
- [x] I have included the browser console logs.
- [x] I have included the Docker container logs.
- [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.**
- [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
- [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps:
- Start with the initial platform/version/OS and dependencies used,
- Specify exact install/launch/configure commands,
- List URLs visited, user input (incl. example values/emails/passwords if needed),
- Describe all options and toggles enabled or changed,
- Include any files or environmental changes,
- Identify the expected and actual result at each stage,
- Ensure any reasonably skilled user can follow and hit the same issue.
### Expected Behavior
Hybrid search with embedding and reranking should get data from the knowledge database of the model.
Broken since v0.6.16
### Actual Behavior
Since v0.6.16, the hybrid search functionality (using an OpenAI embedding model and an OpenAI reranking model) has stopped working.
In v0.6.17, I saw in the changelog: "Hybrid Search Functionality Restored". But it still doesn't work for me.
Still broken in v0.6.18.
If I roll back to v0.6.15, it works fine.
### Steps to Reproduce
- Create a knowledge base
- Create a model and add the knowledge base
- Use the following RAG parameters
RAG_EMBEDDING_ENGINE: "openai"
RAG_OPENAI_API_BASE_URL: "https://my-openai-url"
RAG_OPENAI_API_KEY: "s3Cr3t"
RAG_EMBEDDING_MODEL: "nomic"
CONTENT_EXTRACTION_ENGINE: "tika"
TIKA_SERVER_URL: "https://my-tika-url"
CHUNK_SIZE: "800"
RAG_EMBEDDING_OPENAI_BATCH_SIZE: "64"
RAG_TOP_K: "12"
RAG_TOP_K_RERANKER: "6"
RAG_RELEVANCE_THRESHOLD: "0.0"
RAG_TEXT_SPLITTER: "character"
RAG_FILE_MAX_SIZE: "1000"
RAG_FILE_MAX_COUNT: "10"
ENABLE_RAG_HYBRID_SEARCH: "true"
RAG_RERANKING_ENGINE: "external"
RAG_RERANKING_MODEL: "bge-reranker"
RAG_EXTERNAL_RERANKER_URL: "https://my-openai-url/v1/rerank"
RAG_EXTERNAL_RERANKER_API_KEY: "s3cr3t"
- Ask a question to the model
### Logs & Screenshots
I can see in the logs :
2025-07-21 08:55:49.781 | INFO | httpx._client:_send_single_request:1025 - HTTP Request: GET http://192.168.0.10:6333/collections/open-webui_knowledge/exists "HTTP/1.1 200 OK" - {}
2025-07-21 08:55:49.782 | INFO | open_webui.retrieval.utils:query_collection_with_hybrid_search:352 - Starting hybrid search for 1 query in 1 collection... - {}
2025-07-21 08:55:49.839 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 130.79.202.31:0 - "POST /api/chat/completions HTTP/1.1" 200 - {}
But no documents are retrieved.
### Additional Information
_No response_
GiteaMirror
added the bug label 2025-11-11 16:35:02 -06:00
@dotmobo commented on GitHub (Jul 21, 2025):
The anwser in v0.6.18 :
<img width="1165" height="601" alt="Image" src="https://github.com/user-attachments/assets/39458d8d-6d49-4402-b94c-7ec1d7a08fd2" />
The same question but in v0.6.15 :
<img width="1165" height="601" alt="Image" src="https://github.com/user-attachments/assets/fa0b89bb-aa06-4e0d-8199-27730a6b2713" />
You can see the mension of rust_book.pdf
I use a LiteLLM gateway to serve embedding and reranking models with an openai api compatible
@dotmobo commented on GitHub (Jul 21, 2025):
My config document screen :
<img width="1635" height="921" alt="Image" src="https://github.com/user-attachments/assets/1f241dee-9285-46fc-bd46-d09ddd08c24d" />
I use a LiteLLM gateway to serve embedding and reranking models with an openai api compatible
Since upgrading to v0.6.18 from v0.6.14, I am having this very issue. I am also using qdrant. Prior to the upgrade, RAG worked perfectly.
@cyberclaw03 commented on GitHub (Jul 23, 2025):
Since upgrading to v0.6.18 from v0.6.14, I am having this very issue. I am also using qdrant. Prior to the upgrade, RAG worked perfectly.
I managed to fix it on my end by deleting and recreating my Knowledge Bases. I also set the "ENABLE_QDRANT_MULTITENANCY_MODE" environment variable to "true," which may have helped.
At that point, though, I ran into a totally different issue. Tika was no longer working because of a recent Docker image update. I rolled back to an older version of Ticka and now everything works great.
@cyberclaw03 commented on GitHub (Jul 23, 2025):
I managed to fix it on my end by deleting and recreating my Knowledge Bases. I also set the "ENABLE_QDRANT_MULTITENANCY_MODE" environment variable to "true," which may have helped.
At that point, though, I ran into a totally different issue. Tika was no longer working because of a recent Docker image update. I rolled back to an older version of Ticka and now everything works great.
Thanks for the tips @cyberclaw03.
I clicked on the "Reindex all existing documents" button in the administrator page and it works again with the 0.6.18 @tjbck
.
@dotmobo commented on GitHub (Jul 24, 2025):
Thanks for the tips @cyberclaw03.
I clicked on the "Reindex all existing documents" button in the administrator page and it works again with the 0.6.18 @tjbck
.
@alexdjachenko commented on GitHub (Jul 24, 2025):
I have the same issue: bare KB works well, but in hybrid mode no one documents passed to LLM at all (not KB, not keywords). 0.6.18.
P.S I use internal Sintence Transformer
@alexdjachenko commented on GitHub (Jul 24, 2025):
I have the same issue: bare KB works well, but in hybrid mode no one documents passed to LLM at all (not KB, not keywords). 0.6.18.
P.S I use internal Sintence Transformer
I clicked on the "Reindex all existing documents" button in the administrator page and it works again with the 0.6.18
Hey all. Does this resolve the issue for you?
@Anush008 commented on GitHub (Jul 24, 2025):
> I clicked on the "Reindex all existing documents" button in the administrator page and it works again with the 0.6.18
Hey all. Does this resolve the issue for you?
2025-07-24 16:57:21.447 | INFO | open_webui.models.chats:count_chats_by_tag_name_and_user_id:871 - Count of chats for tag 'user_interface_customization': 0 - {}
2025-07-24 16:57:21.496 | INFO | open_webui.models.chats:count_chats_by_tag_name_and_user_id:871 - Count of chats for tag 'technology': 15 - {}
2025-07-24 16:57:21.539 | INFO | open_webui.models.chats:count_chats_by_tag_name_and_user_id:871 - Count of chats for tag 'assistive_technologies': 0 - {}
2025-07-24 16:57:21.587 | INFO | open_webui.models.chats:count_chats_by_tag_name_and_user_id:871 - Count of chats for tag 'web_accessibility': 1 - {}
2025-07-24 16:57:21.629 | INFO | open_webui.models.chats:count_chats_by_tag_name_and_user_id:871 - Count of chats for tag 'education': 8 - {}
@alexdjachenko commented on GitHub (Jul 24, 2025):
> > I clicked on the "Reindex all existing documents" button in the administrator page and it works again with the 0.6.18
>
> Hey all. Does this resolve the issue for you?
Nop, I use intertal sintence transformet, not Qdrant.
KB works without reindexing. It seems, the trouble in a mixing results.
2025-07-24 16:57:21.398 | DEBUG | open_webui.models.tags:delete_tag_by_name_and_user_id:101 - res: 1 - {}
2025-07-24 16:57:21.447 | INFO | open_webui.models.chats:count_chats_by_tag_name_and_user_id:871 - Count of chats for tag 'user_interface_customization': 0 - {}
2025-07-24 16:57:21.449 | DEBUG | open_webui.models.tags:delete_tag_by_name_and_user_id:101 - res: 1 - {}
2025-07-24 16:57:21.496 | INFO | open_webui.models.chats:count_chats_by_tag_name_and_user_id:871 - Count of chats for tag 'technology': 15 - {}
2025-07-24 16:57:21.539 | INFO | open_webui.models.chats:count_chats_by_tag_name_and_user_id:871 - Count of chats for tag 'assistive_technologies': 0 - {}
2025-07-24 16:57:21.540 | DEBUG | open_webui.models.tags:delete_tag_by_name_and_user_id:101 - res: 1 - {}
2025-07-24 16:57:21.587 | INFO | open_webui.models.chats:count_chats_by_tag_name_and_user_id:871 - Count of chats for tag 'web_accessibility': 1 - {}
2025-07-24 16:57:21.629 | INFO | open_webui.models.chats:count_chats_by_tag_name_and_user_id:871 - Count of chats for tag 'education': 8 - {}
It's working on multiple instances on v0.6.15 and breaks as of v0.6.16
v0.6.18 does not resolve (I've rolled everything back to v0.6.15 to have it working)
It is NOT related to Qdrant, I'm not using that
I am using Tika, unsure if this is a factor
The file does get uploaded and processed by Tika just fine, you can click on it and view it prior to submitting the question. Using the whole doc also works just fine - it's specifically the RAG/focused retrieval that fails
I am using 'OpenAI' for embedding model engine and 'External' for Reranking engine. Both are pointing at LiteLLM.
Below is the log line I see when it happens:
rid_search:352 - Starting hybrid search for 2 queries in 1 collections... - {}
open-webui | 2025-07-24 17:59:07.525 | ERROR | open_webui.retrieval.utils:query_doc_with_hybrid_search:191 - Error querying doc file-8279ba57-8316-4703-bec9-eed382b62736 with hybrid search: division by zero - {}
open-webui | Traceback (most recent call last):
open-webui |
open-webui | File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
open-webui | self._bootstrap_inner()
open-webui | │ └ <function Thread._bootstrap_inner at 0x76137683c9a0>
open-webui | └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
open-webui | self.run()
open-webui | │ └ <function Thread.run at 0x76137683c680>
open-webui | └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | File "/usr/local/lib/python3.11/threading.py", line 982, in run
open-webui | self._target(*self._args, **self._kwargs)
open-webui | │ │ │ │ │ └ {}
open-webui | │ │ │ │ └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | │ │ │ └ (<weakref at 0x7613379466b0; to 'ThreadPoolExecutor' at 0x761338d40250>, <_queue.SimpleQueue object at 0x7613379645e0>, None,...
open-webui | │ │ └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | │ └ <function _worker at 0x7613758feb60>
open-webui | └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
open-webui | work_item.run()
open-webui | │ └ <function _WorkItem.run at 0x7613758feca0>
open-webui | └ <concurrent.futures.thread._WorkItem object at 0x761338d74e50>
open-webui | File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
open-webui | result = self.fn(*self.args, **self.kwargs)
open-webui | │ │ │ │ │ └ {}
open-webui | │ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x761338d74e50>
open-webui | │ │ │ └ ('file-8279ba57-8316-4703-bec9-eed382b62736', 'how to view contents of a file')
open-webui | │ │ └ <concurrent.futures.thread._WorkItem object at 0x761338d74e50>
open-webui | │ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x761337db0f40>
open-webui | └ <concurrent.futures.thread._WorkItem object at 0x761338d74e50>
open-webui |
open-webui | File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
open-webui | result = query_doc_with_hybrid_search(
open-webui | └ <function query_doc_with_hybrid_search at 0x76133d91c220>
open-webui |
open-webui | > File "/app/backend/open_webui/retrieval/utils.py", line 128, in query_doc_with_hybrid_search
open-webui | bm25_retriever = BM25Retriever.from_texts(
open-webui | │ └ <classmethod(<function BM25Retriever.from_texts at 0x76133dadf420>)>
open-webui | └ <class 'langchain_community.retrievers.bm25.BM25Retriever'>
open-webui |
open-webui | File "/usr/local/lib/python3.11/site-packages/langchain_community/retrievers/bm25.py", line 64, in from_texts
open-webui | vectorizer = BM25Okapi(texts_processed, **bm25_params)
open-webui | │ │ └ {}
open-webui | │ └ []
open-webui | └ <class 'rank_bm25.BM25Okapi'>
open-webui | File "/usr/local/lib/python3.11/site-packages/rank_bm25.py", line 83, in __init__
open-webui | super().__init__(corpus, tokenizer)
open-webui | │ └ None
open-webui | └ []
open-webui | File "/usr/local/lib/python3.11/site-packages/rank_bm25.py", line 27, in __init__
open-webui | nd = self._initialize(corpus)
open-webui | │ │ └ []
open-webui | │ └ <function BM25._initialize at 0x7613389a7380>
open-webui | └ <rank_bm25.BM25Okapi object at 0x7613391a7310>
open-webui | File "/usr/local/lib/python3.11/site-packages/rank_bm25.py", line 52, in _initialize
open-webui | self.avgdl = num_doc / self.corpus_size
open-webui | │ │ │ │ └ 0
open-webui | │ │ │ └ <rank_bm25.BM25Okapi object at 0x7613391a7310>
open-webui | │ │ └ 0
open-webui | │ └ 0
open-webui | └ <rank_bm25.BM25Okapi object at 0x7613391a7310>
open-webui |
open-webui | ZeroDivisionError: division by zero
open-webui | 2025-07-24 17:59:07.527 | ERROR | open_webui.retrieval.utils:process_query:371 - Error when querying the collection with hybrid_search: division by zero - {}
open-webui | Traceback (most recent call last):
open-webui |
open-webui | File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
open-webui | self._bootstrap_inner()
open-webui | │ └ <function Thread._bootstrap_inner at 0x76137683c9a0>
open-webui | └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
open-webui | self.run()
open-webui | │ └ <function Thread.run at 0x76137683c680>
open-webui | └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | File "/usr/local/lib/python3.11/threading.py", line 982, in run
open-webui | self._target(*self._args, **self._kwargs)
open-webui | │ │ │ │ │ └ {}
open-webui | │ │ │ │ └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | │ │ │ └ (<weakref at 0x7613379466b0; to 'ThreadPoolExecutor' at 0x761338d40250>, <_queue.SimpleQueue object at 0x7613379645e0>, None,...
open-webui | │ │ └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | │ └ <function _worker at 0x7613758feb60>
open-webui | └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
open-webui | work_item.run()
open-webui | │ └ <function _WorkItem.run at 0x7613758feca0>
open-webui | └ <concurrent.futures.thread._WorkItem object at 0x761338d74e50>
open-webui | File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
open-webui | result = self.fn(*self.args, **self.kwargs)
open-webui | │ │ │ │ │ └ {}
open-webui | │ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x761338d74e50>
open-webui | │ │ │ └ ('file-8279ba57-8316-4703-bec9-eed382b62736', 'how to view contents of a file')
open-webui | │ │ └ <concurrent.futures.thread._WorkItem object at 0x761338d74e50>
open-webui | │ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x761337db0f40>
open-webui | └ <concurrent.futures.thread._WorkItem object at 0x761338d74e50>
open-webui |
open-webui | > File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
open-webui | result = query_doc_with_hybrid_search(
open-webui | └ <function query_doc_with_hybrid_search at 0x76133d91c220>
@sendmebits commented on GitHub (Jul 24, 2025):
I'm seeing this as well. Here are the specifics:
- It's working on multiple instances on v0.6.15 and **breaks as of v0.6.16**
- v0.6.18 does not resolve (I've rolled everything back to v0.6.15 to have it working)
- It is **NOT** related to **Qdrant**, I'm not using that
- I am using Tika, unsure if this is a factor
- The file does get uploaded and processed by Tika just fine, you can click on it and view it prior to submitting the question. Using the whole doc also works just fine - it's specifically the RAG/focused retrieval that fails
- I am using '**OpenAI**' for embedding model engine and '**External**' for Reranking engine. Both are pointing at LiteLLM.
Below is the log line I see when it happens:
```
rid_search:352 - Starting hybrid search for 2 queries in 1 collections... - {}
open-webui | 2025-07-24 17:59:07.525 | ERROR | open_webui.retrieval.utils:query_doc_with_hybrid_search:191 - Error querying doc file-8279ba57-8316-4703-bec9-eed382b62736 with hybrid search: division by zero - {}
open-webui | Traceback (most recent call last):
open-webui |
open-webui | File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
open-webui | self._bootstrap_inner()
open-webui | │ └ <function Thread._bootstrap_inner at 0x76137683c9a0>
open-webui | └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
open-webui | self.run()
open-webui | │ └ <function Thread.run at 0x76137683c680>
open-webui | └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | File "/usr/local/lib/python3.11/threading.py", line 982, in run
open-webui | self._target(*self._args, **self._kwargs)
open-webui | │ │ │ │ │ └ {}
open-webui | │ │ │ │ └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | │ │ │ └ (<weakref at 0x7613379466b0; to 'ThreadPoolExecutor' at 0x761338d40250>, <_queue.SimpleQueue object at 0x7613379645e0>, None,...
open-webui | │ │ └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | │ └ <function _worker at 0x7613758feb60>
open-webui | └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
open-webui | work_item.run()
open-webui | │ └ <function _WorkItem.run at 0x7613758feca0>
open-webui | └ <concurrent.futures.thread._WorkItem object at 0x761338d74e50>
open-webui | File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
open-webui | result = self.fn(*self.args, **self.kwargs)
open-webui | │ │ │ │ │ └ {}
open-webui | │ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x761338d74e50>
open-webui | │ │ │ └ ('file-8279ba57-8316-4703-bec9-eed382b62736', 'how to view contents of a file')
open-webui | │ │ └ <concurrent.futures.thread._WorkItem object at 0x761338d74e50>
open-webui | │ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x761337db0f40>
open-webui | └ <concurrent.futures.thread._WorkItem object at 0x761338d74e50>
open-webui |
open-webui | File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
open-webui | result = query_doc_with_hybrid_search(
open-webui | └ <function query_doc_with_hybrid_search at 0x76133d91c220>
open-webui |
open-webui | > File "/app/backend/open_webui/retrieval/utils.py", line 128, in query_doc_with_hybrid_search
open-webui | bm25_retriever = BM25Retriever.from_texts(
open-webui | │ └ <classmethod(<function BM25Retriever.from_texts at 0x76133dadf420>)>
open-webui | └ <class 'langchain_community.retrievers.bm25.BM25Retriever'>
open-webui |
open-webui | File "/usr/local/lib/python3.11/site-packages/langchain_community/retrievers/bm25.py", line 64, in from_texts
open-webui | vectorizer = BM25Okapi(texts_processed, **bm25_params)
open-webui | │ │ └ {}
open-webui | │ └ []
open-webui | └ <class 'rank_bm25.BM25Okapi'>
open-webui | File "/usr/local/lib/python3.11/site-packages/rank_bm25.py", line 83, in __init__
open-webui | super().__init__(corpus, tokenizer)
open-webui | │ └ None
open-webui | └ []
open-webui | File "/usr/local/lib/python3.11/site-packages/rank_bm25.py", line 27, in __init__
open-webui | nd = self._initialize(corpus)
open-webui | │ │ └ []
open-webui | │ └ <function BM25._initialize at 0x7613389a7380>
open-webui | └ <rank_bm25.BM25Okapi object at 0x7613391a7310>
open-webui | File "/usr/local/lib/python3.11/site-packages/rank_bm25.py", line 52, in _initialize
open-webui | self.avgdl = num_doc / self.corpus_size
open-webui | │ │ │ │ └ 0
open-webui | │ │ │ └ <rank_bm25.BM25Okapi object at 0x7613391a7310>
open-webui | │ │ └ 0
open-webui | │ └ 0
open-webui | └ <rank_bm25.BM25Okapi object at 0x7613391a7310>
open-webui |
open-webui | ZeroDivisionError: division by zero
open-webui | 2025-07-24 17:59:07.527 | ERROR | open_webui.retrieval.utils:process_query:371 - Error when querying the collection with hybrid_search: division by zero - {}
open-webui | Traceback (most recent call last):
open-webui |
open-webui | File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
open-webui | self._bootstrap_inner()
open-webui | │ └ <function Thread._bootstrap_inner at 0x76137683c9a0>
open-webui | └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
open-webui | self.run()
open-webui | │ └ <function Thread.run at 0x76137683c680>
open-webui | └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | File "/usr/local/lib/python3.11/threading.py", line 982, in run
open-webui | self._target(*self._args, **self._kwargs)
open-webui | │ │ │ │ │ └ {}
open-webui | │ │ │ │ └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | │ │ │ └ (<weakref at 0x7613379466b0; to 'ThreadPoolExecutor' at 0x761338d40250>, <_queue.SimpleQueue object at 0x7613379645e0>, None,...
open-webui | │ │ └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | │ └ <function _worker at 0x7613758feb60>
open-webui | └ <Thread(ThreadPoolExecutor-6_0, started 129823959668416)>
open-webui | File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
open-webui | work_item.run()
open-webui | │ └ <function _WorkItem.run at 0x7613758feca0>
open-webui | └ <concurrent.futures.thread._WorkItem object at 0x761338d74e50>
open-webui | File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
open-webui | result = self.fn(*self.args, **self.kwargs)
open-webui | │ │ │ │ │ └ {}
open-webui | │ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x761338d74e50>
open-webui | │ │ │ └ ('file-8279ba57-8316-4703-bec9-eed382b62736', 'how to view contents of a file')
open-webui | │ │ └ <concurrent.futures.thread._WorkItem object at 0x761338d74e50>
open-webui | │ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x761337db0f40>
open-webui | └ <concurrent.futures.thread._WorkItem object at 0x761338d74e50>
open-webui |
open-webui | > File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
open-webui | result = query_doc_with_hybrid_search(
open-webui | └ <function query_doc_with_hybrid_search at 0x76133d91c220>
```
Looking at other posters I think the common factor for impacted folks is OpenAI embeddings and External re-ranker, does that hold true with others impacted by this issue?
@sendmebits commented on GitHub (Jul 24, 2025):
Looking at other posters I think the common factor for impacted folks is **OpenAI embeddings** and **External re-ranker**, does that hold true with others impacted by this issue?
Example from [dotmobo](https://github.com/dotmobo):
```
2025-07-21 09:29:32.465 | DEBUG | open_webui.retrieval.utils:generate_openai_batch_embeddings:667 - generate_openai_batch_embeddings:model nomic batch size: 1 - {}
....
2025-07-21 09:29:32.507 | INFO | open_webui.retrieval.models.external:predict:36 - ExternalReranker:predict:model bge-reranker - {}
```
@sendmebits the logs seem to indicate collection_results did not return any values from the vector search, could you confirm?
@tjbck commented on GitHub (Jul 24, 2025):
@sendmebits the logs seem to indicate `collection_results` did not return any values from the vector search, could you confirm?
Definitely cannot reproduce any of the issues mentioned here from our end, hybrid search works as intended in our testing setup. Could anyone provide a more detailed information on the exact configuration you're using, as well as the file being uploaded?
@tjbck commented on GitHub (Jul 24, 2025):
Definitely cannot reproduce any of the issues mentioned here from our end, hybrid search works as intended in our testing setup. Could anyone provide a more detailed information on the exact configuration you're using, as well as the file being uploaded?
It's any file, to simplify the testing I've just been using a simple TEST.txt file with a paragraph of plain text in it.
For configuration - everything is on a single Docker host, single same Docker network, not a stack, separate containers.
It looks like its getting a 404 - '404 Client Error: Not Found for url: http://litellm:4000/v1'
ThreadPoolExecutor-6_0, started 129823959668416...
open-webui |
open-webui | > File "/app/backend/open_webui/retrieval/models/external.py", line 62, in predict
open-webui | r.raise_for_status()
open-webui | │ └ <function Response.raise_for_status at 0x75ae34a2c860>
open-webui | └ <Response [404]>
open-webui |
open-webui | File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 1026, in raise_for_status
open-webui | raise HTTPError(http_error_msg, response=self)
open-webui | │ │ └ <Response [404]>
open-webui | │ └ '404 Client Error: Not Found for url: http://litellm:4000/v1'
open-webui | └ <class 'requests.exceptions.HTTPError'>
open-webui |
open-webui | requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://litellm:4000/v1
open-webui | 2025-07-24 21:56:29.534 | ERROR | open_webui.retrieval.utils:query_doc_with_hybrid_search:191 - Error querying doc file-2acf3182-d847-44b6-ad15-76c7220f2609 with hybrid search: 'NoneType' object has no attribute 'tolist' - {}
This config works on .15 but not on .16:
@sendmebits commented on GitHub (Jul 24, 2025):
It's any file, to simplify the testing I've just been using a simple TEST.txt file with a paragraph of plain text in it.
For configuration - everything is on a single Docker host, single same Docker network, not a stack, separate containers.
It looks like its getting a 404 - '404 Client Error: Not Found for url: http://litellm:4000/v1'
```
ThreadPoolExecutor-6_0, started 129823959668416...
open-webui |
open-webui | > File "/app/backend/open_webui/retrieval/models/external.py", line 62, in predict
open-webui | r.raise_for_status()
open-webui | │ └ <function Response.raise_for_status at 0x75ae34a2c860>
open-webui | └ <Response [404]>
open-webui |
open-webui | File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 1026, in raise_for_status
open-webui | raise HTTPError(http_error_msg, response=self)
open-webui | │ │ └ <Response [404]>
open-webui | │ └ '404 Client Error: Not Found for url: http://litellm:4000/v1'
open-webui | └ <class 'requests.exceptions.HTTPError'>
open-webui |
open-webui | requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://litellm:4000/v1
open-webui | 2025-07-24 21:56:29.534 | ERROR | open_webui.retrieval.utils:query_doc_with_hybrid_search:191 - Error querying doc file-2acf3182-d847-44b6-ad15-76c7220f2609 with hybrid search: 'NoneType' object has no attribute 'tolist' - {}
```
This config works on .15 but not on .16:
<img width="809" height="785" alt="Image" src="https://github.com/user-attachments/assets/9ab459d7-15dc-4ac4-a388-80a966ee1332" />
@sendmebits could you confirm http://litellm:4000/v1 is reachable and bothcohere.embed-english-v3, amazon.rerank-v1:0 are present and accessible via api ?
@tjbck commented on GitHub (Jul 24, 2025):
@sendmebits could you confirm http://litellm:4000/v1 is reachable and both`cohere.embed-english-v3`, `amazon.rerank-v1:0` are present and accessible via api ?
@sendmebits commented on GitHub (Jul 24, 2025):
If I change the Reranking Engine URL to this **'http://litellm:4000/v1/rerank'** it seems to be able to hybrid search the text documents now!
Note: This works just fine as http://litellm:4000/v1 on v0.6.15
@sendmebits strange, only http://litellm:4000/v1/rerank should've been supported if i'm not mistaken. Could you share your logs for 0.6.15?
@tjbck commented on GitHub (Jul 24, 2025):
@sendmebits strange, only `http://litellm:4000/v1/rerank` should've been supported if i'm not mistaken. Could you share your logs for 0.6.15?
@sendmebits the logs indicate it was never configured correctly in the first place, and you weren't actually using the external reranker, this seems unrelated to the issue(s) being discussed here.
@tjbck commented on GitHub (Jul 24, 2025):
@sendmebits the logs indicate it was never configured correctly in the first place, and you weren't actually using the external reranker, this seems unrelated to the issue(s) being discussed here.
Thanks for the tips @cyberclaw03. I clicked on the "Reindex all existing documents" button in the administrator page and it works again with the 0.6.18 @tjbck .
This solved the issue for me. I'm also using qdrant on open-webui version 0.6.18.
@aldodelgado commented on GitHub (Jul 24, 2025):
> Thanks for the tips [@cyberclaw03](https://github.com/cyberclaw03). I clicked on the "Reindex all existing documents" button in the administrator page and it works again with the 0.6.18 [@tjbck](https://github.com/tjbck) .
This solved the issue for me. I'm also using qdrant on open-webui version 0.6.18.
I have the same issue. I use Ollama models for reranking, and RAG only works if I disable hybrid search. I have tried swapping out models, and reindexing, but nothing works with hybrid search enabled. The only change since it was working as intended was an update to the OpenWebUI.
@zbejas commented on GitHub (Jul 30, 2025):
I have the same issue. I use Ollama models for reranking, and RAG only works if I disable hybrid search. I have tried swapping out models, and reindexing, but nothing works with hybrid search enabled. The only change since it was working as intended was an update to the OpenWebUI.
I have the same issue. I use Ollama models for reranking, and RAG only works if I disable hybrid search. I have tried swapping out models, and reindexing, but nothing works with hybrid search enabled. The only change since it was working as intended was an update to the OpenWebUI.
ollama, although they are working on it, currently it does not support rerank, the external reranker is not the model, it is the process to obtain an rerankered dict list, the model is to indicate the model to use.
@rgaricano commented on GitHub (Jul 30, 2025):
> I have the same issue. I use Ollama models for reranking, and RAG only works if I disable hybrid search. I have tried swapping out models, and reindexing, but nothing works with hybrid search enabled. The only change since it was working as intended was an update to the OpenWebUI.
ollama, although they are working on it, currently it does not support rerank, the external reranker is not the model, it is the process to obtain an rerankered dict list, the model is to indicate the model to use.
hey just saw this —
love that you’re pushing for hybrid retrieval (vector + fulltext + metadata).
but let me point out the silent killer that keeps wrecking these setups even when everything "looks fine" on paper:
!!! what actually breaks:
You do hit the right file,
you do run fulltext,
you do combine metadata...
...but the retrieved chunk drifts semantically from what the model thinks it retrieved.
→ So now your LLM is confidently hallucinating based on a chunk that’s technically “relevant” but logically off.
!!!! this maps exactly to what I call:
No.1 — semantic boundary drift
No.5 — cosine says “yes”, logic says “hell no”
No.2 — downstream collapse due to context misalignment
You might not see the problem until the reasoning step gives you a subtle wrong answer that nobody catches.
i got tired of fixing this again and again across projects —
so I ended up building a full failure map + open-sourced all the logic behind it: 👉WFGY ProblemMap (MIT license)
it’s not a product. it’s a diagnosis system.
you don’t have to use it — just steal what’s useful.
also, not to flex but...
!!!! the author of Tesseract.js starred the project himself.
(yes, that one. the OCR guy. you can see WFGY on top1 now)
so if you’ve ever thought
“this RAG setup should work, but somehow it keeps subtly screwing up”
you’re not crazy. it’s a thing.
and I’ve mapped out exactly where and why it breaks.
if you’re curious, hit me up. otherwise, all yours — wild MIT license, no tracking, no weirdness.
we just want RAG to stop hallucinating, right?
@onestardao commented on GitHub (Aug 1, 2025):
@dotmobo
hey just saw this —
love that you’re pushing for hybrid retrieval (vector + fulltext + metadata).
but let me point out the silent killer that keeps wrecking these setups even when everything "looks fine" on paper:
!!! what actually breaks:
You do hit the right file,
you do run fulltext,
you do combine metadata...
...but the retrieved chunk drifts semantically from what the model thinks it retrieved.
→ So now your LLM is confidently hallucinating based on a chunk that’s technically “relevant” but logically off.
!!!! this maps exactly to what I call:
No.1 — semantic boundary drift
No.5 — cosine says “yes”, logic says “hell no”
No.2 — downstream collapse due to context misalignment
You might not see the problem until the reasoning step gives you a subtle wrong answer that nobody catches.
i got tired of fixing this again and again across projects —
so I ended up building a full failure map + open-sourced all the logic behind it:
👉 [WFGY ProblemMap (MIT license)](https://github.com/onestardao/WFGY/blob/main/ProblemMap/README.md)
it’s not a product. it’s a diagnosis system.
you don’t have to use it — just steal what’s useful.
also, not to flex but...
!!!! the author of [Tesseract.js](https://github.com/bijection?tab=stars) starred the project himself.
(yes, that one. the OCR guy. you can see WFGY on top1 now)
so if you’ve ever thought
“this RAG setup should work, but somehow it keeps subtly screwing up”
you’re not crazy. it’s a thing.
and I’ve mapped out exactly where and why it breaks.
if you’re curious, hit me up. otherwise, all yours — wild MIT license, no tracking, no weirdness.
we just want RAG to stop hallucinating, right?
Same issue for me. With local Ollama backend for embedding/retrieval
Reindexing : Does not work
Switching-off hybrid search: Works
Reverting to v0.6.15: Everything works fine again.
The issue is clearly with retrieval. on 0.6.16 +
Setup:
Default open-webui vector database (chromaDB I think?)
Ollama server is reachable, has no issue
Embed: bge-m3 (tried multiple)
Reranker: linux6200/bge-reranker-v2-m3
@le-patenteux commented on GitHub (Aug 1, 2025):
Same issue for me. With local Ollama backend for embedding/retrieval
Reindexing : Does not work
Switching-off hybrid search: Works
Reverting to v0.6.15: Everything works fine again.
The issue is clearly with retrieval. on 0.6.16 +
Setup:
Default open-webui vector database (chromaDB I think?)
Ollama server is reachable, has no issue
Embed: bge-m3 (tried multiple)
Reranker: linux6200/bge-reranker-v2-m3
I just came back from vacations and updated from 0.6.15 to 0.6.21 (a fix for hybrid search was added in 0.6.19 if I am reading correctly)
Hybrid search with Ollama backend still broken for me:
See previous post for more details on my setup. I confirm it is running on chromaDB
@le-patenteux commented on GitHub (Aug 11, 2025):
I just came back from vacations and updated from 0.6.15 to 0.6.21 (a fix for hybrid search was added in 0.6.19 if I am reading correctly)
Hybrid search with Ollama backend still broken for me:
<img width="1671" height="1271" alt="Image" src="https://github.com/user-attachments/assets/5e7ada41-aca2-4319-8284-85726131ebd5" />
See previous post for more details on my setup. I confirm it is running on chromaDB
yo @patentsaur — just a quick heads-up that might save you a ton of time.
you can grab our TXTOS pack (MIT license) and ask your AI directly:
“Use the WFGY formulas in this file to fix hybrid retrieval hallucination in my setup”
the math will kick in on the semantic layer — no infra changes needed.
think of it like a semantic firewall: the fix runs before the model ever queries or ranks.
lot of folks who tried this were surprised how simple it was
just drop in, ask the right way, and suddenly the model stops doing dumb things.
also, this catches not just current issues but a few nasty bugs you'll likely hit later (like pre-deploy drift or index mismatch).
worth a shot if you’re stuck in that “everything looks fine but still breaks” loop ^____^
@onestardao commented on GitHub (Aug 11, 2025):
yo @patentsaur — just a quick heads-up that might save you a ton of time.
you can grab our TXTOS pack (MIT license) and ask your AI directly:
> “Use the WFGY formulas in this file to fix hybrid retrieval hallucination in my setup”
the math will kick in on the semantic layer — no infra changes needed.
think of it like a **semantic firewall**: the fix runs *before* the model ever queries or ranks.
lot of folks who tried this were surprised how simple it was
just drop in, ask the right way, and suddenly the model stops doing dumb things.
also, this catches not just current issues but a few nasty bugs you'll likely hit later (like pre-deploy drift or index mismatch).
worth a shot if you’re stuck in that “everything looks fine but still breaks” loop ^____^
Problem Map again
https://github.com/onestardao/WFGY/blob/main/ProblemMap/README.md
2025-08-16 00:41:43.297 | INFO | open_webui.routers.openai:get_all_models:397 - get_all_models()
2025-08-16 00:41:54.460 | INFO | open_webui.routers.openai:get_all_models:397 - get_all_models()
2025-08-16 00:42:02.027 | INFO | open_webui.retrieval.utils:query_collection_with_hybrid_search:352 - Starting hybrid search for 3 queries in 1 collections...
2025-08-16 00:42:07.602 | WARNING | chromadb.segment.impl.vector.local_persistent_hnsw:query_vectors:423 - Number of requested results 10 is greater than number of elements in index 1, updating n_results = 1
2025-08-16 00:42:07.604 | INFO | open_webui.retrieval.models.external:predict:40 - ExternalReranker:predict:model klnstpr/bge-reranker-v2-m3
2025-08-16 00:42:07.604 | INFO | open_webui.retrieval.models.external:predict:41 - ExternalReranker:predict:query scope of support in software documentation
2025-08-16 00:42:07.652 | WARNING | chromadb.segment.impl.vector.local_persistent_hnsw:query_vectors:423 - Number of requested results 10 is greater than number of elements in index 1, updating n_results = 1
2025-08-16 00:42:07.654 | INFO | open_webui.retrieval.models.external:predict:40 - ExternalReranker:predict:model klnstpr/bge-reranker-v2-m3
2025-08-16 00:42:07.654 | INFO | open_webui.retrieval.models.external:predict:41 - ExternalReranker:predict:query support policy guidelines for open-source projects
2025-08-16 00:42:07.694 | WARNING | chromadb.segment.impl.vector.local_persistent_hnsw:query_vectors:423 - Number of requested results 10 is greater than number of elements in index 1, updating n_results = 1
2025-08-16 00:42:07.696 | INFO | open_webui.retrieval.models.external:predict:40 - ExternalReranker:predict:model klnstpr/bge-reranker-v2-m3
2025-08-16 00:42:07.696 | INFO | open_webui.retrieval.models.external:predict:41 - ExternalReranker:predict:query defining support boundaries in technical documentation
2025-08-16 00:42:13.149 | ERROR | open_webui.retrieval.models.external:predict:73 - Error in external reranking: 500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
│ │ │ └ (<weakref at 0x7ff415548ef0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'scope of support in software documentation')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'scope of support in software documentation'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 950, in compress_documents
scores = self.reranking_function(
│ └ <function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41692e3e0>
└ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
File "/app/backend/open_webui/utils/middleware.py", line 659, in <lambda>
lambda sentences: request.app.state.RERANKING_FUNCTION(
│ │ └ <property object at 0x7ff457c5de90>
│ └ <starlette.requests.Request object at 0x7ff4155558d0>
└ [('scope of support in software documentation', '---\nsidebar_position: 1600\ntitle: "🤝 Contributing"\n---\n\nimport { TopBan...
File "/app/backend/open_webui/retrieval/utils.py", line 452, in <lambda>
return lambda sentences, user=None: reranking_function.predict(
│ │ └ <function ExternalReranker.predict at 0x7ff418dc93a0>
│ └ <open_webui.retrieval.models.external.ExternalReranker object at 0x7ff417175690>
└ [('scope of support in software documentation', '---\nsidebar_position: 1600\ntitle: "🤝 Contributing"\n---\n\nimport { TopBan...
> File "/app/backend/open_webui/retrieval/models/external.py", line 62, in predict
r.raise_for_status()
│ └ <function Response.raise_for_status at 0x7ff457e4d300>
└ <Response [500]>
File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 1026, in raise_for_status
raise HTTPError(http_error_msg, response=self)
│ │ └ <Response [500]>
│ └ '500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank'
└ <class 'requests.exceptions.HTTPError'>
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank
2025-08-16 00:42:13.150 | ERROR | open_webui.retrieval.utils:query_doc_with_hybrid_search:191 - Error querying doc file-838f86ce-7522-4b97-a9c1-affbd9a608e2 with hybrid search: 'NoneType' object has no attribute 'tolist'
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
│ │ │ └ (<weakref at 0x7ff415548ef0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'scope of support in software documentation')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
> File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'scope of support in software documentation'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 963, in compress_documents
zip(documents, scores.tolist() if not isinstance(scores, list) else scores)
│ │ │ └ None
│ │ └ None
│ └ None
└ [Document(metadata={'Content-Type': 'text/plain; charset=UTF-8', 'X-Tika-PDFextractInlineImages': 'true', 'created_by': '292e...
AttributeError: 'NoneType' object has no attribute 'tolist'
2025-08-16 00:42:13.151 | ERROR | open_webui.retrieval.utils:process_query:371 - Error when querying the collection with hybrid_search: 'NoneType' object has no attribute 'tolist'
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
│ │ │ └ (<weakref at 0x7ff415548ef0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'scope of support in software documentation')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
> File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
File "/app/backend/open_webui/retrieval/utils.py", line 192, in query_doc_with_hybrid_search
raise e
File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'scope of support in software documentation'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 963, in compress_documents
zip(documents, scores.tolist() if not isinstance(scores, list) else scores)
│ │ │ └ None
│ │ └ None
│ └ None
└ [Document(metadata={'Content-Type': 'text/plain; charset=UTF-8', 'X-Tika-PDFextractInlineImages': 'true', 'created_by': '292e...
AttributeError: 'NoneType' object has no attribute 'tolist'
2025-08-16 00:42:13.152 | ERROR | open_webui.retrieval.models.external:predict:73 - Error in external reranking: 500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
│ │ │ └ (<weakref at 0x7ff4155488b0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'defining support boundaries in technical documentation')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'defining support boundaries in technical documentation'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 950, in compress_documents
scores = self.reranking_function(
│ └ <function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41692e3e0>
└ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
File "/app/backend/open_webui/utils/middleware.py", line 659, in <lambda>
lambda sentences: request.app.state.RERANKING_FUNCTION(
│ │ └ <property object at 0x7ff457c5de90>
│ └ <starlette.requests.Request object at 0x7ff4155558d0>
└ [('defining support boundaries in technical documentation', '---\nsidebar_position: 1600\ntitle: "🤝 Contributing"\n---\n\nimp...
File "/app/backend/open_webui/retrieval/utils.py", line 452, in <lambda>
return lambda sentences, user=None: reranking_function.predict(
│ │ └ <function ExternalReranker.predict at 0x7ff418dc93a0>
│ └ <open_webui.retrieval.models.external.ExternalReranker object at 0x7ff417175690>
└ [('defining support boundaries in technical documentation', '---\nsidebar_position: 1600\ntitle: "🤝 Contributing"\n---\n\nimp...
> File "/app/backend/open_webui/retrieval/models/external.py", line 62, in predict
r.raise_for_status()
│ └ <function Response.raise_for_status at 0x7ff457e4d300>
└ <Response [500]>
File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 1026, in raise_for_status
raise HTTPError(http_error_msg, response=self)
│ │ └ <Response [500]>
│ └ '500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank'
└ <class 'requests.exceptions.HTTPError'>
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank
2025-08-16 00:42:13.154 | ERROR | open_webui.retrieval.utils:query_doc_with_hybrid_search:191 - Error querying doc file-838f86ce-7522-4b97-a9c1-affbd9a608e2 with hybrid search: 'NoneType' object has no attribute 'tolist'
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
│ │ │ └ (<weakref at 0x7ff4155488b0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'defining support boundaries in technical documentation')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
> File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'defining support boundaries in technical documentation'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 963, in compress_documents
zip(documents, scores.tolist() if not isinstance(scores, list) else scores)
│ │ │ └ None
│ │ └ None
│ └ None
└ [Document(metadata={'Content-Type': 'text/plain; charset=UTF-8', 'X-Tika-PDFextractInlineImages': 'true', 'created_by': '292e...
AttributeError: 'NoneType' object has no attribute 'tolist'
2025-08-16 00:42:13.155 | ERROR | open_webui.retrieval.utils:process_query:371 - Error when querying the collection with hybrid_search: 'NoneType' object has no attribute 'tolist'
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
│ │ │ └ (<weakref at 0x7ff4155488b0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'defining support boundaries in technical documentation')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
> File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
File "/app/backend/open_webui/retrieval/utils.py", line 192, in query_doc_with_hybrid_search
raise e
File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'defining support boundaries in technical documentation'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 963, in compress_documents
zip(documents, scores.tolist() if not isinstance(scores, list) else scores)
│ │ │ └ None
│ │ └ None
│ └ None
└ [Document(metadata={'Content-Type': 'text/plain; charset=UTF-8', 'X-Tika-PDFextractInlineImages': 'true', 'created_by': '292e...
AttributeError: 'NoneType' object has no attribute 'tolist'
2025-08-16 00:42:13.156 | ERROR | open_webui.retrieval.models.external:predict:73 - Error in external reranking: 500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
│ │ │ └ (<weakref at 0x7ff415548bd0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'support policy guidelines for open-source projects')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'support policy guidelines for open-source projects'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 950, in compress_documents
scores = self.reranking_function(
│ └ <function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41692e3e0>
└ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
File "/app/backend/open_webui/utils/middleware.py", line 659, in <lambda>
lambda sentences: request.app.state.RERANKING_FUNCTION(
│ │ └ <property object at 0x7ff457c5de90>
│ └ <starlette.requests.Request object at 0x7ff4155558d0>
└ [('support policy guidelines for open-source projects', '---\nsidebar_position: 1600\ntitle: "🤝 Contributing"\n---\n\nimport ...
File "/app/backend/open_webui/retrieval/utils.py", line 452, in <lambda>
return lambda sentences, user=None: reranking_function.predict(
│ │ └ <function ExternalReranker.predict at 0x7ff418dc93a0>
│ └ <open_webui.retrieval.models.external.ExternalReranker object at 0x7ff417175690>
└ [('support policy guidelines for open-source projects', '---\nsidebar_position: 1600\ntitle: "🤝 Contributing"\n---\n\nimport ...
> File "/app/backend/open_webui/retrieval/models/external.py", line 62, in predict
r.raise_for_status()
│ └ <function Response.raise_for_status at 0x7ff457e4d300>
└ <Response [500]>
File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 1026, in raise_for_status
raise HTTPError(http_error_msg, response=self)
│ │ └ <Response [500]>
│ └ '500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank'
└ <class 'requests.exceptions.HTTPError'>
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank
2025-08-16 00:42:13.157 | ERROR | open_webui.retrieval.utils:query_doc_with_hybrid_search:191 - Error querying doc file-838f86ce-7522-4b97-a9c1-affbd9a608e2 with hybrid search: 'NoneType' object has no attribute 'tolist'
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
│ │ │ └ (<weakref at 0x7ff415548bd0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'support policy guidelines for open-source projects')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
> File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'support policy guidelines for open-source projects'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 963, in compress_documents
zip(documents, scores.tolist() if not isinstance(scores, list) else scores)
│ │ │ └ None
│ │ └ None
│ └ None
└ [Document(metadata={'Content-Type': 'text/plain; charset=UTF-8', 'X-Tika-PDFextractInlineImages': 'true', 'created_by': '292e...
AttributeError: 'NoneType' object has no attribute 'tolist'
2025-08-16 00:42:13.159 | ERROR | open_webui.retrieval.utils:process_query:371 - Error when querying the collection with hybrid_search: 'NoneType' object has no attribute 'tolist'
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
│ │ │ └ (<weakref at 0x7ff415548bd0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'support policy guidelines for open-source projects')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
> File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
File "/app/backend/open_webui/retrieval/utils.py", line 192, in query_doc_with_hybrid_search
raise e
File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'support policy guidelines for open-source projects'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 963, in compress_documents
zip(documents, scores.tolist() if not isinstance(scores, list) else scores)
│ │ │ └ None
│ │ └ None
│ └ None
└ [Document(metadata={'Content-Type': 'text/plain; charset=UTF-8', 'X-Tika-PDFextractInlineImages': 'true', 'created_by': '292e...
AttributeError: 'NoneType' object has no attribute 'tolist'
2025-08-16 00:42:13.161 | INFO | open_webui.routers.openai:get_all_models:397 - get_all_models()
sudo docker exec -it open-webui curl http://127.0.0.1:10005/v1/rerank \
-H "Content-Type: application/json" \
-d '{
"model": "klnstpr/bge-reranker-v2-m3",
"query": "Organic skincare products for sensitive skin",
"documents": [
"Eco-friendly kitchenware for modern homes",
"Biodegradable cleaning supplies for eco-conscious consumers",
"Organic cotton baby clothes for sensitive skin",
"Natural organic skincare range for sensitive skin",
"Tech gadgets for smart homes: 2024 edition",
"Sustainable gardening tools and compost solutions",
"Sensitive skin-friendly facial cleansers and toners",
"Organic food wraps and storage solutions",
"All-natural pet food for dogs with allergies",
"Yoga mats made from recycled materials"
],
"top_n": 3
}'
{"model":"klnstpr/bge-reranker-v2-m3","object":"list","usage":{"prompt_tokens":195,"total_tokens":195},"results":[{"index":0,"relevance_score":-10.885379791259766},{"index":1,"relevance_score":-8.234384536743164},{"index":2,"relevance_score":-0.7093545794487},{"index":3,"relevance_score":7.277642250061035},{"index":4,"relevance_score":-11.046594619750977},{"index":5,"relevance_score":-11.040145874023438},{"index":6,"relevance_score":0.6702241897583008},{"index":7,"relevance_score":-7.417957782745361},{"index":8,"relevance_score":-9.351853370666504},{"index":9,"relevance_score":-10.990015029907227}]}%
@sbutler2901 commented on GitHub (Aug 16, 2025):
Same for me on v0.6.22
```
2025-08-16 00:41:43.297 | INFO | open_webui.routers.openai:get_all_models:397 - get_all_models()
2025-08-16 00:41:54.460 | INFO | open_webui.routers.openai:get_all_models:397 - get_all_models()
2025-08-16 00:42:02.027 | INFO | open_webui.retrieval.utils:query_collection_with_hybrid_search:352 - Starting hybrid search for 3 queries in 1 collections...
2025-08-16 00:42:07.602 | WARNING | chromadb.segment.impl.vector.local_persistent_hnsw:query_vectors:423 - Number of requested results 10 is greater than number of elements in index 1, updating n_results = 1
2025-08-16 00:42:07.604 | INFO | open_webui.retrieval.models.external:predict:40 - ExternalReranker:predict:model klnstpr/bge-reranker-v2-m3
2025-08-16 00:42:07.604 | INFO | open_webui.retrieval.models.external:predict:41 - ExternalReranker:predict:query scope of support in software documentation
2025-08-16 00:42:07.652 | WARNING | chromadb.segment.impl.vector.local_persistent_hnsw:query_vectors:423 - Number of requested results 10 is greater than number of elements in index 1, updating n_results = 1
2025-08-16 00:42:07.654 | INFO | open_webui.retrieval.models.external:predict:40 - ExternalReranker:predict:model klnstpr/bge-reranker-v2-m3
2025-08-16 00:42:07.654 | INFO | open_webui.retrieval.models.external:predict:41 - ExternalReranker:predict:query support policy guidelines for open-source projects
2025-08-16 00:42:07.694 | WARNING | chromadb.segment.impl.vector.local_persistent_hnsw:query_vectors:423 - Number of requested results 10 is greater than number of elements in index 1, updating n_results = 1
2025-08-16 00:42:07.696 | INFO | open_webui.retrieval.models.external:predict:40 - ExternalReranker:predict:model klnstpr/bge-reranker-v2-m3
2025-08-16 00:42:07.696 | INFO | open_webui.retrieval.models.external:predict:41 - ExternalReranker:predict:query defining support boundaries in technical documentation
2025-08-16 00:42:13.149 | ERROR | open_webui.retrieval.models.external:predict:73 - Error in external reranking: 500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
│ │ │ └ (<weakref at 0x7ff415548ef0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'scope of support in software documentation')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'scope of support in software documentation'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 950, in compress_documents
scores = self.reranking_function(
│ └ <function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41692e3e0>
└ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
File "/app/backend/open_webui/utils/middleware.py", line 659, in <lambda>
lambda sentences: request.app.state.RERANKING_FUNCTION(
│ │ └ <property object at 0x7ff457c5de90>
│ └ <starlette.requests.Request object at 0x7ff4155558d0>
└ [('scope of support in software documentation', '---\nsidebar_position: 1600\ntitle: "🤝 Contributing"\n---\n\nimport { TopBan...
File "/app/backend/open_webui/retrieval/utils.py", line 452, in <lambda>
return lambda sentences, user=None: reranking_function.predict(
│ │ └ <function ExternalReranker.predict at 0x7ff418dc93a0>
│ └ <open_webui.retrieval.models.external.ExternalReranker object at 0x7ff417175690>
└ [('scope of support in software documentation', '---\nsidebar_position: 1600\ntitle: "🤝 Contributing"\n---\n\nimport { TopBan...
> File "/app/backend/open_webui/retrieval/models/external.py", line 62, in predict
r.raise_for_status()
│ └ <function Response.raise_for_status at 0x7ff457e4d300>
└ <Response [500]>
File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 1026, in raise_for_status
raise HTTPError(http_error_msg, response=self)
│ │ └ <Response [500]>
│ └ '500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank'
└ <class 'requests.exceptions.HTTPError'>
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank
2025-08-16 00:42:13.150 | ERROR | open_webui.retrieval.utils:query_doc_with_hybrid_search:191 - Error querying doc file-838f86ce-7522-4b97-a9c1-affbd9a608e2 with hybrid search: 'NoneType' object has no attribute 'tolist'
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
│ │ │ └ (<weakref at 0x7ff415548ef0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'scope of support in software documentation')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
> File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'scope of support in software documentation'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 963, in compress_documents
zip(documents, scores.tolist() if not isinstance(scores, list) else scores)
│ │ │ └ None
│ │ └ None
│ └ None
└ [Document(metadata={'Content-Type': 'text/plain; charset=UTF-8', 'X-Tika-PDFextractInlineImages': 'true', 'created_by': '292e...
AttributeError: 'NoneType' object has no attribute 'tolist'
2025-08-16 00:42:13.151 | ERROR | open_webui.retrieval.utils:process_query:371 - Error when querying the collection with hybrid_search: 'NoneType' object has no attribute 'tolist'
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
│ │ │ └ (<weakref at 0x7ff415548ef0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_0, started 140686265398976)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'scope of support in software documentation')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41651f090>
> File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
File "/app/backend/open_webui/retrieval/utils.py", line 192, in query_doc_with_hybrid_search
raise e
File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'scope of support in software documentation'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 963, in compress_documents
zip(documents, scores.tolist() if not isinstance(scores, list) else scores)
│ │ │ └ None
│ │ └ None
│ └ None
└ [Document(metadata={'Content-Type': 'text/plain; charset=UTF-8', 'X-Tika-PDFextractInlineImages': 'true', 'created_by': '292e...
AttributeError: 'NoneType' object has no attribute 'tolist'
2025-08-16 00:42:13.152 | ERROR | open_webui.retrieval.models.external:predict:73 - Error in external reranking: 500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
│ │ │ └ (<weakref at 0x7ff4155488b0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'defining support boundaries in technical documentation')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'defining support boundaries in technical documentation'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 950, in compress_documents
scores = self.reranking_function(
│ └ <function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41692e3e0>
└ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
File "/app/backend/open_webui/utils/middleware.py", line 659, in <lambda>
lambda sentences: request.app.state.RERANKING_FUNCTION(
│ │ └ <property object at 0x7ff457c5de90>
│ └ <starlette.requests.Request object at 0x7ff4155558d0>
└ [('defining support boundaries in technical documentation', '---\nsidebar_position: 1600\ntitle: "🤝 Contributing"\n---\n\nimp...
File "/app/backend/open_webui/retrieval/utils.py", line 452, in <lambda>
return lambda sentences, user=None: reranking_function.predict(
│ │ └ <function ExternalReranker.predict at 0x7ff418dc93a0>
│ └ <open_webui.retrieval.models.external.ExternalReranker object at 0x7ff417175690>
└ [('defining support boundaries in technical documentation', '---\nsidebar_position: 1600\ntitle: "🤝 Contributing"\n---\n\nimp...
> File "/app/backend/open_webui/retrieval/models/external.py", line 62, in predict
r.raise_for_status()
│ └ <function Response.raise_for_status at 0x7ff457e4d300>
└ <Response [500]>
File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 1026, in raise_for_status
raise HTTPError(http_error_msg, response=self)
│ │ └ <Response [500]>
│ └ '500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank'
└ <class 'requests.exceptions.HTTPError'>
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank
2025-08-16 00:42:13.154 | ERROR | open_webui.retrieval.utils:query_doc_with_hybrid_search:191 - Error querying doc file-838f86ce-7522-4b97-a9c1-affbd9a608e2 with hybrid search: 'NoneType' object has no attribute 'tolist'
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
│ │ │ └ (<weakref at 0x7ff4155488b0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'defining support boundaries in technical documentation')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
> File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'defining support boundaries in technical documentation'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 963, in compress_documents
zip(documents, scores.tolist() if not isinstance(scores, list) else scores)
│ │ │ └ None
│ │ └ None
│ └ None
└ [Document(metadata={'Content-Type': 'text/plain; charset=UTF-8', 'X-Tika-PDFextractInlineImages': 'true', 'created_by': '292e...
AttributeError: 'NoneType' object has no attribute 'tolist'
2025-08-16 00:42:13.155 | ERROR | open_webui.retrieval.utils:process_query:371 - Error when querying the collection with hybrid_search: 'NoneType' object has no attribute 'tolist'
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
│ │ │ └ (<weakref at 0x7ff4155488b0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_2, started 140685244602048)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'defining support boundaries in technical documentation')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff41557b610>
> File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
File "/app/backend/open_webui/retrieval/utils.py", line 192, in query_doc_with_hybrid_search
raise e
File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'defining support boundaries in technical documentation'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 963, in compress_documents
zip(documents, scores.tolist() if not isinstance(scores, list) else scores)
│ │ │ └ None
│ │ └ None
│ └ None
└ [Document(metadata={'Content-Type': 'text/plain; charset=UTF-8', 'X-Tika-PDFextractInlineImages': 'true', 'created_by': '292e...
AttributeError: 'NoneType' object has no attribute 'tolist'
2025-08-16 00:42:13.156 | ERROR | open_webui.retrieval.models.external:predict:73 - Error in external reranking: 500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
│ │ │ └ (<weakref at 0x7ff415548bd0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'support policy guidelines for open-source projects')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'support policy guidelines for open-source projects'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 950, in compress_documents
scores = self.reranking_function(
│ └ <function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41692e3e0>
└ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
File "/app/backend/open_webui/utils/middleware.py", line 659, in <lambda>
lambda sentences: request.app.state.RERANKING_FUNCTION(
│ │ └ <property object at 0x7ff457c5de90>
│ └ <starlette.requests.Request object at 0x7ff4155558d0>
└ [('support policy guidelines for open-source projects', '---\nsidebar_position: 1600\ntitle: "🤝 Contributing"\n---\n\nimport ...
File "/app/backend/open_webui/retrieval/utils.py", line 452, in <lambda>
return lambda sentences, user=None: reranking_function.predict(
│ │ └ <function ExternalReranker.predict at 0x7ff418dc93a0>
│ └ <open_webui.retrieval.models.external.ExternalReranker object at 0x7ff417175690>
└ [('support policy guidelines for open-source projects', '---\nsidebar_position: 1600\ntitle: "🤝 Contributing"\n---\n\nimport ...
> File "/app/backend/open_webui/retrieval/models/external.py", line 62, in predict
r.raise_for_status()
│ └ <function Response.raise_for_status at 0x7ff457e4d300>
└ <Response [500]>
File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 1026, in raise_for_status
raise HTTPError(http_error_msg, response=self)
│ │ └ <Response [500]>
│ └ '500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank'
└ <class 'requests.exceptions.HTTPError'>
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank
2025-08-16 00:42:13.157 | ERROR | open_webui.retrieval.utils:query_doc_with_hybrid_search:191 - Error querying doc file-838f86ce-7522-4b97-a9c1-affbd9a608e2 with hybrid search: 'NoneType' object has no attribute 'tolist'
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
│ │ │ └ (<weakref at 0x7ff415548bd0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'support policy guidelines for open-source projects')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
> File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'support policy guidelines for open-source projects'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 963, in compress_documents
zip(documents, scores.tolist() if not isinstance(scores, list) else scores)
│ │ │ └ None
│ │ └ None
│ └ None
└ [Document(metadata={'Content-Type': 'text/plain; charset=UTF-8', 'X-Tika-PDFextractInlineImages': 'true', 'created_by': '292e...
AttributeError: 'NoneType' object has no attribute 'tolist'
2025-08-16 00:42:13.159 | ERROR | open_webui.retrieval.utils:process_query:371 - Error when querying the collection with hybrid_search: 'NoneType' object has no attribute 'tolist'
Traceback (most recent call last):
File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7ff45b6349a0>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7ff45b634680>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
│ │ │ └ (<weakref at 0x7ff415548bd0; to 'ThreadPoolExecutor' at 0x7ff415555110>, <_queue.SimpleQueue object at 0x7ff41552fb00>, None,...
│ │ └ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
│ └ <function _worker at 0x7ff45a7109a0>
└ <Thread(ThreadPoolExecutor-9_1, started 140685864851136)>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
work_item.run()
│ └ <function _WorkItem.run at 0x7ff45a710ae0>
└ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
│ │ │ └ ('file-838f86ce-7522-4b97-a9c1-affbd9a608e2', 'support policy guidelines for open-source projects')
│ │ └ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
│ └ <function query_collection_with_hybrid_search.<locals>.process_query at 0x7ff415541080>
└ <concurrent.futures.thread._WorkItem object at 0x7ff4155b6450>
> File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7ff4205a79c0>
File "/app/backend/open_webui/retrieval/utils.py", line 192, in query_doc_with_hybrid_search
raise e
File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'support policy guidelines for open-source projects'
│ └ <function BaseRetriever.invoke at 0x7ff4207b1c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7ff4207b19e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7ff4205a7e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7ff41693...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 963, in compress_documents
zip(documents, scores.tolist() if not isinstance(scores, list) else scores)
│ │ │ └ None
│ │ └ None
│ └ None
└ [Document(metadata={'Content-Type': 'text/plain; charset=UTF-8', 'X-Tika-PDFextractInlineImages': 'true', 'created_by': '292e...
AttributeError: 'NoneType' object has no attribute 'tolist'
2025-08-16 00:42:13.161 | INFO | open_webui.routers.openai:get_all_models:397 - get_all_models()
```
Similar to: https://github.com/open-webui/open-webui/issues/16228#issuecomment-3146579709:
```
sudo docker exec -it open-webui curl http://127.0.0.1:10005/v1/rerank \
-H "Content-Type: application/json" \
-d '{
"model": "klnstpr/bge-reranker-v2-m3",
"query": "Organic skincare products for sensitive skin",
"documents": [
"Eco-friendly kitchenware for modern homes",
"Biodegradable cleaning supplies for eco-conscious consumers",
"Organic cotton baby clothes for sensitive skin",
"Natural organic skincare range for sensitive skin",
"Tech gadgets for smart homes: 2024 edition",
"Sustainable gardening tools and compost solutions",
"Sensitive skin-friendly facial cleansers and toners",
"Organic food wraps and storage solutions",
"All-natural pet food for dogs with allergies",
"Yoga mats made from recycled materials"
],
"top_n": 3
}'
{"model":"klnstpr/bge-reranker-v2-m3","object":"list","usage":{"prompt_tokens":195,"total_tokens":195},"results":[{"index":0,"relevance_score":-10.885379791259766},{"index":1,"relevance_score":-8.234384536743164},{"index":2,"relevance_score":-0.7093545794487},{"index":3,"relevance_score":7.277642250061035},{"index":4,"relevance_score":-11.046594619750977},{"index":5,"relevance_score":-11.040145874023438},{"index":6,"relevance_score":0.6702241897583008},{"index":7,"relevance_score":-7.417957782745361},{"index":8,"relevance_score":-9.351853370666504},{"index":9,"relevance_score":-10.990015029907227}]}%
```
if scores:
docs_with_scores = list(
zip(documents, scores.tolist() if not isinstance(scores, list) else scores)
)
if self.r_score:
docs_with_scores = [
(d, s) for d, s in docs_with_scores if s >= self.r_score
]
@rgaricano commented on GitHub (Aug 16, 2025):
For reference:
https://github.com/open-webui/open-webui/blob/438e5d966f0f64f9ea3feab22724a5bd96a4127b/backend/open_webui/retrieval/utils.py#L962-L968
fix
```
if scores:
docs_with_scores = list(
zip(documents, scores.tolist() if not isinstance(scores, list) else scores)
)
if self.r_score:
docs_with_scores = [
(d, s) for d, s in docs_with_scores if s >= self.r_score
]
```
Hey @rgaricano, unfortunately that does not fix the issue. For me, this leads to the docs_with_scores variable being undefined:
UnboundLocalError: cannot access local variable 'docs_with_scores' where it is not associated with a value
2025-08-16 17:01:08.668 | ERROR | open_webui.retrieval.utils:process_query:371 - Error when querying the collection with hybrid_search: cannot access local variable 'docs_with_scores' where it is not associated with a value
File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7fb39f0079c0>
File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'Methods for analyzing document content'
│ └ <function BaseRetriever.invoke at 0x7fb39f219c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7fb39f2199e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7fb39f007e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7fb39994...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 950, in compress_documents
scores = self.reranking_function(
│ └ <function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7fb399d845e0>
└ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7fb39994...
File "/app/backend/open_webui/utils/middleware.py", line 659, in <lambda>
lambda sentences: request.app.state.RERANKING_FUNCTION(
│ │ └ <property object at 0x7fb3da771c60>
│ └ <starlette.requests.Request object at 0x7fb3999aec50>
└ [('Methods for analyzing document content', '---\nsidebar_position: 1600\ntitle: "🤝 Contributing"\n---\n\nimport { TopBanners...
File "/app/backend/open_webui/retrieval/utils.py", line 452, in <lambda>
return lambda sentences, user=None: reranking_function.predict(
│ │ └ <function ExternalReranker.predict at 0x7fb39b5793a0>
│ └ <open_webui.retrieval.models.external.ExternalReranker object at 0x7fb39a11d790>
└ [('Methods for analyzing document content', '---\nsidebar_position: 1600\ntitle: "🤝 Contributing"\n---\n\nimport { TopBanners...
> File "/app/backend/open_webui/retrieval/models/external.py", line 62, in predict
r.raise_for_status()
│ └ <function Response.raise_for_status at 0x7fb3da95d300>
└ <Response [500]>
File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 1026, in raise_for_status
raise HTTPError(http_error_msg, response=self)
│ │ └ <Response [500]>
│ └ '500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank'
└ <class 'requests.exceptions.HTTPError'>
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank
2025-08-16 17:14:37.387 | INFO | open_webui.retrieval.utils:query_doc_with_hybrid_search:185 - query_doc_with_hybrid_search:result [[]] [[]]
2025-08-16 17:14:37.387 | INFO | open_webui.retrieval.utils:query_doc_with_hybrid_search:185 - query_doc_with_hybrid_search:result [[]] [[]]
2025-08-16 17:14:37.387 | INFO | open_webui.retrieval.utils:query_doc_with_hybrid_search:185 - query_doc_with_hybrid_search:result [[]] [[]]
2025-08-16 17:14:37.390 | INFO | open_webui.routers.openai:get_all_models:397 - get_all_models()
@sbutler2901 commented on GitHub (Aug 16, 2025):
Hey @rgaricano, unfortunately that does not fix the issue. For me, this leads to the `docs_with_scores` variable being undefined:
```
UnboundLocalError: cannot access local variable 'docs_with_scores' where it is not associated with a value
2025-08-16 17:01:08.668 | ERROR | open_webui.retrieval.utils:process_query:371 - Error when querying the collection with hybrid_search: cannot access local variable 'docs_with_scores' where it is not associated with a value
```
Trying with:
```python
if scores:
docs_with_scores = list(
zip(documents, scores.tolist() if not isinstance(scores, list) else scores)
)
if self.r_score:
docs_with_scores = [
(d, s) for d, s in docs_with_scores if s >= self.r_score
]
else:
docs_with_scores = []
```
Results in:
```
File "/app/backend/open_webui/retrieval/utils.py", line 358, in process_query
result = query_doc_with_hybrid_search(
└ <function query_doc_with_hybrid_search at 0x7fb39f0079c0>
File "/app/backend/open_webui/retrieval/utils.py", line 165, in query_doc_with_hybrid_search
result = compression_retriever.invoke(query)
│ │ └ 'Methods for analyzing document content'
│ └ <function BaseRetriever.invoke at 0x7fb39f219c60>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain_core/retrievers.py", line 261, in invoke
result = self._get_relevant_documents(
│ └ <function ContextualCompressionRetriever._get_relevant_documents at 0x7fb39f2199e0>
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/usr/local/lib/python3.11/site-packages/langchain/retrievers/contextual_compression.py", line 44, in _get_relevant_documents
compressed_docs = self.base_compressor.compress_documents(
│ │ └ <function RerankCompressor.compress_documents at 0x7fb39f007e20>
│ └ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7fb39994...
└ ContextualCompressionRetriever(base_compressor=RerankCompressor(embedding_function=<function chat_completion_files_handler.<l...
File "/app/backend/open_webui/retrieval/utils.py", line 950, in compress_documents
scores = self.reranking_function(
│ └ <function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7fb399d845e0>
└ RerankCompressor(embedding_function=<function chat_completion_files_handler.<locals>.<lambda>.<locals>.<lambda> at 0x7fb39994...
File "/app/backend/open_webui/utils/middleware.py", line 659, in <lambda>
lambda sentences: request.app.state.RERANKING_FUNCTION(
│ │ └ <property object at 0x7fb3da771c60>
│ └ <starlette.requests.Request object at 0x7fb3999aec50>
└ [('Methods for analyzing document content', '---\nsidebar_position: 1600\ntitle: "🤝 Contributing"\n---\n\nimport { TopBanners...
File "/app/backend/open_webui/retrieval/utils.py", line 452, in <lambda>
return lambda sentences, user=None: reranking_function.predict(
│ │ └ <function ExternalReranker.predict at 0x7fb39b5793a0>
│ └ <open_webui.retrieval.models.external.ExternalReranker object at 0x7fb39a11d790>
└ [('Methods for analyzing document content', '---\nsidebar_position: 1600\ntitle: "🤝 Contributing"\n---\n\nimport { TopBanners...
> File "/app/backend/open_webui/retrieval/models/external.py", line 62, in predict
r.raise_for_status()
│ └ <function Response.raise_for_status at 0x7fb3da95d300>
└ <Response [500]>
File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 1026, in raise_for_status
raise HTTPError(http_error_msg, response=self)
│ │ └ <Response [500]>
│ └ '500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank'
└ <class 'requests.exceptions.HTTPError'>
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank
2025-08-16 17:14:37.387 | INFO | open_webui.retrieval.utils:query_doc_with_hybrid_search:185 - query_doc_with_hybrid_search:result [[]] [[]]
2025-08-16 17:14:37.387 | INFO | open_webui.retrieval.utils:query_doc_with_hybrid_search:185 - query_doc_with_hybrid_search:result [[]] [[]]
2025-08-16 17:14:37.387 | INFO | open_webui.retrieval.utils:query_doc_with_hybrid_search:185 - query_doc_with_hybrid_search:result [[]] [[]]
2025-08-16 17:14:37.390 | INFO | open_webui.routers.openai:get_all_models:397 - get_all_models()
```
@sbutler2901 '500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank' looks like your rerank engine isn't reachable, have you ruled that out first?
@tjbck commented on GitHub (Aug 21, 2025):
@sbutler2901 `'500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank'` looks like your rerank engine isn't reachable, have you ruled that out first?
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @dotmobo on GitHub (Jul 21, 2025).
Check Existing Issues
Installation Method
Docker
Open WebUI Version
v0.6.18
Ollama Version (if applicable)
No response
Operating System
Ubuntu 22.04
Browser (if applicable)
No response
Confirmation
README.md.Expected Behavior
Hybrid search with embedding and reranking should get data from the knowledge database of the model.
Broken since v0.6.16
Actual Behavior
Since v0.6.16, the hybrid search functionality (using an OpenAI embedding model and an OpenAI reranking model) has stopped working.
In v0.6.17, I saw in the changelog: "Hybrid Search Functionality Restored". But it still doesn't work for me.
Still broken in v0.6.18.
If I roll back to v0.6.15, it works fine.
Steps to Reproduce
Create a knowledge base
Create a model and add the knowledge base
Use the following RAG parameters
Ask a question to the model
Logs & Screenshots
I can see in the logs :
2025-07-21 08:55:49.781 | INFO | httpx._client:_send_single_request:1025 - HTTP Request: GET http://192.168.0.10:6333/collections/open-webui_knowledge/exists "HTTP/1.1 200 OK" - {}
2025-07-21 08:55:49.782 | INFO | open_webui.retrieval.utils:query_collection_with_hybrid_search:352 - Starting hybrid search for 1 query in 1 collection... - {}
2025-07-21 08:55:49.839 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 130.79.202.31:0 - "POST /api/chat/completions HTTP/1.1" 200 - {}
But no documents are retrieved.
Additional Information
No response
@tjbck commented on GitHub (Jul 21, 2025):
We're unable to reproduce, could you share more backend logs with
GLOBAL_LOG_LEVELset todebug?@dotmobo commented on GitHub (Jul 21, 2025):
Sûre
@dotmobo commented on GitHub (Jul 21, 2025):
The anwser in v0.6.18 :
The same question but in v0.6.15 :
You can see the mension of rust_book.pdf
@dotmobo commented on GitHub (Jul 21, 2025):
My config document screen :
I use a LiteLLM gateway to serve embedding and reranking models with an openai api compatible
@dotmobo commented on GitHub (Jul 21, 2025):
The following lines are present in the v0.6.15 log and missing in the v0.6.18 log :
@Abdelrahman1993 commented on GitHub (Jul 21, 2025):
I'm having the same problem since v0.6.16. Just upgraded to v0.6.18 and the issue is still there.
Open WebUi logs
Qdrant DB Logs
@tjbck commented on GitHub (Jul 21, 2025):
@dotmobo are you using
qdrantas well?@dotmobo commented on GitHub (Jul 21, 2025):
Yes i use qdrant
@cyberclaw03 commented on GitHub (Jul 23, 2025):
Since upgrading to v0.6.18 from v0.6.14, I am having this very issue. I am also using qdrant. Prior to the upgrade, RAG worked perfectly.
@cyberclaw03 commented on GitHub (Jul 23, 2025):
I managed to fix it on my end by deleting and recreating my Knowledge Bases. I also set the "ENABLE_QDRANT_MULTITENANCY_MODE" environment variable to "true," which may have helped.
At that point, though, I ran into a totally different issue. Tika was no longer working because of a recent Docker image update. I rolled back to an older version of Ticka and now everything works great.
@MacJedi42 commented on GitHub (Jul 24, 2025):
Have the same issue since upgrading to 0.6.18.
@dotmobo commented on GitHub (Jul 24, 2025):
Thanks for the tips @cyberclaw03.
I clicked on the "Reindex all existing documents" button in the administrator page and it works again with the 0.6.18 @tjbck
.
@alexdjachenko commented on GitHub (Jul 24, 2025):
I have the same issue: bare KB works well, but in hybrid mode no one documents passed to LLM at all (not KB, not keywords). 0.6.18.
P.S I use internal Sintence Transformer
@MarceloCogo commented on GitHub (Jul 24, 2025):
I have the same issue using Hybrid Search. 0.6.18
@tjbck commented on GitHub (Jul 24, 2025):
Most likely related to: https://github.com/open-webui/open-webui/pull/15289
@Anush008 could you chime in?
@Anush008 commented on GitHub (Jul 24, 2025):
Hey all. Does this resolve the issue for you?
@alexdjachenko commented on GitHub (Jul 24, 2025):
Nop, I use intertal sintence transformet, not Qdrant.
KB works without reindexing. It seems, the trouble in a mixing results.
2025-07-24 16:57:21.398 | DEBUG | open_webui.models.tags:delete_tag_by_name_and_user_id:101 - res: 1 - {}
2025-07-24 16:57:21.447 | INFO | open_webui.models.chats:count_chats_by_tag_name_and_user_id:871 - Count of chats for tag 'user_interface_customization': 0 - {}
2025-07-24 16:57:21.449 | DEBUG | open_webui.models.tags:delete_tag_by_name_and_user_id:101 - res: 1 - {}
2025-07-24 16:57:21.496 | INFO | open_webui.models.chats:count_chats_by_tag_name_and_user_id:871 - Count of chats for tag 'technology': 15 - {}
2025-07-24 16:57:21.539 | INFO | open_webui.models.chats:count_chats_by_tag_name_and_user_id:871 - Count of chats for tag 'assistive_technologies': 0 - {}
2025-07-24 16:57:21.540 | DEBUG | open_webui.models.tags:delete_tag_by_name_and_user_id:101 - res: 1 - {}
2025-07-24 16:57:21.587 | INFO | open_webui.models.chats:count_chats_by_tag_name_and_user_id:871 - Count of chats for tag 'web_accessibility': 1 - {}
2025-07-24 16:57:21.629 | INFO | open_webui.models.chats:count_chats_by_tag_name_and_user_id:871 - Count of chats for tag 'education': 8 - {}
@sendmebits commented on GitHub (Jul 24, 2025):
I'm seeing this as well. Here are the specifics:
Below is the log line I see when it happens:
@sendmebits commented on GitHub (Jul 24, 2025):
Looking at other posters I think the common factor for impacted folks is OpenAI embeddings and External re-ranker, does that hold true with others impacted by this issue?
Example from dotmobo:
@tjbck commented on GitHub (Jul 24, 2025):
@sendmebits the logs seem to indicate
collection_resultsdid not return any values from the vector search, could you confirm?@tjbck commented on GitHub (Jul 24, 2025):
Definitely cannot reproduce any of the issues mentioned here from our end, hybrid search works as intended in our testing setup. Could anyone provide a more detailed information on the exact configuration you're using, as well as the file being uploaded?
@sendmebits commented on GitHub (Jul 24, 2025):
It's any file, to simplify the testing I've just been using a simple TEST.txt file with a paragraph of plain text in it.
For configuration - everything is on a single Docker host, single same Docker network, not a stack, separate containers.
It looks like its getting a 404 - '404 Client Error: Not Found for url: http://litellm:4000/v1'
This config works on .15 but not on .16:
@tjbck commented on GitHub (Jul 24, 2025):
@sendmebits could you confirm http://litellm:4000/v1 is reachable and both
cohere.embed-english-v3,amazon.rerank-v1:0are present and accessible via api ?@sendmebits commented on GitHub (Jul 24, 2025):
If I change the Reranking Engine URL to this 'http://litellm:4000/v1/rerank' it seems to be able to hybrid search the text documents now!
Note: This works just fine as http://litellm:4000/v1 on v0.6.15
@tjbck commented on GitHub (Jul 24, 2025):
@sendmebits strange, only
http://litellm:4000/v1/rerankshould've been supported if i'm not mistaken. Could you share your logs for 0.6.15?@sendmebits commented on GitHub (Jul 24, 2025):
Here are logs for 0.6.15. I do still see the 404, but it works for some reason... there are some other errors ... not sure what they mean though...
@tjbck commented on GitHub (Jul 24, 2025):
@sendmebits the logs indicate it was never configured correctly in the first place, and you weren't actually using the external reranker, this seems unrelated to the issue(s) being discussed here.
@aldodelgado commented on GitHub (Jul 24, 2025):
This solved the issue for me. I'm also using qdrant on open-webui version 0.6.18.
@zbejas commented on GitHub (Jul 30, 2025):
I have the same issue. I use Ollama models for reranking, and RAG only works if I disable hybrid search. I have tried swapping out models, and reindexing, but nothing works with hybrid search enabled. The only change since it was working as intended was an update to the OpenWebUI.
@rgaricano commented on GitHub (Jul 30, 2025):
ollama, although they are working on it, currently it does not support rerank, the external reranker is not the model, it is the process to obtain an rerankered dict list, the model is to indicate the model to use.
@onestardao commented on GitHub (Aug 1, 2025):
@dotmobo
hey just saw this —
love that you’re pushing for hybrid retrieval (vector + fulltext + metadata).
but let me point out the silent killer that keeps wrecking these setups even when everything "looks fine" on paper:
!!! what actually breaks:
You do hit the right file,
you do run fulltext,
you do combine metadata...
...but the retrieved chunk drifts semantically from what the model thinks it retrieved.
→ So now your LLM is confidently hallucinating based on a chunk that’s technically “relevant” but logically off.
!!!! this maps exactly to what I call:
No.1 — semantic boundary drift
No.5 — cosine says “yes”, logic says “hell no”
No.2 — downstream collapse due to context misalignment
You might not see the problem until the reasoning step gives you a subtle wrong answer that nobody catches.
i got tired of fixing this again and again across projects —
so I ended up building a full failure map + open-sourced all the logic behind it:
👉 WFGY ProblemMap (MIT license)
it’s not a product. it’s a diagnosis system.
you don’t have to use it — just steal what’s useful.
also, not to flex but...
!!!! the author of Tesseract.js starred the project himself.
(yes, that one. the OCR guy. you can see WFGY on top1 now)
so if you’ve ever thought
“this RAG setup should work, but somehow it keeps subtly screwing up”
you’re not crazy. it’s a thing.
and I’ve mapped out exactly where and why it breaks.
if you’re curious, hit me up. otherwise, all yours — wild MIT license, no tracking, no weirdness.
we just want RAG to stop hallucinating, right?
@le-patenteux commented on GitHub (Aug 1, 2025):
Same issue for me. With local Ollama backend for embedding/retrieval
Reindexing : Does not work
Switching-off hybrid search: Works
Reverting to v0.6.15: Everything works fine again.
The issue is clearly with retrieval. on 0.6.16 +
Setup:
Default open-webui vector database (chromaDB I think?)
Ollama server is reachable, has no issue
Embed: bge-m3 (tried multiple)
Reranker: linux6200/bge-reranker-v2-m3
@le-patenteux commented on GitHub (Aug 11, 2025):
I just came back from vacations and updated from 0.6.15 to 0.6.21 (a fix for hybrid search was added in 0.6.19 if I am reading correctly)
Hybrid search with Ollama backend still broken for me:
See previous post for more details on my setup. I confirm it is running on chromaDB
@onestardao commented on GitHub (Aug 11, 2025):
yo @patentsaur — just a quick heads-up that might save you a ton of time.
you can grab our TXTOS pack (MIT license) and ask your AI directly:
the math will kick in on the semantic layer — no infra changes needed.
think of it like a semantic firewall: the fix runs before the model ever queries or ranks.
lot of folks who tried this were surprised how simple it was
just drop in, ask the right way, and suddenly the model stops doing dumb things.
also, this catches not just current issues but a few nasty bugs you'll likely hit later (like pre-deploy drift or index mismatch).
worth a shot if you’re stuck in that “everything looks fine but still breaks” loop ^____^
Problem Map again
https://github.com/onestardao/WFGY/blob/main/ProblemMap/README.md
@sthemeow commented on GitHub (Aug 12, 2025):
Same issue here. Happens with 0.6.18 and 0.6.22. Downgraded to 0.6.15 and it works fine
@sbutler2901 commented on GitHub (Aug 16, 2025):
Same for me on v0.6.22
Similar to: https://github.com/open-webui/open-webui/issues/16228#issuecomment-3146579709:
@rgaricano commented on GitHub (Aug 16, 2025):
For reference:
https://github.com/open-webui/open-webui/blob/438e5d966f0f64f9ea3feab22724a5bd96a4127b/backend/open_webui/retrieval/utils.py#L962-L968
fix
@sbutler2901 commented on GitHub (Aug 16, 2025):
Hey @rgaricano, unfortunately that does not fix the issue. For me, this leads to the
docs_with_scoresvariable being undefined:Trying with:
Results in:
@rgaricano commented on GitHub (Aug 17, 2025):
@sbutler2901
try just returning same input documents:
@tjbck commented on GitHub (Aug 21, 2025):
@sbutler2901
'500 Server Error: Internal Server Error for url: http://127.0.0.1:9292/v1/rerank'looks like your rerank engine isn't reachable, have you ruled that out first?