File: //lib/mysqlsh/lib/python3.8/site-packages/oci/generative_ai_inference/models/assistant_message.py
# coding: utf-8
# Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
# NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20231130
from .message import Message
from oci.util import formatted_flat_dict, NONE_SENTINEL, value_allowed_none_or_none_sentinel # noqa: F401
from oci.decorators import init_model_state_from_kwargs
@init_model_state_from_kwargs
class AssistantMessage(Message):
"""
Represents a single instance of assistant message.
Note: When responding to a tool call, set `content` to `null` (not `\"\"`).
This ensures the model correctly processes tool call messages in multi-step interactions.
"""
def __init__(self, **kwargs):
"""
Initializes a new AssistantMessage object with values from keyword arguments. The default value of the :py:attr:`~oci.generative_ai_inference.models.AssistantMessage.role` attribute
of this class is ``ASSISTANT`` and it should not be changed.
The following keyword arguments are supported (corresponding to the getters/setters of this class):
:param role:
The value to assign to the role property of this AssistantMessage.
Allowed values for this property are: "SYSTEM", "USER", "ASSISTANT", "TOOL"
:type role: str
:param content:
The value to assign to the content property of this AssistantMessage.
:type content: list[oci.generative_ai_inference.models.ChatContent]
:param name:
The value to assign to the name property of this AssistantMessage.
:type name: str
:param tool_calls:
The value to assign to the tool_calls property of this AssistantMessage.
:type tool_calls: list[oci.generative_ai_inference.models.ToolCall]
"""
self.swagger_types = {
'role': 'str',
'content': 'list[ChatContent]',
'name': 'str',
'tool_calls': 'list[ToolCall]'
}
self.attribute_map = {
'role': 'role',
'content': 'content',
'name': 'name',
'tool_calls': 'toolCalls'
}
self._role = None
self._content = None
self._name = None
self._tool_calls = None
self._role = 'ASSISTANT'
@property
def name(self):
"""
Gets the name of this AssistantMessage.
An optional name for the participant. Provides the model information to differentiate between participants of the same role.
:return: The name of this AssistantMessage.
:rtype: str
"""
return self._name
@name.setter
def name(self, name):
"""
Sets the name of this AssistantMessage.
An optional name for the participant. Provides the model information to differentiate between participants of the same role.
:param name: The name of this AssistantMessage.
:type: str
"""
self._name = name
@property
def tool_calls(self):
"""
Gets the tool_calls of this AssistantMessage.
The tool calls generated by the model, such as function calls.
:return: The tool_calls of this AssistantMessage.
:rtype: list[oci.generative_ai_inference.models.ToolCall]
"""
return self._tool_calls
@tool_calls.setter
def tool_calls(self, tool_calls):
"""
Sets the tool_calls of this AssistantMessage.
The tool calls generated by the model, such as function calls.
:param tool_calls: The tool_calls of this AssistantMessage.
:type: list[oci.generative_ai_inference.models.ToolCall]
"""
self._tool_calls = tool_calls
def __repr__(self):
return formatted_flat_dict(self)
def __eq__(self, other):
if other is None:
return False
return self.__dict__ == other.__dict__
def __ne__(self, other):
return not self == other