_aexit_history() — langchain Function Reference
Architecture documentation for the _aexit_history() function in history.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD c39acc04_5c83_fe40_f25c_83d4affe2c5d["_aexit_history()"] f9cb8198_4568_d401_f003_82c579cfa18f["RunnableWithMessageHistory"] c39acc04_5c83_fe40_f25c_83d4affe2c5d -->|defined in| f9cb8198_4568_d401_f003_82c579cfa18f 1978b1f4_7f00_d1ef_ed53_b27b8e0a8df8["_get_input_messages()"] c39acc04_5c83_fe40_f25c_83d4affe2c5d -->|calls| 1978b1f4_7f00_d1ef_ed53_b27b8e0a8df8 293dcfbd_674c_d56d_4708_39019a6881d5["_get_output_messages()"] c39acc04_5c83_fe40_f25c_83d4affe2c5d -->|calls| 293dcfbd_674c_d56d_4708_39019a6881d5 style c39acc04_5c83_fe40_f25c_83d4affe2c5d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/core/langchain_core/runnables/history.py lines 555–570
async def _aexit_history(self, run: Run, config: RunnableConfig) -> None:
hist: BaseChatMessageHistory = config["configurable"]["message_history"]
# Get the input messages
inputs = load(run.inputs, allowed_objects="all")
input_messages = self._get_input_messages(inputs)
# If historic messages were prepended to the input messages, remove them to
# avoid adding duplicate messages to history.
if not self.history_messages_key:
historic_messages = await hist.aget_messages()
input_messages = input_messages[len(historic_messages) :]
# Get the output messages
output_val = load(run.outputs, allowed_objects="all")
output_messages = self._get_output_messages(output_val)
await hist.aadd_messages(input_messages + output_messages)
Domain
Subdomains
Source
Frequently Asked Questions
What does _aexit_history() do?
_aexit_history() is a function in the langchain codebase, defined in libs/core/langchain_core/runnables/history.py.
Where is _aexit_history() defined?
_aexit_history() is defined in libs/core/langchain_core/runnables/history.py at line 555.
What does _aexit_history() call?
_aexit_history() calls 2 function(s): _get_input_messages, _get_output_messages.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free