"""
This module contains the types used in the Vectara Agentic.
"""
from enum import Enum
[docs]
class AgentType(Enum):
"""Enumeration for different types of agents."""
REACT = "REACT"
OPENAI = "OPENAI"
LLMCOMPILER = "LLMCOMPILER"
[docs]
class ObserverType(Enum):
"""Enumeration for different types of observability integrations."""
NO_OBSERVER = "NO_OBSERVER"
ARIZE_PHOENIX = "ARIZE_PHOENIX"
[docs]
class ModelProvider(Enum):
"""Enumeration for different types of model providers."""
OPENAI = "OPENAI"
ANTHROPIC = "ANTHROPIC"
TOGETHER = "TOGETHER"
GROQ = "GROQ"
FIREWORKS = "FIREWORKS"
COHERE = "COHERE"
GEMINI = "GEMINI"
[docs]
class AgentStatusType(Enum):
"""Enumeration for different types of agent statuses."""
AGENT_UPDATE = "agent_update"
TOOL_CALL = "tool_call"
TOOL_OUTPUT = "tool_output"
AGENT_STEP = "agent_step"
[docs]
class LLMRole(Enum):
"""Enumeration for different types of LLM roles."""
MAIN: str = "MAIN"
TOOL: str = "TOOL"