mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-04-23 22:29:49 +08:00

Co-authored-by: Joel <iamjoel007@gmail.com> Co-authored-by: Yeuoly <admin@srmxy.cn> Co-authored-by: JzoNg <jzongcode@gmail.com> Co-authored-by: StyleZhang <jasonapring2015@outlook.com> Co-authored-by: jyong <jyong@dify.ai> Co-authored-by: nite-knite <nkCoding@gmail.com> Co-authored-by: jyong <718720800@qq.com>
62 lines
1.2 KiB
Python
62 lines
1.2 KiB
Python
from enum import Enum
|
|
from typing import Any, Literal, Optional, Union
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class AgentToolEntity(BaseModel):
|
|
"""
|
|
Agent Tool Entity.
|
|
"""
|
|
provider_type: Literal["builtin", "api"]
|
|
provider_id: str
|
|
tool_name: str
|
|
tool_parameters: dict[str, Any] = {}
|
|
|
|
|
|
class AgentPromptEntity(BaseModel):
|
|
"""
|
|
Agent Prompt Entity.
|
|
"""
|
|
first_prompt: str
|
|
next_iteration: str
|
|
|
|
|
|
class AgentScratchpadUnit(BaseModel):
|
|
"""
|
|
Agent First Prompt Entity.
|
|
"""
|
|
|
|
class Action(BaseModel):
|
|
"""
|
|
Action Entity.
|
|
"""
|
|
action_name: str
|
|
action_input: Union[dict, str]
|
|
|
|
agent_response: Optional[str] = None
|
|
thought: Optional[str] = None
|
|
action_str: Optional[str] = None
|
|
observation: Optional[str] = None
|
|
action: Optional[Action] = None
|
|
|
|
|
|
class AgentEntity(BaseModel):
|
|
"""
|
|
Agent Entity.
|
|
"""
|
|
|
|
class Strategy(Enum):
|
|
"""
|
|
Agent Strategy.
|
|
"""
|
|
CHAIN_OF_THOUGHT = 'chain-of-thought'
|
|
FUNCTION_CALLING = 'function-calling'
|
|
|
|
provider: str
|
|
model: str
|
|
strategy: Strategy
|
|
prompt: Optional[AgentPromptEntity] = None
|
|
tools: list[AgentToolEntity] = None
|
|
max_iteration: int = 5
|