from llama_index.core.vector_stores import ( MetadataFilters, MetadataFilter, FilterOperator, FilterCondition, ) def build_filters_from_query(query: str): terms = [t.lower() for t in query.split() if len(t) > 2] if not terms: return None return MetadataFilters( filters=[ MetadataFilter( key="excerpt_keywords", operator=FilterOperator.TEXT_MATCH, value=term, ) for term in terms ], condition=FilterCondition.OR )