Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Incompatible metadata extraction for Qdrant Retriever with Extract Metadata Retriever #3874

Open
kirisame-wang opened this issue Jan 15, 2025 · 2 comments
Labels
bug Something isn't working enhancement New feature or request

Comments

@kirisame-wang
Copy link

kirisame-wang commented Jan 15, 2025

Describe the bug
Qdrant Retriever is incompatible with the newly added Extract Metadata Retriever feature from #3579.

To Reproduce
Steps to reproduce the behavior:
Set up a tool agent with the retriever tool chained with Qdrant as the vector store and Extract Metadata Retriever as the retriever.

Expected behavior
The Extract Metadata Retriever should extract metadata in the form of key-value pairs within a JSON-structured output. This metadata should then be used to retrieve relevant documents based on the specified filter.

Screenshots
image

Additional context
It seems that the Extract Metadata Retriever currently only extracts unnested key-value pairs as metadata. However, Qdrant requires nested keys for filtering (see the documentation), which is causing compatibility issues.

@HenryHengZJ
Copy link
Contributor

right, because the extracted metadata is simply added as plain JSON object to filter. For vector store like Qdrant which require specifix syntax, it will not work.

i think we can have a field parameter with type=code, that allow users to return the filter in their own way

@HenryHengZJ HenryHengZJ added bug Something isn't working enhancement New feature or request labels Jan 15, 2025
@kirisame-wang
Copy link
Author

kirisame-wang commented Jan 16, 2025

@HenryHengZJ Thanks for replying!
Is it possible to set nested schemas (see OpenAI's documentation) using a method similar to #3669 and #3695 to get values with a nested metadata filter?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants