_get_output_messages() — langchain Function Reference
Architecture documentation for the _get_output_messages() function in history.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 293dcfbd_674c_d56d_4708_39019a6881d5["_get_output_messages()"] f9cb8198_4568_d401_f003_82c579cfa18f["RunnableWithMessageHistory"] 293dcfbd_674c_d56d_4708_39019a6881d5 -->|defined in| f9cb8198_4568_d401_f003_82c579cfa18f 9297f3bd_05a3_097d_3fa4_b9184b373e13["_exit_history()"] 9297f3bd_05a3_097d_3fa4_b9184b373e13 -->|calls| 293dcfbd_674c_d56d_4708_39019a6881d5 c39acc04_5c83_fe40_f25c_83d4affe2c5d["_aexit_history()"] c39acc04_5c83_fe40_f25c_83d4affe2c5d -->|calls| 293dcfbd_674c_d56d_4708_39019a6881d5 style 293dcfbd_674c_d56d_4708_39019a6881d5 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/core/langchain_core/runnables/history.py lines 481–510
def _get_output_messages(
self, output_val: str | BaseMessage | Sequence[BaseMessage] | dict
) -> list[BaseMessage]:
# If dictionary, try to pluck the single key representing messages
if isinstance(output_val, dict):
if self.output_messages_key:
key = self.output_messages_key
elif len(output_val) == 1:
key = next(iter(output_val.keys()))
else:
key = "output"
# If you are wrapping a chat model directly
# The output is actually this weird generations object
if key not in output_val and "generations" in output_val:
output_val = output_val["generations"][0][0]["message"]
else:
output_val = output_val[key]
if isinstance(output_val, str):
return [AIMessage(content=output_val)]
# If value is a single message, convert to a list
if isinstance(output_val, BaseMessage):
return [output_val]
if isinstance(output_val, (list, tuple)):
return list(output_val)
msg = (
f"Expected str, BaseMessage, list[BaseMessage], or tuple[BaseMessage]. "
f"Got {output_val}."
)
raise ValueError(msg)
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does _get_output_messages() do?
_get_output_messages() is a function in the langchain codebase, defined in libs/core/langchain_core/runnables/history.py.
Where is _get_output_messages() defined?
_get_output_messages() is defined in libs/core/langchain_core/runnables/history.py at line 481.
What calls _get_output_messages()?
_get_output_messages() is called by 2 function(s): _aexit_history, _exit_history.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free