haive.core.engine.document.loaders.strategyΒΆ

Loader Strategy System for Document Engine.

This module implements the loader strategy system for intelligent loader selection based on source type, performance requirements, and capabilities.

ClassesΒΆ

LoaderCapability

Capabilities that loaders may support.

LoaderPriority

Priority levels for loader selection.

LoaderStrategy

Information about a document loader strategy.

LoaderStrategyRegistry

Registry for managing loader strategies.

FunctionsΒΆ

create_loader(source[, strategy_name, options, ...])

Create a loader for the given source.

Module ContentsΒΆ

class haive.core.engine.document.loaders.strategy.LoaderCapability[source]ΒΆ

Bases: str, enum.Enum

Capabilities that loaders may support.

Initialize self. See help(type(self)) for accurate signature.

class haive.core.engine.document.loaders.strategy.LoaderPriority[source]ΒΆ

Bases: str, enum.Enum

Priority levels for loader selection.

Initialize self. See help(type(self)) for accurate signature.

class haive.core.engine.document.loaders.strategy.LoaderStrategy(/, **data)[source]ΒΆ

Bases: pydantic.BaseModel

Information about a document loader strategy.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

check_availability()[source]ΒΆ

Check if this loader strategy is available.

Return type:

bool

create_loader(source, options)[source]ΒΆ

Create a loader instance for the given source.

Parameters:
Return type:

langchain_core.document_loaders.base.BaseLoader | None

class haive.core.engine.document.loaders.strategy.LoaderStrategyRegistry[source]ΒΆ

Registry for managing loader strategies.

Init .

Returns:

Add return description]

Return type:

[TODO

find_strategies_for_source(source, preferences=None)[source]ΒΆ

Find suitable strategies for a source.

Parameters:
Return type:

list[LoaderStrategy]

get_strategy(name)[source]ΒΆ

Get a strategy by name.

Parameters:

name (str)

Return type:

LoaderStrategy | None

list_strategies(available_only=True)[source]ΒΆ

List all strategies.

Parameters:

available_only (bool)

Return type:

list[LoaderStrategy]

register(strategy)[source]ΒΆ

Register a new loader strategy.

Parameters:

strategy (LoaderStrategy)

select_best_strategy(source, preferences=None)[source]ΒΆ

Select the best strategy for a source.

Parameters:
Return type:

LoaderStrategy | None

haive.core.engine.document.loaders.strategy.create_loader(source, strategy_name=None, options=None, preferences=None)[source]ΒΆ

Create a loader for the given source.

Parameters:
Return type:

langchain_core.document_loaders.base.BaseLoader | None