tuning performance

This commit is contained in:
geekan 2023-12-22 17:48:54 +08:00
parent 058252c636
commit 6cd083a2b7
8 changed files with 12 additions and 12 deletions

View file

@ -67,7 +67,7 @@ class AgentCreator(Role):
self.agent_template = agent_template
async def _act(self) -> Message:
logger.info(f"{self._setting}: to do {self._rc.todo}")
logger.info(f"{self._setting}: to do {self._rc.todo}({self._rc.todo.name})")
todo = self._rc.todo
msg = self._rc.memory.get()[-1]

View file

@ -65,7 +65,7 @@ class SimpleCoder(Role):
self._init_actions([SimpleWriteCode])
async def _act(self) -> Message:
logger.info(f"{self._setting}: to do {self._rc.todo}")
logger.info(f"{self._setting}: to do {self._rc.todo}({self._rc.todo.name})")
todo = self._rc.todo # todo will be SimpleWriteCode()
msg = self.get_memories(k=1)[0] # find the most recent messages
@ -87,7 +87,7 @@ class RunnableCoder(Role):
self._set_react_mode(react_mode="by_order")
async def _act(self) -> Message:
logger.info(f"{self._setting}: to do {self._rc.todo}")
logger.info(f"{self._setting}: to do {self._rc.todo}({self._rc.todo.name})")
# By choosing the Action by order under the hood
# todo will be first SimpleWriteCode() then SimpleRunCode()
todo = self._rc.todo

View file

@ -88,7 +88,7 @@ class SimpleTester(Role):
self._watch([SimpleWriteCode, SimpleWriteReview]) # feel free to try this too
async def _act(self) -> Message:
logger.info(f"{self._setting}: to do {self._rc.todo}")
logger.info(f"{self._setting}: to do {self._rc.todo}({self._rc.todo.name})")
todo = self._rc.todo
# context = self.get_memories(k=1)[0].content # use the most recent memory as context

View file

@ -63,7 +63,7 @@ class Debator(Role):
return len(self._rc.news)
async def _act(self) -> Message:
logger.info(f"{self._setting}: to do {self._rc.todo}")
logger.info(f"{self._setting}: to do {self._rc.todo}({self._rc.todo.name})")
todo = self._rc.todo # An instance of SpeakAloud
memories = self.get_memories()

View file

@ -12,10 +12,10 @@ from metagpt.environment import Environment
from metagpt.roles import Role
from metagpt.team import Team
action1 = Action(name="BidenSay", instruction="发表政见,充满激情的与对手辩论")
action2 = Action(name="TrumpSay", instruction="发表政见,充满激情的与对手辩论MAGA")
biden = Role(name="拜登", profile="民主党", goal="大选获胜", actions=[action1], watch=[action2, UserRequirement])
trump = Role(name="特朗普", profile="共和党", goal="大选获胜", actions=[action2], watch=[action1])
action1 = Action(name="BidenSay", instruction="发表政见,充满激情的反驳特朗普最新消息,尽最大努力获得选票")
action2 = Action(name="TrumpSay", instruction="发表政见,充满激情的反驳拜登最新消息,尽最大努力获得选票MAGA")
biden = Role(name="拜登", profile="民主党候选人", goal="大选获胜", actions=[action1], watch=[action2, UserRequirement])
trump = Role(name="特朗普", profile="共和党候选人", goal="大选获胜", actions=[action2], watch=[action1])
env = Environment(desc="US election live broadcast")
team = Team(investment=10.0, env=env, roles=[biden, trump])

View file

@ -40,7 +40,7 @@ EXAMPLE_AND_INSTRUCTION = """
{format_example}
# Instruction: Based on the actual code situation, follow one of the "Format example".
# Instruction: Based on the actual code situation, follow one of the "Format example". Return only 1 file under review.
## Code Review: Ordered List. Based on the "Code to be Reviewed", provide key, clear, concise, and specific answer. If any answer is no, explain how to fix it step by step.
1. Is the code implemented as per the requirements? If not, how to achieve it? Analyse it step by step.

View file

@ -395,7 +395,7 @@ class Role(BaseModel):
self._set_state(next_state)
async def _act(self) -> Message:
logger.info(f"{self._setting}: to do {self._rc.todo}")
logger.info(f"{self._setting}: to do {self._rc.todo}({self._rc.todo.name})")
response = await self._rc.todo.run(self._rc.important_memory)
if isinstance(response, (ActionOutput, ActionNode)):
msg = Message(

View file

@ -57,7 +57,7 @@ class Searcher(Role):
async def _act_sp(self) -> Message:
"""Performs the search action in a single process."""
logger.info(f"{self._setting}: to do {self._rc.todo}")
logger.info(f"{self._setting}: to do {self._rc.todo}({self._rc.todo.name})")
response = await self._rc.todo.run(self._rc.memory.get(k=0))
if isinstance(response, (ActionOutput, ActionNode)):