[GH-ISSUE #20435] Chunk-level citation issue: Different citation markers show identical retrieved chunks in RAG answers #34713

Closed
opened 2026-04-25 08:48:57 -05:00 by GiteaMirror · 1 comment
Owner

Originally created by @Leonurus-free on GitHub (Jan 7, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/20435

Check Existing Issues

  • I have searched for any existing and/or related issues.
  • I have searched for any existing and/or related discussions.
  • I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
  • I am using the latest version of Open WebUI.

Installation Method

Docker

Open WebUI Version

0.6.43

Ollama Version (if applicable)

No response

Operating System

ubuntu22.04

Browser (if applicable)

Chrome 133

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

Problem Description

I am currently using Open WebUI to build a self-hosted RAG knowledge base. I noticed an issue with how citations are displayed in the generated answers.

When the answer contains multiple sentences with separate citation markers pointing to the same document, clicking on each citation shows the exact same set of chunks from that document.
This makes it appear as if every cited sentence is supported by the same evidence, even though in reality each sentence should correspond to different chunks with different relevance scores.

For example (as shown in the screenshot):

  • The answer contains three sentences, each annotated with a citation to the same document:
    “人工智能大模型综述及展望.pdf”
  • However, when clicking the three citation markers individually, they all display the same retrieved chunks, instead of showing the specific chunk relevant to that sentence.

Why this is a problem

  1. It creates the impression that the citations are not trustworthy, because:
    • Different statements appear to be backed by identical evidence.
  2. Users who want to verify the source of a specific sentence must:
    • Manually search through all returned chunks
    • Without knowing which chunk actually supports which sentence
  3. This significantly reduces usability, especially when documents are long and contain many chunks.

Expected Behavior

  • Each citation marker should correspond to the specific chunk(s) used to support that particular sentence.

Impact

This citation behavior causes practical usability issues:

  • When users want to verify the source of a specific statement in the answer
  • They must manually search through all retrieved chunks of the cited document
  • This significantly increases cognitive load and hurts user experience

The problem becomes more severe when documents are long or split into many chunks.

Questions

I would like to ask:

  1. Is this behavior a design or implementation limitation of Open WebUI?
  2. Are there any configuration options (e.g. Retriever / Citation / Prompt / Pipeline settings) that enable fine-grained, per-answer or per-paragraph citations?
  3. Are there any existing workarounds, PRs, or plugins in the community that address this issue?

Actual Behavior

Current behavior:

  • Answer A
  • Citation: Document X (containing multiple chunks) The content of all the blocks is the same.

Steps to Reproduce

Steps to Reproduce

  1. Deploy Open WebUI and enable the RAG / Knowledge Base feature.
  2. Create a knowledge base and upload one or more long documents (which are automatically split into multiple chunks).
  3. Ensure the documents are successfully indexed and retrievable.
  4. Ask a question that:
    • Requires information from multiple chunks within the same document, or
    • Produces an answer consisting of multiple statements or paragraphs.
  5. Observe the generated answer and the displayed citations / sources.

Observed Result

  • The citation section only lists the document-level source.
  • All retrieved chunks from the same document are grouped together.
  • There is no clear mapping between individual statements in the answer and their corresponding source chunks.

Expected Result

  • Each paragraph or key statement in the answer should be:
    • Associated with a specific chunk used during generation, and
    • Clearly referenced in the citation section (ideally inline or per-paragraph).

Logs & Screenshots

Image Image Image

Additional Information

No response

Originally created by @Leonurus-free on GitHub (Jan 7, 2026). Original GitHub issue: https://github.com/open-webui/open-webui/issues/20435 ### Check Existing Issues - [x] I have searched for any existing and/or related issues. - [x] I have searched for any existing and/or related discussions. - [x] I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!). - [x] I am using the latest version of Open WebUI. ### Installation Method Docker ### Open WebUI Version 0.6.43 ### Ollama Version (if applicable) _No response_ ### Operating System ubuntu22.04 ### Browser (if applicable) Chrome 133 ### 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 ## Problem Description I am currently using **Open WebUI** to build a self-hosted RAG knowledge base. I noticed an issue with how citations are displayed in the generated answers. When the answer contains multiple sentences with separate citation markers pointing to the same document, clicking on each citation shows **the exact same set of chunks** from that document. This makes it appear as if every cited sentence is supported by the same evidence, even though in reality each sentence should correspond to **different chunks with different relevance scores**. For example (as shown in the screenshot): - The answer contains three sentences, each annotated with a citation to the same document: *“人工智能大模型综述及展望.pdf”* - However, when clicking the three citation markers individually, **they all display the same retrieved chunks**, instead of showing the specific chunk relevant to that sentence. ### Why this is a problem 1. It creates the impression that the citations are not trustworthy, because: - Different statements appear to be backed by identical evidence. 2. Users who want to verify the source of a specific sentence must: - Manually search through all returned chunks - Without knowing which chunk actually supports which sentence 3. This significantly reduces usability, especially when documents are long and contain many chunks. ### Expected Behavior - Each citation marker should correspond to the **specific chunk(s)** used to support that particular sentence. ## Impact This citation behavior causes practical usability issues: - When users want to **verify the source of a specific statement** in the answer - They must manually search through **all retrieved chunks** of the cited document - This significantly increases cognitive load and hurts user experience The problem becomes more severe when documents are long or split into many chunks. ## Questions I would like to ask: 1. Is this behavior a **design or implementation limitation** of Open WebUI? 2. Are there any **configuration options** (e.g. Retriever / Citation / Prompt / Pipeline settings) that enable **fine-grained, per-answer or per-paragraph citations**? 3. Are there any **existing workarounds, PRs, or plugins** in the community that address this issue? ### Actual Behavior **Current behavior:** - Answer A - Citation: Document X (containing multiple chunks) The content of all the blocks is the same. ### Steps to Reproduce ## Steps to Reproduce 1. Deploy **Open WebUI** and enable the **RAG / Knowledge Base** feature. 2. Create a knowledge base and upload one or more **long documents** (which are automatically split into multiple chunks). 3. Ensure the documents are successfully indexed and retrievable. 4. Ask a question that: - Requires information from **multiple chunks within the same document**, or - Produces an answer consisting of **multiple statements or paragraphs**. 5. Observe the generated answer and the displayed **citations / sources**. ## Observed Result - The citation section only lists the **document-level source**. - All retrieved chunks from the same document are grouped together. - There is **no clear mapping** between individual statements in the answer and their **corresponding source chunks**. ## Expected Result - Each paragraph or key statement in the answer should be: - Associated with a **specific chunk** used during generation, and - Clearly referenced in the citation section (ideally inline or per-paragraph). ### Logs & Screenshots <img width="1035" height="213" alt="Image" src="https://github.com/user-attachments/assets/74ca8201-0ccd-4a25-be49-a5f5e469faaf" /> <img width="1364" height="655" alt="Image" src="https://github.com/user-attachments/assets/32fc6ff7-be38-43bc-abb8-6ffe756fa88a" /> <img width="1366" height="649" alt="Image" src="https://github.com/user-attachments/assets/85f11ac4-d544-4d87-9b6f-7caaf524c11e" /> ### Additional Information _No response_
GiteaMirror added the bug label 2026-04-25 08:48:57 -05:00
Author
Owner

@frenzybiscuit commented on GitHub (Jan 7, 2026):

I believe the relevance score is only relevant if you are using hybrid search (a reranker) as you can set it to specifically exclude results that are below a certain score.

And since hybrid search is busted in .43, you'll need to either run the dev image or wait for .44 where it's fixed...

<!-- gh-comment-id:3718045095 --> @frenzybiscuit commented on GitHub (Jan 7, 2026): I believe the relevance score is only relevant if you are using hybrid search (a reranker) as you can set it to specifically exclude results that are below a certain score. And since hybrid search is busted in .43, you'll need to either run the dev image or wait for .44 where it's fixed...
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#34713