[PR #29690] feat: Automatic metadata enhance 29556 #32521

Open
opened 2026-02-21 20:51:34 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/29690

State: open
Merged: No


Important

  1. Make sure you have read our contribution guidelines
  2. Ensure there is an associated issue and you have been assigned to it
  3. Use the correct syntax to link this PR: Fixes #<issue number>.

Summary

Motivation

When using the automatic metadata filter in the knowledge retrieval node, the prompt only includes the metadata names, without any descriptions of the metadata fields.
This makes it difficult for the LLM to understand the purpose of each metadata field.
In 29556, the author suggested adding all metadata values to the prompt. However, I think this could make the prompt too large, and I’m not sure whether it is necessary to include the values in the prompt. So I only added descriptions to the prompt.

fix 29556

Screenshots

Before After
before2 after2
before1 after3

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
**Original Pull Request:** https://github.com/langgenius/dify/pull/29690 **State:** open **Merged:** No --- > [!IMPORTANT] > > 1. Make sure you have read our [contribution guidelines](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) > 1. Ensure there is an associated issue and you have been assigned to it > 1. Use the correct syntax to link this PR: `Fixes #<issue number>`. ## Summary <!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. --> ### Motivation When using the automatic metadata filter in the knowledge retrieval node, the prompt only includes the metadata names, without any descriptions of the metadata fields. This makes it difficult for the LLM to understand the purpose of each metadata field. In [29556](https://github.com/langgenius/dify/issues/29556), the author suggested adding all metadata values to the prompt. However, I think this could make the prompt too large, and I’m not sure whether it is necessary to include the values in the prompt. So I only added descriptions to the prompt. fix [29556](https://github.com/langgenius/dify/issues/29556) ## Screenshots | Before | After | |--------|-------| | <img width="1504" height="668" alt="before2" src="https://github.com/user-attachments/assets/996a4ed4-1995-4799-aa3d-79efcc19513c" /> | <img width="1532" height="964" alt="after2" src="https://github.com/user-attachments/assets/78712527-f70e-441b-b247-61a33aa380ce" /> | | <img width="972" height="400" alt="before1" src="https://github.com/user-attachments/assets/de75d44e-3784-4d2a-b692-fa9cf3f1029f" /> | <img width="970" height="504" alt="after3" src="https://github.com/user-attachments/assets/4fa4952c-95b8-43e2-ad62-7e1ecb898eb4" /> | ## Checklist - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:51:34 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#32521