mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-23 19:39:58 +00:00
core: allow passing message dicts into ChatPromptTemplate (#29363)
Co-authored-by: Erick Friis <erick@langchain.dev>
This commit is contained in:
@@ -828,6 +828,7 @@ MessageLikeRepresentation = Union[
|
||||
Union[str, list[dict], list[object]],
|
||||
],
|
||||
str,
|
||||
dict,
|
||||
]
|
||||
|
||||
|
||||
@@ -1461,7 +1462,15 @@ def _convert_to_message(
|
||||
_message = _create_template_from_message_type(
|
||||
"human", message, template_format=template_format
|
||||
)
|
||||
elif isinstance(message, tuple):
|
||||
elif isinstance(message, (tuple, dict)):
|
||||
if isinstance(message, dict):
|
||||
if set(message.keys()) != {"content", "role"}:
|
||||
msg = (
|
||||
"Expected dict to have exact keys 'role' and 'content'."
|
||||
f" Got: {message}"
|
||||
)
|
||||
raise ValueError(msg)
|
||||
message = (message["role"], message["content"])
|
||||
if len(message) != 2:
|
||||
msg = f"Expected 2-tuple of (role, template), got {message}"
|
||||
raise ValueError(msg)
|
||||
|
Reference in New Issue
Block a user