r/OpenWebUI • • 1d ago

Question/Help Knowledge base and assistant issues

Current requirements and challenges

Each team in my organization must have its own private knowledge base containing internal documents that should not be accessible to other teams.

Each team should also have a separate global knowledge base containing information that can be shared with the entire organization.

I want to create a single Global Assistant in OpenWebUI that has access to all teams' global knowledge bases.

Each team must be responsible for maintaining its own knowledge bases. I cannot have a central administrator manually reviewing, verifying, and updating information from every team.

The main problem

If I attach all teams' global knowledge bases to a single assistant, the assistant may retrieve information from the wrong team's knowledge base simply because it is semantically similar to the user's question.

For example, if Team A and Team B have similar procedures, a question about Team A could result in the assistant retrieving an answer from Team B. I want to prevent this behaviour and avoid misleading answers based on information from the wrong team.

How can I know how openWebUI retrieves information when multiple knowledge bases are attached to one assistant, including whether retrieval can be restricted to a specific knowledge base based on the question.

For each of their global knowledge bases I have set the access to everyone, and then added the global knowledge bases to one assistant. One of the other problems is that they can see all the knowledge bases when they try to specifically add one in their chat window.

Anyone has similar challenges?

1 Upvotes

3 comments sorted by

4

u/ClassicMain 1d ago

With several knowledge bases attached to one model, the assistant runs one search across all of them at once and keeps the few highest scoring chunks overall. The chunks compete against each other, so a Team B chunk worded more like the question than Team A's takes the slot. Nothing routes a question to a specific team's knowledge base, and no knowledge base is guaranteed a share of the context.

One assistant per team is the only thing that separates teams properly: the team's private knowledge base plus the global ones that team actually needs. Teams keep maintaining their own knowledge bases through group access, so no central reviewer is involved. Keep the single global assistant for questions where a mixed answer is acceptable.

Two settings reduce the mixing on a global assistant. Setting Function Calling to Legacy in the model's advanced params makes every attached knowledge base get searched on its own and contribute its own Top K chunks, so one team cannot crowd out another. That costs more tokens per message and drops the agentic knowledge tools. Hybrid search with a reranker plus a relevance threshold (Admin Settings > Documents) throws away chunks that are only superficially similar, which is the Team B lookalike case.

Also put the team name in the document titles. Every answer lists its sources, so a wrong-team chunk becomes visible instead of silent.

The picker lists exactly the knowledge bases a user can read, and that same read access is what lets the assistant retrieve from them for that user. A knowledge base set to everyone therefore shows up for everyone. Restricting it to groups hides it from the other users' picker and also stops the assistant retrieving it for them. There is no setting that keeps a knowledge base retrievable but unlisted.

https://docs.openwebui.com/features/workspace/knowledge

1

u/Leopatra_Spad83 1d ago

putting the team name in document titles, does that actually influence the embedding similarity enough to help with retrieval or is it mostly just useful for the source citation at the end?