convert date and timestamp to string format for qdrant #12407
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
Convert the datetime values to string format to solve
qdrant_client.http.models.MatchValue
pydantic validation errors in QdrantTranslator.Details:
If the filter value output from llm contains "YYYY-MM-DD" formated datetime, the output parser will format it to
datetime.date
.langchain/libs/langchain/langchain/chains/query_constructor/parser.py
Line 134 in d6acb3e
However, Qdrant client doesn't support datetime or date format, so this will result in pydantic error:
https://github.com/qdrant/qdrant-client/blob/6875996cad0b4d15c891e9e81c725aaa3e9afdb5/qdrant_client/http/models/models.py#L1995
Similar convertion has been implemented in WeaviateTranslator:
langchain/libs/langchain/langchain/retrievers/self_query/weaviate.py
Line 56 in d6acb3e