_get_message_openai_role() — langchain Function Reference
Architecture documentation for the _get_message_openai_role() function in utils.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD ea68ecf6_3931_f79c_5745_e75911c6e99a["_get_message_openai_role()"] 0b528c80_0ce7_1c74_8932_bc433bcb03c6["utils.py"] ea68ecf6_3931_f79c_5745_e75911c6e99a -->|defined in| 0b528c80_0ce7_1c74_8932_bc433bcb03c6 236631e2_af7c_cf93_f815_a72d2cc4db6f["convert_to_openai_messages()"] 236631e2_af7c_cf93_f815_a72d2cc4db6f -->|calls| ea68ecf6_3931_f79c_5745_e75911c6e99a 0a2d5a3a_f0de_5ab6_561c_6ebc3475ad11["count_tokens_approximately()"] 0a2d5a3a_f0de_5ab6_561c_6ebc3475ad11 -->|calls| ea68ecf6_3931_f79c_5745_e75911c6e99a style ea68ecf6_3931_f79c_5745_e75911c6e99a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/core/langchain_core/messages/utils.py lines 2151–2169
def _get_message_openai_role(message: BaseMessage) -> str:
if isinstance(message, AIMessage):
return "assistant"
if isinstance(message, HumanMessage):
return "user"
if isinstance(message, ToolMessage):
return "tool"
if isinstance(message, SystemMessage):
role = message.additional_kwargs.get("__openai_role__", "system")
if not isinstance(role, str):
msg = f"Expected '__openai_role__' to be a str, got {type(role).__name__}"
raise TypeError(msg)
return role
if isinstance(message, FunctionMessage):
return "function"
if isinstance(message, ChatMessage):
return message.role
msg = f"Unknown BaseMessage type {message.__class__}."
raise ValueError(msg)
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does _get_message_openai_role() do?
_get_message_openai_role() is a function in the langchain codebase, defined in libs/core/langchain_core/messages/utils.py.
Where is _get_message_openai_role() defined?
_get_message_openai_role() is defined in libs/core/langchain_core/messages/utils.py at line 2151.
What calls _get_message_openai_role()?
_get_message_openai_role() is called by 2 function(s): convert_to_openai_messages, count_tokens_approximately.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free