nemoguardrails.types.ChatMessage#
- class nemoguardrails.types.ChatMessage[source]#
Bases:
objectChatMessage(role: nemoguardrails.types.Role, content: Union[str, List[Dict[str, Any]], NoneType] = None, tool_calls: Optional[List[nemoguardrails.types.ToolCall]] = None, tool_call_id: Optional[str] = None, name: Optional[str] = None, provider_metadata: Dict[str, Any] = <factory>)
-
role:
Role#
-
content:
Union[str,List[Dict[str,Any]],None] = None#
-
tool_call_id:
Optional[str] = None#
-
name:
Optional[str] = None#
-
provider_metadata:
Dict[str,Any]#
- classmethod from_tool(content, tool_call_id, **kwargs)[source]#
- Return type:
- Parameters:
content (str)
tool_call_id (str)
- classmethod from_dict(d)[source]#
Create a ChatMessage from a dict.
Accepts both the canonical nested tool call format (
{"function": {"name": ..., "arguments": ...}}) and the legacy flat format ({"name": ..., "args": ...}). JSON string arguments are parsed automatically. Role aliases like “bot”, “human”, and “developer” are mapped to canonical Role values. Unknown keys are captured intoprovider_metadata.- Return type:
- Parameters:
d (Dict[str, Any])
- __init__(
- role,
- content=None,
- tool_calls=None,
- tool_call_id=None,
- name=None,
- provider_metadata=<factory>,
- Parameters:
role (Role)
content (str | List[Dict[str, Any]] | None)
tool_calls (List[ToolCall] | None)
tool_call_id (str | None)
name (str | None)
provider_metadata (Dict[str, Any])
- Return type:
None
-
role: