_fetch_last_ai_and_tool_messages() — langchain Function Reference
Architecture documentation for the _fetch_last_ai_and_tool_messages() function in factory.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 895a4733_2a72_a5d8_7ab0_f205dfec9cd6["_fetch_last_ai_and_tool_messages()"] fd7a28b1_3772_169b_6524_1342f35143b1["factory.py"] 895a4733_2a72_a5d8_7ab0_f205dfec9cd6 -->|defined in| fd7a28b1_3772_169b_6524_1342f35143b1 20046200_0f69_48b9_d47c_7a3ea7d0358f["_make_model_to_tools_edge()"] 20046200_0f69_48b9_d47c_7a3ea7d0358f -->|calls| 895a4733_2a72_a5d8_7ab0_f205dfec9cd6 876bb633_dd26_1b0a_98e8_1ce27a9ed076["_make_tools_to_model_edge()"] 876bb633_dd26_1b0a_98e8_1ce27a9ed076 -->|calls| 895a4733_2a72_a5d8_7ab0_f205dfec9cd6 style 895a4733_2a72_a5d8_7ab0_f205dfec9cd6 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain_v1/langchain/agents/factory.py lines 1622–1640
def _fetch_last_ai_and_tool_messages(
messages: list[AnyMessage],
) -> tuple[AIMessage | None, list[ToolMessage]]:
"""Return the last AI message and any subsequent tool messages.
Args:
messages: List of messages to search through.
Returns:
A tuple of (last_ai_message, tool_messages). If no AIMessage is found,
returns (None, []). Callers must handle the None case appropriately.
"""
for i in range(len(messages) - 1, -1, -1):
if isinstance(messages[i], AIMessage):
last_ai_message = cast("AIMessage", messages[i])
tool_messages = [m for m in messages[i + 1 :] if isinstance(m, ToolMessage)]
return last_ai_message, tool_messages
return None, []
Domain
Subdomains
Source
Frequently Asked Questions
What does _fetch_last_ai_and_tool_messages() do?
_fetch_last_ai_and_tool_messages() is a function in the langchain codebase, defined in libs/langchain_v1/langchain/agents/factory.py.
Where is _fetch_last_ai_and_tool_messages() defined?
_fetch_last_ai_and_tool_messages() is defined in libs/langchain_v1/langchain/agents/factory.py at line 1622.
What calls _fetch_last_ai_and_tool_messages()?
_fetch_last_ai_and_tool_messages() is called by 2 function(s): _make_model_to_tools_edge, _make_tools_to_model_edge.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free