_format_messages() — langchain Function Reference
Architecture documentation for the _format_messages() function in llms.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 04edfbcc_f913_d95a_6261_c2a81f9f570e["_format_messages()"] c95a497f_938f_2be9_842e_087a0766cf00["AnthropicLLM"] 04edfbcc_f913_d95a_6261_c2a81f9f570e -->|defined in| c95a497f_938f_2be9_842e_087a0766cf00 e1e4f815_3e2a_75f8_675e_9a5e7f0f868a["_call()"] e1e4f815_3e2a_75f8_675e_9a5e7f0f868a -->|calls| 04edfbcc_f913_d95a_6261_c2a81f9f570e 40512e45_7b9d_dbee_2106_59fc9edca16c["_acall()"] 40512e45_7b9d_dbee_2106_59fc9edca16c -->|calls| 04edfbcc_f913_d95a_6261_c2a81f9f570e cb1cae7d_4a5d_cfbf_994a_88075fe175e2["_stream()"] cb1cae7d_4a5d_cfbf_994a_88075fe175e2 -->|calls| 04edfbcc_f913_d95a_6261_c2a81f9f570e 3f0a5215_29d7_44ca_e135_a3f37294ae0c["_astream()"] 3f0a5215_29d7_44ca_e135_a3f37294ae0c -->|calls| 04edfbcc_f913_d95a_6261_c2a81f9f570e style 04edfbcc_f913_d95a_6261_c2a81f9f570e fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/partners/anthropic/langchain_anthropic/llms.py lines 210–247
def _format_messages(self, prompt: str) -> list[dict[str, str]]:
"""Convert prompt to Messages API format."""
messages = []
# Handle legacy prompts that might have HUMAN_PROMPT/AI_PROMPT markers
if self.HUMAN_PROMPT and self.HUMAN_PROMPT in prompt:
# Split on human/assistant turns
parts = prompt.split(self.HUMAN_PROMPT)
for _, part in enumerate(parts):
if not part.strip():
continue
if self.AI_PROMPT and self.AI_PROMPT in part:
# Split human and assistant parts
human_part, assistant_part = part.split(self.AI_PROMPT, 1)
if human_part.strip():
messages.append({"role": "user", "content": human_part.strip()})
if assistant_part.strip():
messages.append(
{"role": "assistant", "content": assistant_part.strip()}
)
# Just human content
elif part.strip():
messages.append({"role": "user", "content": part.strip()})
else:
# Handle modern format or plain text
# Clean prompt for Messages API
content = re.sub(r"^\n*Human:\s*", "", prompt)
content = re.sub(r"\n*Assistant:\s*.*$", "", content)
if content.strip():
messages.append({"role": "user", "content": content.strip()})
# Ensure we have at least one message
if not messages:
messages = [{"role": "user", "content": prompt.strip() or "Hello"}]
return messages
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does _format_messages() do?
_format_messages() is a function in the langchain codebase, defined in libs/partners/anthropic/langchain_anthropic/llms.py.
Where is _format_messages() defined?
_format_messages() is defined in libs/partners/anthropic/langchain_anthropic/llms.py at line 210.
What calls _format_messages()?
_format_messages() is called by 4 function(s): _acall, _astream, _call, _stream.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free