pub struct LangSmithHandler { /* private fields */ }Expand description
LangSmith callback handler
Automatically sends trace data to LangSmith.
Implementations§
Source§impl LangSmithHandler
impl LangSmithHandler
Sourcepub fn new(config: LangSmithConfig) -> Self
pub fn new(config: LangSmithConfig) -> Self
Creates a new handler with the given LangSmith configuration.
Sourcepub fn from_env() -> Result<Self, LangSmithError>
pub fn from_env() -> Result<Self, LangSmithError>
Creates a handler from environment variables.
Sourcepub fn with_async_mode(self, async_mode: bool) -> Self
pub fn with_async_mode(self, async_mode: bool) -> Self
Enables or disables asynchronous mode for sending traces.
Trait Implementations§
Source§impl CallbackHandler for LangSmithHandler
impl CallbackHandler for LangSmithHandler
Source§fn on_run_start<'life0, 'life1, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn on_run_start<'life0, 'life1, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Called when any run starts
Source§fn on_run_end<'life0, 'life1, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn on_run_end<'life0, 'life1, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Called when a run ends successfully
Source§fn on_run_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
error: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_run_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
error: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called when a run fails
Source§fn on_llm_start<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
_messages: &'life2 [Message],
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_llm_start<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
_messages: &'life2 [Message],
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called when an LLM starts
Source§fn on_llm_end<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
_response: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_llm_end<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
_response: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called when an LLM ends
Source§fn on_llm_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
error: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_llm_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
error: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called when an LLM errors
Source§fn on_chain_start<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
_inputs: &'life2 Value,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_chain_start<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
_inputs: &'life2 Value,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called when a chain starts
Source§fn on_chain_end<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
_outputs: &'life2 Value,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_chain_end<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
_outputs: &'life2 Value,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called when a chain ends
Source§fn on_chain_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
error: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_chain_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
error: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called when a chain errors
Source§fn on_tool_start<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
_tool_name: &'life2 str,
_input: &'life3 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn on_tool_start<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
_tool_name: &'life2 str,
_input: &'life3 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Called when a tool starts
Source§fn on_tool_end<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
_output: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_tool_end<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
_output: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called when a tool ends
Source§fn on_tool_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
error: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_tool_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
error: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called when a tool errors
Source§fn on_retriever_start<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
_query: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_retriever_start<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
_query: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called when a retriever starts
Source§fn on_retriever_end<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
_documents: &'life2 [Value],
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_retriever_end<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
_documents: &'life2 [Value],
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called when a retriever ends
Source§fn on_retriever_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
error: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_retriever_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: &'life1 RunTree,
error: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called when a retriever errors
Source§fn on_llm_new_token<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_run: &'life1 RunTree,
_token: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_llm_new_token<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_run: &'life1 RunTree,
_token: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called for each new token during streaming
Source§fn on_llm_thinking<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_run: &'life1 RunTree,
_thinking: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_llm_thinking<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_run: &'life1 RunTree,
_thinking: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called for each thinking token during streaming (extended thinking). Read more
Auto Trait Implementations§
impl !RefUnwindSafe for LangSmithHandler
impl !UnwindSafe for LangSmithHandler
impl Freeze for LangSmithHandler
impl Send for LangSmithHandler
impl Sync for LangSmithHandler
impl Unpin for LangSmithHandler
impl UnsafeUnpin for LangSmithHandler
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more