LlmCore.Pipelines.RoutingPipeline (llm_core v0.3.0)

Copy Markdown View Source

ALF pipeline that resolves task types to provider/agent configurations.

The pipeline currently runs through ALF.Manager in synchronous mode so it can be embedded directly in the GenServer router workflow. We can switch to a supervised, asynchronous pipeline when higher throughput is required.

Summary

Functions

alf_components()

call(event, opts \\ [debug: false])

@spec call(any(), Keyword.t()) :: any() | [any()] | nil
@spec call(any(), Keyword.t()) :: reference()

cast(event, opts \\ [debug: false, send_result: false])

components()

@spec components() :: [map()]

flow(flow, names, opts \\ [debug: false])

@spec flow(map(), list(), Keyword.t()) :: Enumerable.t()

route(task_type, opts \\ [])

@spec route(
  String.t() | atom(),
  keyword()
) :: {:ok, LlmCore.Router.ResolvedRoute.t()} | {:error, term()}

Executes the routing pipeline synchronously for a single task type.

start()

@spec start() :: :ok

start(opts)

@spec start(list()) :: :ok

started?()

@spec started?() :: true | false

stop()

@spec stop() :: :ok | {:exit, {atom(), any()}}

stream(stream, opts \\ [debug: false])

@spec stream(Enumerable.t(), Keyword.t()) :: Enumerable.t()