---
title: prefactor_langchain
editUrl: true
head: []
template: doc
sidebar:
  hidden: false
  attrs: {}
pagefind: true
draft: false
---

# prefactor_langchain

* [prefactor_langchain package](prefactor_langchain.md)
  * [`AgentSpan`](prefactor_langchain.md#prefactor_langchain.AgentSpan)
    * [`AgentSpan.agent_config`](prefactor_langchain.md#prefactor_langchain.AgentSpan.agent_config)
    * [`AgentSpan.agent_name`](prefactor_langchain.md#prefactor_langchain.AgentSpan.agent_name)
    * [`AgentSpan.final_messages`](prefactor_langchain.md#prefactor_langchain.AgentSpan.final_messages)
    * [`AgentSpan.initial_messages`](prefactor_langchain.md#prefactor_langchain.AgentSpan.initial_messages)
    * [`AgentSpan.iteration_count`](prefactor_langchain.md#prefactor_langchain.AgentSpan.iteration_count)
    * [`AgentSpan.to_dict()`](prefactor_langchain.md#prefactor_langchain.AgentSpan.to_dict)
    * [`AgentSpan.type`](prefactor_langchain.md#prefactor_langchain.AgentSpan.type)
  * [`ErrorInfo`](prefactor_langchain.md#prefactor_langchain.ErrorInfo)
    * [`ErrorInfo.error_type`](prefactor_langchain.md#prefactor_langchain.ErrorInfo.error_type)
    * [`ErrorInfo.message`](prefactor_langchain.md#prefactor_langchain.ErrorInfo.message)
    * [`ErrorInfo.stacktrace`](prefactor_langchain.md#prefactor_langchain.ErrorInfo.stacktrace)
    * [`ErrorInfo.to_dict()`](prefactor_langchain.md#prefactor_langchain.ErrorInfo.to_dict)
  * [`LLMSpan`](prefactor_langchain.md#prefactor_langchain.LLMSpan)
    * [`LLMSpan.max_tokens`](prefactor_langchain.md#prefactor_langchain.LLMSpan.max_tokens)
    * [`LLMSpan.messages`](prefactor_langchain.md#prefactor_langchain.LLMSpan.messages)
    * [`LLMSpan.model_name`](prefactor_langchain.md#prefactor_langchain.LLMSpan.model_name)
    * [`LLMSpan.provider`](prefactor_langchain.md#prefactor_langchain.LLMSpan.provider)
    * [`LLMSpan.response_content`](prefactor_langchain.md#prefactor_langchain.LLMSpan.response_content)
    * [`LLMSpan.stop_sequences`](prefactor_langchain.md#prefactor_langchain.LLMSpan.stop_sequences)
    * [`LLMSpan.temperature`](prefactor_langchain.md#prefactor_langchain.LLMSpan.temperature)
    * [`LLMSpan.to_dict()`](prefactor_langchain.md#prefactor_langchain.LLMSpan.to_dict)
    * [`LLMSpan.token_usage`](prefactor_langchain.md#prefactor_langchain.LLMSpan.token_usage)
    * [`LLMSpan.top_p`](prefactor_langchain.md#prefactor_langchain.LLMSpan.top_p)
    * [`LLMSpan.type`](prefactor_langchain.md#prefactor_langchain.LLMSpan.type)
  * [`LangChainSpan`](prefactor_langchain.md#prefactor_langchain.LangChainSpan)
    * [`LangChainSpan.complete()`](prefactor_langchain.md#prefactor_langchain.LangChainSpan.complete)
    * [`LangChainSpan.end_time`](prefactor_langchain.md#prefactor_langchain.LangChainSpan.end_time)
    * [`LangChainSpan.error`](prefactor_langchain.md#prefactor_langchain.LangChainSpan.error)
    * [`LangChainSpan.fail()`](prefactor_langchain.md#prefactor_langchain.LangChainSpan.fail)
    * [`LangChainSpan.inputs`](prefactor_langchain.md#prefactor_langchain.LangChainSpan.inputs)
    * [`LangChainSpan.metadata`](prefactor_langchain.md#prefactor_langchain.LangChainSpan.metadata)
    * [`LangChainSpan.name`](prefactor_langchain.md#prefactor_langchain.LangChainSpan.name)
    * [`LangChainSpan.outputs`](prefactor_langchain.md#prefactor_langchain.LangChainSpan.outputs)
    * [`LangChainSpan.start_time`](prefactor_langchain.md#prefactor_langchain.LangChainSpan.start_time)
    * [`LangChainSpan.status`](prefactor_langchain.md#prefactor_langchain.LangChainSpan.status)
    * [`LangChainSpan.tags`](prefactor_langchain.md#prefactor_langchain.LangChainSpan.tags)
    * [`LangChainSpan.to_dict()`](prefactor_langchain.md#prefactor_langchain.LangChainSpan.to_dict)
    * [`LangChainSpan.type`](prefactor_langchain.md#prefactor_langchain.LangChainSpan.type)
  * [`LangChainToolSchemaConfig`](prefactor_langchain.md#prefactor_langchain.LangChainToolSchemaConfig)
    * [`LangChainToolSchemaConfig.span_type`](prefactor_langchain.md#prefactor_langchain.LangChainToolSchemaConfig.span_type)
    * [`LangChainToolSchemaConfig.input_schema`](prefactor_langchain.md#prefactor_langchain.LangChainToolSchemaConfig.input_schema)
    * [`LangChainToolSchemaConfig.input_schema`](prefactor_langchain.md#id0)
    * [`LangChainToolSchemaConfig.span_type`](prefactor_langchain.md#id1)
  * [`PrefactorMiddleware`](prefactor_langchain.md#prefactor_langchain.PrefactorMiddleware)
    * [`PrefactorMiddleware.aafter_agent()`](prefactor_langchain.md#prefactor_langchain.PrefactorMiddleware.aafter_agent)
    * [`PrefactorMiddleware.abefore_agent()`](prefactor_langchain.md#prefactor_langchain.PrefactorMiddleware.abefore_agent)
    * [`PrefactorMiddleware.after_agent()`](prefactor_langchain.md#prefactor_langchain.PrefactorMiddleware.after_agent)
    * [`PrefactorMiddleware.awrap_model_call()`](prefactor_langchain.md#prefactor_langchain.PrefactorMiddleware.awrap_model_call)
    * [`PrefactorMiddleware.awrap_tool_call()`](prefactor_langchain.md#prefactor_langchain.PrefactorMiddleware.awrap_tool_call)
    * [`PrefactorMiddleware.before_agent()`](prefactor_langchain.md#prefactor_langchain.PrefactorMiddleware.before_agent)
    * [`PrefactorMiddleware.close()`](prefactor_langchain.md#prefactor_langchain.PrefactorMiddleware.close)
    * [`PrefactorMiddleware.ensure_initialized()`](prefactor_langchain.md#prefactor_langchain.PrefactorMiddleware.ensure_initialized)
    * [`PrefactorMiddleware.from_config()`](prefactor_langchain.md#prefactor_langchain.PrefactorMiddleware.from_config)
    * [`PrefactorMiddleware.set_parent_span()`](prefactor_langchain.md#prefactor_langchain.PrefactorMiddleware.set_parent_span)
    * [`PrefactorMiddleware.wrap_model_call()`](prefactor_langchain.md#prefactor_langchain.PrefactorMiddleware.wrap_model_call)
    * [`PrefactorMiddleware.wrap_tool_call()`](prefactor_langchain.md#prefactor_langchain.PrefactorMiddleware.wrap_tool_call)
  * [`TokenUsage`](prefactor_langchain.md#prefactor_langchain.TokenUsage)
    * [`TokenUsage.completion_tokens`](prefactor_langchain.md#prefactor_langchain.TokenUsage.completion_tokens)
    * [`TokenUsage.prompt_tokens`](prefactor_langchain.md#prefactor_langchain.TokenUsage.prompt_tokens)
    * [`TokenUsage.to_dict()`](prefactor_langchain.md#prefactor_langchain.TokenUsage.to_dict)
    * [`TokenUsage.total_tokens`](prefactor_langchain.md#prefactor_langchain.TokenUsage.total_tokens)
  * [`ToolSpan`](prefactor_langchain.md#prefactor_langchain.ToolSpan)
    * [`ToolSpan.arguments`](prefactor_langchain.md#prefactor_langchain.ToolSpan.arguments)
    * [`ToolSpan.execution_time_ms`](prefactor_langchain.md#prefactor_langchain.ToolSpan.execution_time_ms)
    * [`ToolSpan.retriever_metadata`](prefactor_langchain.md#prefactor_langchain.ToolSpan.retriever_metadata)
    * [`ToolSpan.to_dict()`](prefactor_langchain.md#prefactor_langchain.ToolSpan.to_dict)
    * [`ToolSpan.tool_name`](prefactor_langchain.md#prefactor_langchain.ToolSpan.tool_name)
    * [`ToolSpan.tool_schema`](prefactor_langchain.md#prefactor_langchain.ToolSpan.tool_schema)
    * [`ToolSpan.tool_type`](prefactor_langchain.md#prefactor_langchain.ToolSpan.tool_type)
    * [`ToolSpan.type`](prefactor_langchain.md#prefactor_langchain.ToolSpan.type)
  * [`compile_langchain_agent_schema()`](prefactor_langchain.md#prefactor_langchain.compile_langchain_agent_schema)
  * [`extract_error_info()`](prefactor_langchain.md#prefactor_langchain.extract_error_info)
  * [`extract_token_usage()`](prefactor_langchain.md#prefactor_langchain.extract_token_usage)
  * [`register_langchain_schemas()`](prefactor_langchain.md#prefactor_langchain.register_langchain_schemas)
  * [Submodules](prefactor_langchain.md#submodules)
    * [prefactor_langchain.metadata_extractor module](prefactor_langchain.metadata_extractor.md)
      * [`extract_error_info()`](prefactor_langchain.metadata_extractor.md#prefactor_langchain.metadata_extractor.extract_error_info)
      * [`extract_token_usage()`](prefactor_langchain.metadata_extractor.md#prefactor_langchain.metadata_extractor.extract_token_usage)
    * [prefactor_langchain.middleware module](prefactor_langchain.middleware.md)
      * [`PrefactorMiddleware`](prefactor_langchain.middleware.md#prefactor_langchain.middleware.PrefactorMiddleware)
    * [prefactor_langchain.schemas module](prefactor_langchain.schemas.md)
      * [`LangChainToolSchemaConfig`](prefactor_langchain.schemas.md#prefactor_langchain.schemas.LangChainToolSchemaConfig)
      * [`compile_langchain_agent_schema()`](prefactor_langchain.schemas.md#prefactor_langchain.schemas.compile_langchain_agent_schema)
      * [`register_langchain_schemas()`](prefactor_langchain.schemas.md#prefactor_langchain.schemas.register_langchain_schemas)
    * [prefactor_langchain.spans module](prefactor_langchain.spans.md)
      * [`AgentSpan`](prefactor_langchain.spans.md#prefactor_langchain.spans.AgentSpan)
      * [`ErrorInfo`](prefactor_langchain.spans.md#prefactor_langchain.spans.ErrorInfo)
      * [`LLMSpan`](prefactor_langchain.spans.md#prefactor_langchain.spans.LLMSpan)
      * [`LangChainSpan`](prefactor_langchain.spans.md#prefactor_langchain.spans.LangChainSpan)
      * [`TokenUsage`](prefactor_langchain.spans.md#prefactor_langchain.spans.TokenUsage)
      * [`ToolSpan`](prefactor_langchain.spans.md#prefactor_langchain.spans.ToolSpan)