Looking at this model, it's a bit unclear what's the difference between
TOOL
and
FUNCTION
. It appears
TOOL
is only used by
openai_agent.py
and
step.py
which is effectively the same module.
Perhaps it would be better to just use a single unified definition at the top model and wrap a special case (which is OpenAI). Or provide a more clear distinct naming, i.e.
OPENAI_TOOL
since it's a special case?
class MessageRole(str, Enum):
"""Message role."""
SYSTEM = "system"
USER = "user"
ASSISTANT = "assistant"
FUNCTION = "function"
TOOL = "tool"
CHATBOT = "chatbot"