mirror of
https://github.com/HKUDS/AutoAgent
synced 2026-04-21 15:47:56 +00:00
41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
from litellm.types.utils import ChatCompletionMessageToolCall, Function, Message
|
|
from typing import List, Callable, Union, Optional, Tuple, Dict
|
|
|
|
# Third-party imports
|
|
from pydantic import BaseModel
|
|
|
|
AgentFunction = Callable[[], Union[str, "Agent", dict]]
|
|
|
|
|
|
class Agent(BaseModel):
|
|
name: str = "Agent"
|
|
model: str = "gpt-4o"
|
|
instructions: Union[str, Callable[[], str]] = "You are a helpful agent."
|
|
functions: List[AgentFunction] = []
|
|
tool_choice: str = None
|
|
parallel_tool_calls: bool = False
|
|
examples: Union[List[Tuple[dict, str]], Callable[[], str]] = []
|
|
handle_mm_func: Callable[[], str] = None
|
|
agent_teams: Dict[str, Callable] = {}
|
|
|
|
|
|
class Response(BaseModel):
|
|
messages: List = []
|
|
agent: Optional[Agent] = None
|
|
context_variables: dict = {}
|
|
|
|
|
|
class Result(BaseModel):
|
|
"""
|
|
Encapsulates the possible return values for an agent function.
|
|
|
|
Attributes:
|
|
value (str): The result value as a string.
|
|
agent (Agent): The agent instance, if applicable.
|
|
context_variables (dict): A dictionary of context variables.
|
|
"""
|
|
|
|
value: str = ""
|
|
agent: Optional[Agent] = None
|
|
context_variables: dict = {}
|
|
image: Optional[str] = None # base64 encoded image
|