mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-09-07 20:10:08 +00:00
feat(agent): Multi agents v0.1 (#1044)
Co-authored-by: qidanrui <qidanrui@gmail.com> Co-authored-by: csunny <cfqsunny@163.com> Co-authored-by: Fangyin Cheng <staneyffer@gmail.com>
This commit is contained in:
@@ -21,39 +21,30 @@ import os
|
||||
from dbgpt.agent.agents.agent import AgentContext
|
||||
from dbgpt.agent.agents.agents_mange import agent_mange
|
||||
from dbgpt.agent.agents.expand.code_assistant_agent import CodeAssistantAgent
|
||||
from dbgpt.agent.agents.expand.plugin_assistant_agent import PluginAgent
|
||||
from dbgpt.agent.agents.plan_group_chat import PlanChat, PlanChatManager
|
||||
from dbgpt.agent.agents.planner_agent import PlannerAgent
|
||||
from dbgpt.agent.agents.user_proxy_agent import UserProxyAgent
|
||||
from dbgpt.agent.memory.gpts_memory import GptsMemory
|
||||
from dbgpt.core.interface.llm import ModelMetadata
|
||||
from dbgpt.serve.agent.team.plan.team_auto_plan import AutoPlanChatManager
|
||||
|
||||
if __name__ == "__main__":
|
||||
from dbgpt.model import OpenAILLMClient
|
||||
|
||||
llm_client = OpenAILLMClient()
|
||||
context: AgentContext = AgentContext(conv_id="test456", llm_provider=llm_client)
|
||||
# context.llm_models = [ModelMetadata(model="gpt-3.5-turbo")]
|
||||
context.llm_models = [ModelMetadata(model="gpt-4-vision-preview")]
|
||||
context.llm_models = [ModelMetadata(model="gpt-3.5-turbo")]
|
||||
# context.llm_models = [ModelMetadata(model="gpt-4-vision-preview")]
|
||||
context.gpts_name = "代码分析助手"
|
||||
|
||||
default_memory = GptsMemory()
|
||||
coder = CodeAssistantAgent(memory=default_memory, agent_context=context)
|
||||
## TODO add other agent
|
||||
|
||||
groupchat = PlanChat(agents=[coder], messages=[], max_round=50)
|
||||
planner = PlannerAgent(
|
||||
agent_context=context,
|
||||
memory=default_memory,
|
||||
plan_chat=groupchat,
|
||||
)
|
||||
|
||||
manager = PlanChatManager(
|
||||
plan_chat=groupchat,
|
||||
planner=planner,
|
||||
manager = AutoPlanChatManager(
|
||||
agent_context=context,
|
||||
memory=default_memory,
|
||||
)
|
||||
manager.hire([coder])
|
||||
|
||||
user_proxy = UserProxyAgent(memory=default_memory, agent_context=context)
|
||||
|
||||
|
73
examples/agents/awel_layout_agents_chat_examples.py
Normal file
73
examples/agents/awel_layout_agents_chat_examples.py
Normal file
@@ -0,0 +1,73 @@
|
||||
"""Agents: auto plan agents example?
|
||||
|
||||
Examples:
|
||||
|
||||
Execute the following command in the terminal:
|
||||
Set env params.
|
||||
.. code-block:: shell
|
||||
|
||||
export OPENAI_API_KEY=sk-xx
|
||||
export OPENAI_API_BASE=https://xx:80/v1
|
||||
|
||||
run example.
|
||||
..code-block:: shell
|
||||
python examples/agents/auto_plan_agent_dialogue_example.py
|
||||
"""
|
||||
|
||||
import asyncio
|
||||
import os
|
||||
|
||||
from dbgpt.agent.agents.agent import AgentContext
|
||||
from dbgpt.agent.agents.expand.plugin_assistant_agent import PluginAssistantAgent
|
||||
from dbgpt.agent.agents.expand.summary_assistant_agent import SummaryAssistantAgent
|
||||
from dbgpt.agent.agents.user_proxy_agent import UserProxyAgent
|
||||
from dbgpt.agent.memory.gpts_memory import GptsMemory
|
||||
from dbgpt.core.interface.llm import ModelMetadata
|
||||
from dbgpt.serve.agent.team.layout.team_awel_layout import AwelLayoutChatManger
|
||||
|
||||
current_dir = os.getcwd()
|
||||
parent_dir = os.path.dirname(current_dir)
|
||||
test_plugin_dir = os.path.join(parent_dir, "test_files")
|
||||
|
||||
if __name__ == "__main__":
|
||||
from dbgpt.model import OpenAILLMClient
|
||||
|
||||
llm_client = OpenAILLMClient()
|
||||
context: AgentContext = AgentContext(conv_id="test456", llm_provider=llm_client)
|
||||
context.llm_models = [ModelMetadata(model="gpt-3.5-turbo")]
|
||||
context.gpts_name = "信息析助手"
|
||||
|
||||
default_memory = GptsMemory()
|
||||
manager = AwelLayoutChatManger(
|
||||
agent_context=context,
|
||||
memory=default_memory,
|
||||
)
|
||||
|
||||
### agents
|
||||
tool_enginer = PluginAssistantAgent(
|
||||
agent_context=context,
|
||||
memory=default_memory,
|
||||
plugin_path=test_plugin_dir,
|
||||
)
|
||||
summarizer = SummaryAssistantAgent(
|
||||
agent_context=context,
|
||||
memory=default_memory,
|
||||
)
|
||||
|
||||
manager.hire([tool_enginer, summarizer])
|
||||
|
||||
user_proxy = UserProxyAgent(memory=default_memory, agent_context=context)
|
||||
|
||||
asyncio.run(
|
||||
user_proxy.a_initiate_chat(
|
||||
recipient=manager,
|
||||
reviewer=user_proxy,
|
||||
message="查询成都今天天气",
|
||||
# message="查询今天的最新热点财经新闻",
|
||||
# message="Find papers on gpt-4 in the past three weeks on arxiv, and organize their titles, authors, and links into a markdown table",
|
||||
# message="find papers on LLM applications from arxiv in the last month, create a markdown table of different domains.",
|
||||
)
|
||||
)
|
||||
|
||||
## dbgpt-vis message infos
|
||||
print(asyncio.run(default_memory.one_plan_chat_competions("test456")))
|
51
examples/agents/plugin_agent_dialogue_example.py
Normal file
51
examples/agents/plugin_agent_dialogue_example.py
Normal file
@@ -0,0 +1,51 @@
|
||||
"""Agents: single agents about CodeAssistantAgent?
|
||||
|
||||
Examples:
|
||||
|
||||
Execute the following command in the terminal:
|
||||
Set env params.
|
||||
.. code-block:: shell
|
||||
|
||||
export OPENAI_API_KEY=sk-xx
|
||||
export OPENAI_API_BASE=https://xx:80/v1
|
||||
|
||||
run example.
|
||||
..code-block:: shell
|
||||
python examples/agents/single_agent_dialogue_example.py
|
||||
"""
|
||||
|
||||
import asyncio
|
||||
import os
|
||||
|
||||
from dbgpt.agent.agents.agent import AgentContext
|
||||
from dbgpt.agent.agents.expand.plugin_assistant_agent import PluginAssistantAgent
|
||||
from dbgpt.agent.agents.user_proxy_agent import UserProxyAgent
|
||||
from dbgpt.agent.memory.gpts_memory import GptsMemory
|
||||
from dbgpt.core.interface.llm import ModelMetadata
|
||||
|
||||
if __name__ == "__main__":
|
||||
from dbgpt.model import OpenAILLMClient
|
||||
|
||||
llm_client = OpenAILLMClient()
|
||||
context: AgentContext = AgentContext(conv_id="test456", llm_provider=llm_client)
|
||||
context.llm_models = [ModelMetadata(model="gpt-3.5-turbo")]
|
||||
|
||||
default_memory = GptsMemory()
|
||||
tool_enginer = PluginAssistantAgent(
|
||||
memory=default_memory,
|
||||
agent_context=context,
|
||||
plugin_path="/Users/tuyang.yhj/Code/python/DB-GPT/plugins",
|
||||
)
|
||||
|
||||
user_proxy = UserProxyAgent(memory=default_memory, agent_context=context)
|
||||
|
||||
asyncio.run(
|
||||
user_proxy.a_initiate_chat(
|
||||
recipient=tool_enginer,
|
||||
reviewer=user_proxy,
|
||||
message="查询今天成都的天气",
|
||||
)
|
||||
)
|
||||
|
||||
## dbgpt-vis message infos
|
||||
print(asyncio.run(default_memory.one_plan_chat_competions("test456")))
|
Reference in New Issue
Block a user