fastrag.ingestion.filters#
fastrag.ingestion.filters — composable predicates over sources and documents.
Re-exports Filter, the composable
predicate base, and its three concrete filters,
MediaTypeFilter,
URLFilter, and
ContentFormatFilter.
- class fastrag.ingestion.filters.ContentFormatFilter(include_formats=None, exclude_formats=None)[source]#
-
Filters documents by
metadata["content_format"].Unlike
MediaTypeFilter, a document carrying no recorded format is not treated as unmatchable — it is treated asTEXT, since every document that existed beforecontent_formatwas introduced is plain text by definition.- Parameters:
include_formats (Sequence[ContentFormat | str] | None)
exclude_formats (Sequence[ContentFormat | str] | None)
- class fastrag.ingestion.filters.Filter[source]#
-
Base abstract class for composable entity filtering.
- class fastrag.ingestion.filters.MediaTypeFilter(include_types=None, exclude_types=None)[source]#
Bases:
Filter[Source|Document]Filters sources or documents by MIME media type.
- matches(item)[source]#
Return True when
item’s content type passes the filter.Reads
Source.content_typedirectly, andDocumentfrommetadata["content_type"], comparing the bare media type (nocharsetor other parameters). A source sent asapplication/octet-streamis matched by the type its URI’s extension implies, when it implies one. ADocumentwith no recorded content type matches only wheninclude_typesis empty.
- class fastrag.ingestion.filters.URLFilter(include_patterns=None, exclude_patterns=None)[source]#
Bases:
Filter[Source|Document]Filters sources or documents by URI regex patterns.
Modules
|
|
|
|
|
|
|