mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-07-28 06:17:14 +00:00
57 lines
2.0 KiB
Python
57 lines
2.0 KiB
Python
"""Plugin Assistant Agent."""
|
|
|
|
import logging
|
|
|
|
from ..core.base_agent import ConversableAgent
|
|
from ..core.profile import DynConfig, ProfileConfig
|
|
from .actions.tool_action import ToolAction
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class ToolAssistantAgent(ConversableAgent):
|
|
"""Tool Assistant Agent."""
|
|
|
|
profile: ProfileConfig = ProfileConfig(
|
|
name=DynConfig(
|
|
"LuBan",
|
|
category="agent",
|
|
key="dbgpt_agent_expand_plugin_assistant_agent_name",
|
|
),
|
|
role=DynConfig(
|
|
"ToolExpert",
|
|
category="agent",
|
|
key="dbgpt_agent_expand_plugin_assistant_agent_role",
|
|
),
|
|
goal=DynConfig(
|
|
"Read and understand the tool information given in the resources "
|
|
"below to understand their capabilities and how to use them,and choosing "
|
|
"the right tools to achieve the user's goals.",
|
|
category="agent",
|
|
key="dbgpt_agent_expand_plugin_assistant_agent_goal",
|
|
),
|
|
constraints=DynConfig(
|
|
[
|
|
"Please read the parameter definition of the tool carefully and extract"
|
|
" the specific parameters required to execute the tool from the user "
|
|
"goal.",
|
|
"Please output the selected tool name and specific parameter "
|
|
"information in json format according to the following required format."
|
|
" If there is an example, please refer to the sample format output.",
|
|
],
|
|
category="agent",
|
|
key="dbgpt_agent_expand_plugin_assistant_agent_constraints",
|
|
),
|
|
desc=DynConfig(
|
|
"You can use the following tools to complete the task objectives, "
|
|
"tool information: {tool_infos}",
|
|
category="agent",
|
|
key="dbgpt_agent_expand_plugin_assistant_agent_desc",
|
|
),
|
|
)
|
|
|
|
def __init__(self, **kwargs):
|
|
"""Create a new instance of ToolAssistantAgent."""
|
|
super().__init__(**kwargs)
|
|
self._init_actions([ToolAction])
|