Skip to main content

GenerationHook

Trait GenerationHook 

Source
pub trait GenerationHook: Send + Sync {
    // Provided methods
    fn on_generate_result(
        &self,
        _ctx: &GenerationContext<'_>,
        _result: &LanguageModelGenerateResult,
    ) { ... }
    fn on_generate_error(&self, _error: &BitrouterError) { ... }
    fn on_stream_part(
        &self,
        _ctx: &GenerationContext<'_>,
        _part: &LanguageModelStreamPart,
    ) { ... }
}
Expand description

A hook that observes generation lifecycle events for side-effect purposes (logging, metrics, token tracking, auditing).

Hooks receive borrowed references to core types and must not block. All methods have default no-op implementations so consumers only override the events they care about.

Provided Methods§

Source

fn on_generate_result( &self, _ctx: &GenerationContext<'_>, _result: &LanguageModelGenerateResult, )

Called after a non-streaming generate() call completes successfully.

Source

fn on_generate_error(&self, _error: &BitrouterError)

Called when generate() or stream() returns an error.

Source

fn on_stream_part( &self, _ctx: &GenerationContext<'_>, _part: &LanguageModelStreamPart, )

Called for each streaming part as it is yielded from the model stream.

To capture token usage from streaming responses, match on LanguageModelStreamPart::Finish which carries LanguageModelUsage.

Implementors§